Documentation

Retrieve a Run

Read an original Run and its currently deliverable result without another purchase.

View as Markdown
On this page

Endpoint

Retrieval returns HTTP 200 with the current Run, including pending states. Use status and pollAfterMs to decide when to read again; HTTP 200 alone does not mean execution succeeded.

Read result.output only when result.status is available. Available results include output, which may be null, and deliveryUntil; file-capable tools may also return artifacts. Expired and unavailable results do not contain deliverable output.

billing carries heldMicros, chargedMicros and refundedMicros. A timeout, cancellation request or expired file is not enough to infer the final charge.

HTTP
GET /v1/runs/{runId}

Parameters

NameLocationTypeRequiredConstraints
runIdpathstringRequired—

Request example

Set PURRKEY_API_KEY in your trusted server or terminal environment. Replace any angle-bracket placeholders with values from your own inspection or Run.

Bash
curl --fail-with-body --request GET 'https://api.purrkey.app/v1/runs/<runId>' \
  -H "Authorization: Bearer $PURRKEY_API_KEY"

Successful response

Success HTTP status: 200. Top-level response fields are listed below. Conditional and nested requirements are defined in the downloadable OpenAPI contract.

FieldTypeRequiredConstraints
runIdstringRequired—
toolIdstringRequired—
toolRevisionstringRequired—
toolNamestringOptional / conditional—
statusstringRequiredQUEUED | SUBMITTING | RUNNING | WAITING_PROVIDER | SUCCEEDED | FAILED | CANCELED | TIMED_OUT | UNKNOWN
billingobjectRequired—
createdAtstringRequireddate-time
updatedAtstringRequireddate-time
cancelRequestedAtstringOptional / conditionaldate-time
paymentobjectOptional / conditional—
inputJSON valueOptional / conditional—
resultobjectRequired—
errorobjectOptional / conditional—
pollAfterMsintegerOptional / conditionalint32; Minimum: 0

Errors and related reading