Skip to content

List recent jobs for the current org.

GET
/v1/jobs
curl --request GET \
--url 'https://api.adversarial.com/api/v1/jobs?age_days=7&order_by=created_at&page=1&page_size=50'
name
Array<string>
Allowed values: RiskIntegrationImporter IncidentIntegrationImporter RiskScoringWorker IncidentScoringWorker ReportGeneration

Filter by job type. Repeatable. An unrecognized value is rejected with 422.

status
Array<string>
Allowed values: queued processing completed failed cancelled

Filter by lifecycle status. Repeatable.

integration_type
string | null

Filter to jobs for a single integration, by name (e.g. Bugcrowd).

age_days
integer format: int64
default: 7 >= 1 <= 30

Only return jobs created within the last N days. Defaults to 7, max 30.

order_by

Sort key for the jobs list. Always descending (newest first), with id DESC as the tiebreaker so pagination is stable across rows sharing a timestamp.

string
Allowed values: created_at updated_at

Sort key; always newest-first (id tiebreak). Defaults to updated_at so re-runs and fresh completions surface at the top.

page
integer format: int64
default: 1 >= 1 <= 1000000

1-indexed page number. Defaults to 1; zero is rejected.

page_size
integer format: int64
default: 50 >= 1 <= 100

Rows per page. Defaults to 50, max 100; zero is rejected.

Paginated list of jobs for the current org

Media typeapplication/json

Paginated list envelope: { "results": [...], "pagination": {...} }.

object
pagination
required

Pagination metadata describing the slice.

object
page
required

1-indexed page number of this result slice.

integer format: int64
page_size
required

Number of items requested per page.

integer format: int64
total_items
required

Total number of matching items across all pages.

integer format: int64
total_pages
required

Total number of pages at this page size.

integer format: int64
results
required

The items on this page.

Array<object>

A single background job.

object
created_at
required
string format: date-time
duration_seconds

How long the job took, in seconds, from when it was enqueued (created_at) to when it reached its final state (updated_at). Absent while the job is still in flight. Includes time spent waiting in the queue.

integer | null format: int64
error_message

Why the job failed. Absent unless the status is failed.

string | null
id
required

Job ID, assigned when the job was enqueued.

string
integration_type

The integration this job belongs to, when it is integration work.

string | null
name
required

The kind of work this job performs (e.g. RiskIntegrationImporter).

string
run_at
required

When the job became — or becomes — eligible to run: the enqueue time for an immediate job, a future instant for a scheduled one. For a recurring job this advances to the next scheduled run once it completes. It is not the time the job started or finished, so it should not be used to measure how long the job took; read duration_seconds for that.

string format: date-time
status
required

The lifecycle status of a background job.

string
Allowed values: queued processing completed failed cancelled
updated_at
required
string format: date-time
Example
{
"results": [
{
"status": "queued"
}
]
}