Skip to content

Read what a run has spent and holds

GET
/katara/v1/orgs/{org_id}/environments/{environment_id}/runs/{id}/charges
curl --request GET \
--url https://api.katara.com/katara/v1/orgs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/environments/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/runs/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/charges \
--header 'Authorization: Bearer <token>'

Requires run read access and billing read access. Spent is what the run’s reservations charged, and held is what they still hold, including a reservation awaiting reconciliation: each step’s, the run’s model calls, recalls and ingestions. A child run spends from its own allocation, which is its maximum; any other run’s maximum is its budget’s limit, shared with the budget’s other runs, and maximum_scope says which.

org_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
environment_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
X-Katara-Account-ID
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/

Optional for reads after sign-in. Use the UUID of the account that loaded the application. A different current cookie account returns account_changed before the handler runs. Session bearer and API key clients do not require this header.

Successful request

Media typeapplication/json
object
run_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
budget_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
spent
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
held
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
maximum
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
maximum_scope
required
Allowed values: run budget
wallet
object
network
required
Allowed values: live test
wallet
required
string
/^0x[0-9a-f]{40}$/
chain_id
required
integer
>= 1
stopped_for_payment
required
boolean
batches
required
Array<object>
object
batch_id
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
state
required
Allowed values: unbatched submitting settled failed
run_amount
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
batch_amount
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
tx_hash
string
/^0x[0-9a-f]{64}$/
settled_at
string format: date-time
failure
string
<= 200 characters
x402

A run paid with x402: the wallet that paid, the organization and key that started the run, what was signed for and what was collected.

object
payer
required
string
/^0x[0-9a-f]{40}$/
org_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
key_id
required
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
network
required
Allowed values: live test
chain_id
required
integer
>= 1
scheme
required
Allowed values: exact upto
maximum
required
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
collected
object
ledger_kind
required
Allowed values: simulation testnet real
asset
required
Allowed values: USD_MICRO CREDIT_ATOMIC USDC_ATOMIC
amount
required
string
/^(0|[1-9][0-9]{0,37})$/
scale
required
Allowed values: 6 9
chain_id
Allowed values: 0 43113 43114
token
string
/^0x[0-9a-f]{40}$/
state
required
Allowed values: open settling settled failed
tx_hash
string
/^0x[0-9a-f]{64}$/
deadline
required
string format: date-time
settled_at
string format: date-time
failure
string
<= 200 characters
wallet_held_until

While a failed settlement holds the paying wallet, when it may pay again.

string format: date-time
Example
{
"spent": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"held": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"maximum": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"maximum_scope": "run",
"wallet": {
"network": "live",
"batches": [
{
"state": "unbatched",
"run_amount": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"batch_amount": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
}
}
]
},
"x402": {
"network": "live",
"scheme": "exact",
"maximum": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"collected": {
"ledger_kind": "simulation",
"asset": "USD_MICRO",
"scale": 6,
"chain_id": 0
},
"state": "open"
}
}

Account_changed: reload and review with the signed-in account.

Request error

Media typeapplication/json
object
error
required
object
message
required
string
>= 1 characters <= 500 characters
type
required
string
>= 1 characters <= 100 characters
code
required

Stable; branch on it. Any operation can answer invalid_request, with param naming the refused field when there is one; human_session_required, when an API key, service account or workload calls an operation only a signed-in person may perform; reauthentication_required, when a person’s sign-in is too old for the operation; permission_denied; route_not_found and method_not_allowed, when no operation matches the path or method; and feature_unavailable, when the operation’s service is not enabled on this deployment.

string
>= 1 characters <= 100 characters
param
required

The request field a refusal is about, such as the agent_id or run_id query parameter; null when the refusal is not about one field.

string | null
request_id
required
string
>= 1 characters <= 100 characters
upstream_status
required
integer | null
action
Allowed values: sign_in reauthenticate request_access review fund retry reconcile refresh support
operation_id
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
snapshot_ref
string format: uuid
/^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}$/
Allowed value: 00000000-0000-0000-0000-000000000000
Example
{
"error": {
"action": "sign_in"
}
}