Resolve an issue
const url = 'https://api.devsecure.io/v1/issues/example/resolve';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"reason":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.devsecure.io/v1/issues/example/resolve \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "reason": "example" }'Marks the issue resolved. Already resolved: no change. Accepted risks: 409.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Header Parameters
Section titled “Header Parameters”Makes the request safe to retry for 24 hours. Same key and same request: the first response is replayed. Same key, different request: 409 idempotency_conflict.
Request Body
Section titled “Request Body”Examplegenerated
{ "reason": "example"}Responses
Section titled “Responses”OK.
object
True when this issue recurred after being marked a false positive.
object
Example
{ "title": "SQL injection in query builder", "severity": "critical", "status": "open", "scanner": "semgrep", "cwe": 89, "cve": "CVE-2024-12345", "file_path": "app/db/query.py", "scan_type": "code", "repository": { "id": "repo_3f9a0c2d4b1e8f7a6c5d4e3f", "provider": "github", "name": "acme/payments-api" }, "cwe_id": "CWE-89"}Headers
Section titled “Headers”Identifies the request; quote it to support.
Requests allowed per window.
Requests left in the window.
Seconds until the window resets.
The request is not valid (validation_error, invalid_cursor).
object
Example
{ "error": { "code": "validation_error", "message": "The request is not valid.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
Missing, unknown, expired or revoked credential (invalid_credentials).
object
Example
{ "error": { "code": "invalid_credentials", "message": "The credential is missing, invalid, expired or revoked.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
The credential may not do this (insufficient_scope, permission_denied, plan_not_allowed, quota_exceeded, target_not_authorized).
object
Example
{ "error": { "code": "insufficient_scope", "message": "The credential does not have the scope this operation needs.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
Not found in the credential’s workspace (not_found).
object
Example
{ "error": { "code": "not_found", "message": "Not found.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
Conflicts with the current state or an earlier Idempotency-Key (conflict, idempotency_conflict).
object
Example
{ "error": { "code": "idempotency_conflict", "message": "This Idempotency-Key was already used for a different request.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
Too many requests (rate_limited).
object
Example
{ "error": { "code": "rate_limited", "message": "Too many requests. Retry after the time in Retry-After.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.
Requests allowed per window.
Requests left in the window.
Seconds until the window resets.
Seconds to wait before retrying.
Unexpected error (internal_error). Quote the request id to support.
object
Example
{ "error": { "code": "internal_error", "message": "Something went wrong on our side.", "request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d" }}Headers
Section titled “Headers”Identifies the request; quote it to support.