Skip to content

List issue groups

GET
/v1/issues/groups
curl --request GET \
--url 'https://api.devsecure.io/v1/issues/groups?limit=50&latest_only=true' \
--header 'Authorization: Bearer <token>'

Issues grouped by scanner and vulnerability (CVE, else CWE, else title), most severe first. List a group’s issues with GET /v1/issues?group_id=.... Filters apply to the issues before grouping; without a status filter only groups with open issues are returned.

limit
Limit

Page size (1-200).

integer
default: 50 >= 1 <= 200

Page size (1-200).

cursor
Any of:
string
<= 1024 characters

Opaque cursor from the previous page.

severity
Severity
Array<string>
default:
Allowed values: critical high medium low info
status
Status
Array<string>
default:
Allowed values: open resolved snoozed false_positive accepted_risk
scan_type
Scan Type
Array<string>
default:
Allowed values: code upload dast container pentest cms other
scanner
Scanner

Scanner tool name, e.g. semgrep.

Array<string>
default: <= 10 items

Scanner tool name, e.g. semgrep.

scan_id
Any of:
string
<= 20 characters
repository_id
Any of:
string
<= 64 characters
group_id
Any of:
string
<= 64 characters
cwe
Any of:
integer
>= 1 <= 100000
cve
Any of:
string
<= 50 characters
q
Any of:
string
>= 1 characters <= 100 characters

Case-insensitive title contains.

created_after
Any of:
string format: date-time

Inclusive, ISO 8601.

created_before
Any of:
string format: date-time

Exclusive, ISO 8601.

latest_only
Latest Only

Only issues from the latest scan of each repository or target, as in the dashboard.

boolean
default: true

Only issues from the latest scan of each repository or target, as in the dashboard.

OK.

Media typeapplication/json
IssueGroupList
object
data
required
Data
Array<object>
IssueGroup
object
id
required
Id
string
title
required
Title
string
severity
required
Severity

Highest severity among the group’s issues.

string
Allowed values: critical high medium low info
scanner
Any of:
string
cwe
Any of:
integer
cve
Any of:
string
open_count
required
Open Count
integer
total_count
required
Total Count
integer
repository_count
required
Repository Count
integer
first_seen_at
Any of:
string
last_seen_at
Any of:
string
pagination
required
PageInfo
object
next_cursor
required
Any of:
string
has_more
required
Has More
boolean
Example
{
"data": [
{
"id": "grp_6b1d0c9e8f7a6b5c4d3e2f1a",
"severity": "critical"
}
]
}
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.

X-Has-Next-Page
string
Allowed values: true false

Whether another page follows.

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.

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.