Skip to main content
GET
Get a visibility run

Authorizations

Authorization
string
header
required

A workspace API key issued in Settings → Developer, sent as Bearer sk_….

Path Parameters

runId
string<uuid>
required

Response

The run.

id
string
required
trigger
string
required

scheduler for the scheduled scan, real_user_manual_scan for a scan run now (dashboard or API), bootstrap for the first scan.

status
string
required

queued, running, retry_scheduled, finishing, success, partial_success, failed, blocked, cancelled or skipped. finishing: every task is queued but answers.pending answers are still being collected; the status becomes final (and finishedAt is set) once none is pending. A finished run that asked nothing itself (an earlier scan today already covered its prompts) is skipped; one that recorded no answer is failed. reason says why.

storedStatus
string
required

The status the scan pipeline stored, before status was derived from the answers.

reason
object | null
required

Why the run ended this way; null while running and for a clean success.

createdAt
string<date-time>
required
startedAt
string<date-time> | null
required
finishedAt
string<date-time> | null
required

When every answer settled; null while running or finishing.

storedFinishedAt
string<date-time> | null
required

When the scan pipeline marked the run finished (its tasks queued), which can be before the last answer lands.

errorCode
string | null
required
answers
object
required
expectedTotal
integer | null
required

Prompt and platform pairs the run will ask, known up front: tracked prompts in scope times platforms. answers.total grows toward it while queuing is true, so use this for progress, not answers.total.

queuing
boolean
required

True while the run is still queuing its tasks; answers.total is not final until it is false.

platforms
object[]
required

The same counts per platform, with the failure rate and error codes.

collection
object
required

The collector's tasks for the run: settled tasks have an outcome, completed ones an answer.