Skip to content

Get a scan

GET
/v1/scans/{scan_id}
curl --request GET \
--url https://api.devsecure.io/v1/scans/example \
--header 'Authorization: Bearer <token>'
scan_id
required
Scan Id
string

OK.

Media typeapplication/json
ScanDetail
object
id
required
Id
string
type
required
Type
string
Allowed values: code upload dast container pentest cms other
provider
Any of:
string
Allowed values: github gitlab bitbucket
title
Any of:
string
description
Any of:
string
status
required
Status
string
Allowed values: queued running completed failed unknown
error_code
Any of:
string
environment
Any of:
string
Allowed values: prod staging dev
repository
Any of:
ScanRepository
object
id
required
Id
string
provider
required
Provider
string
Allowed values: github gitlab bitbucket container
name
required
Name
string
target
Any of:
string
created_at
Any of:
string
updated_at
Any of:
string
completed_at
Any of:
string
issue_counts
required
SeverityCounts

Every issue the scan found, by severity.

object
critical
Critical
integer
0
high
High
integer
0
medium
Medium
integer
0
low
Low
integer
0
info
Info
integer
0
total
Total
integer
0
status_counts
required
IssueStatusCounts
object
open
Open
integer
0
resolved
Resolved
integer
0
snoozed
Snoozed
integer
0
false_positive
False Positive
integer
0
accepted_risk
Accepted Risk
integer
0
Example
{
"id": "1042",
"type": "code",
"provider": "github",
"title": "Nightly scan",
"status": "queued",
"environment": "prod",
"repository": {
"id": "repo_3f9a0c2d4b1e8f7a6c5d4e3f",
"provider": "github",
"name": "acme/payments-api"
},
"issue_counts": {
"critical": 0,
"high": 0,
"medium": 0,
"low": 0,
"info": 0,
"total": 0
},
"status_counts": {
"open": 0,
"resolved": 0,
"snoozed": 0,
"false_positive": 0,
"accepted_risk": 0
}
}
X-Request-ID
string

Identifies the request; quote it to support.

X-RateLimit-Limit
integer

Requests allowed per window.

X-RateLimit-Remaining
integer

Requests left in the window.

X-RateLimit-Reset
integer

Seconds until the window resets.

The request is not valid (validation_error, invalid_cursor).

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "validation_error",
"message": "The request is not valid.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

Identifies the request; quote it to support.

Missing, unknown, expired or revoked credential (invalid_credentials).

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "invalid_credentials",
"message": "The credential is missing, invalid, expired or revoked.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

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).

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "insufficient_scope",
"message": "The credential does not have the scope this operation needs.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

Identifies the request; quote it to support.

Not found in the credential’s workspace (not_found).

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "not_found",
"message": "Not found.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

Identifies the request; quote it to support.

Too many requests (rate_limited).

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "rate_limited",
"message": "Too many requests. Retry after the time in Retry-After.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

Identifies the request; quote it to support.

X-RateLimit-Limit
integer

Requests allowed per window.

X-RateLimit-Remaining
integer

Requests left in the window.

X-RateLimit-Reset
integer

Seconds until the window resets.

Retry-After
integer

Seconds to wait before retrying.

Unexpected error (internal_error). Quote the request id to support.

Media typeapplication/json
ErrorEnvelope
object
error
required
ErrorBody
object
code
required
Code
string
message
required
Message
string
request_id
required
Any of:
string
details
Any of:
Array<object>
ErrorDetail
object
field
Any of:
string
message
required
Message
string
Example
{
"error": {
"code": "internal_error",
"message": "Something went wrong on our side.",
"request_id": "req_3f0c2a9d5b6e4f7a8c1d2e3f4a5b6c7d"
}
}
X-Request-ID
string

Identifies the request; quote it to support.