Skip to main content
GET
Get a run

Authorizations

Authorization
string
header
required

Monid API key (Authorization: Bearer mk_...) or Clerk-issued JWT. Each operation lists the ONE scope an API key needs. {resource}:* grants every action on that resource; * grants everything; Clerk sessions hold *. Operations with an empty list need no scope. Scope catalog: GET /v1/api-keys/scopes.

Headers

X-Monid-Agent-Model
string

Model driving the calling agent. Optional; a value that is empty, longer than 256 characters or not printable ASCII is ignored (never an error).

Maximum string length: 256
X-Monid-Agent-Harness
string

Agent harness or client making the call (e.g. a coding agent, an agent framework). Optional; a value that is empty, longer than 256 characters or not printable ASCII is ignored (never an error).

Maximum string length: 256
X-Monid-Agent-Session-Id
string

Caller-side session identifier, so the calls of one agent session (discover → inspect → run → polling) can be correlated. Optional; a value that is empty, longer than 256 characters or not printable ASCII is ignored (never an error).

Maximum string length: 256

Path Parameters

runId
string
required

Run identifier (ULID).

Example:

"01JGXYZABCDEFGHJKMNPQRSTVW"

Response

The run (with output when terminal)

runId
string
required

Run identifier (ULID).

Example:

"01JGXYZABCDEFGHJKMNPQRSTVW"

caller
string
required

The CREDENTIAL that made the call, as an actor id: API_KEY#<fingerprint> (an API key), X402#<address> (a wallet), RESOURCE#<id> (a webhook-initiated run), USER#<userId> (a session). The user behind it is owner.

Example:

"API_KEY#a1b2c3d4"

provider
string
required
endpoint
string
required
status
enum<string>
required

Run lifecycle status. Always one of the UPPERCASE enum values (e.g. COMPLETED, never completed) — compare case-sensitively. COMPLETED means the provider responded (any HTTP status); FAILED means an infrastructure failure.

Available options:
READY,
RUNNING,
STOPPING,
COMPLETED,
FAILED,
BLOCKED,
STOPPED,
TIMED_OUT
input
object
required

Composite endpoint input — body + URL query + URL path. All sub-fields optional.

price
object
required

User-facing price (markup applied).

createdAt
string<date-time>
required
owner
string

User id the run belongs to (billed / attributed). Absent for wallet (x402) and resource-initiated runs, which have no user.

Example:

"user_2abc"

providerName
string
stoppable
boolean
reason
string
controls
object[]
output
any

Provider output data (terminal runs only; may be null). Endpoints that generate FILES (e.g. audio) surface each file INSIDE output as an artifact object under a stable key: { download_link (fresh signed URL, valid until link_expires_at — re-fetch the run for a new one), content_type, link_expires_at, file_expires_at? }. After the file's retention lapses the object becomes { expired: true, file_expired_at, message }.

providerResponse
object
cost
object
resultCount
number
Required range: x >= 0
billedUnits
number
Required range: x >= 0
resources
object[]
startedAt
string<date-time>
completedAt
string<date-time>
hints
object