Pricing
Retrieve model pricing data used for cost tracking and budget enforcement across agents
/api/models-catalogAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Response Body
application/json
curl -X GET "http://localhost:3013/api/models-catalog"{
"source": "live",
"updatedAt": 0,
"providers": {
"property1": {
"id": "string",
"name": "string",
"models": {
"property1": {
"id": "string",
"name": "string",
"cost": {
"input": 0,
"output": 0,
"cache_read": 0,
"cache_write": 0
},
"limit": {
"context": 0
},
"release_date": "string",
"status": "string",
"reasoning": true,
"reasoning_options": [
{
"type": "string",
"values": [
"string"
]
}
]
},
"property2": {
"id": "string",
"name": "string",
"cost": {
"input": 0,
"output": 0,
"cache_read": 0,
"cache_write": 0
},
"limit": {
"context": 0
},
"release_date": "string",
"status": "string",
"reasoning": true,
"reasoning_options": [
{
"type": "string",
"values": [
"string"
]
}
]
}
}
},
"property2": {
"id": "string",
"name": "string",
"models": {
"property1": {
"id": "string",
"name": "string",
"cost": {
"input": 0,
"output": 0,
"cache_read": 0,
"cache_write": 0
},
"limit": {
"context": 0
},
"release_date": "string",
"status": "string",
"reasoning": true,
"reasoning_options": [
{
"type": "string",
"values": [
"string"
]
}
]
},
"property2": {
"id": "string",
"name": "string",
"cost": {
"input": 0,
"output": 0,
"cache_read": 0,
"cache_write": 0
},
"limit": {
"context": 0
},
"release_date": "string",
"status": "string",
"reasoning": true,
"reasoning_options": [
{
"type": "string",
"values": [
"string"
]
}
]
}
}
}
}
}/api/models-catalog/harness-supportAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Query Parameters
Response Body
application/json
curl -X GET "http://localhost:3013/api/models-catalog/harness-support"{
"rows": [
{
"harness": "string",
"cliVersion": "string",
"modelId": "string",
"status": "ok",
"checkedAt": 0,
"error": "string"
}
]
}/api/models-catalog/harness-supportAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PUT "http://localhost:3013/api/models-catalog/harness-support" \ -H "Content-Type: application/json" \ -d '{ "harness": "string", "cliVersion": "string", "modelId": "string", "status": "ok" }'{
"harness": "string",
"cliVersion": "string",
"modelId": "string",
"status": "ok",
"checkedAt": 0,
"error": "string"
}{
"error": "string",
"property1": null,
"property2": null
}/api/models-catalog/overlayAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X DELETE "http://localhost:3013/api/models-catalog/overlay" \ -H "Content-Type: application/json" \ -d '{ "provider": "string", "modelId": "string" }'{
"deleted": true
}{
"error": "string",
"property1": null,
"property2": null
}/api/models-catalog/overlayAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X PUT "http://localhost:3013/api/models-catalog/overlay" \ -H "Content-Type: application/json" \ -d '{ "provider": "string", "modelId": "string", "reason": "string" }'{
"provider": "string",
"modelId": "string",
"name": "string",
"family": "string",
"releaseDate": "string",
"contextWindow": 0,
"maxOutput": 0,
"reasoning": true,
"reasoningOptions": [
{
"type": "string",
"values": [
"string"
]
}
],
"pricing": {
"input": 0,
"output": 0,
"cache_read": 0,
"cache_write": 0
},
"status": "string",
"reason": "string",
"verifiedBy": "string",
"expiresWhenUpstreamMatches": true,
"createdAt": 0,
"updatedAt": 0
}{
"error": "string",
"property1": null,
"property2": null
}/api/models-catalog/refreshAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
curl -X POST "http://localhost:3013/api/models-catalog/refresh" \ -H "Content-Type: application/json" \ -d '{}'{
"status": "updated",
"models": 0,
"added": [
"string"
],
"checkedAt": 0,
"retryAfterMs": 0,
"error": "string"
}{
"error": "string",
"property1": null,
"property2": null
}/api/models-catalog/tiersAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Response Body
application/json
curl -X GET "http://localhost:3013/api/models-catalog/tiers"{
"tiers": [
{
"provider": "claude",
"tier": "smol",
"key": "string",
"defaultValue": "string",
"configured": "string",
"source": "tier-config",
"resolvedModel": "string",
"alias": "string"
}
]
}/api/pricingAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Response Body
application/json
curl -X GET "http://localhost:3013/api/pricing"{
"rows": [
{
"provider": "claude",
"model": "string",
"tokenClass": "input",
"effectiveFrom": 0,
"pricePerMillionUsd": 0,
"createdAt": 0,
"lastUpdatedAt": 0
}
]
}/api/pricing/{provider}/{model}/{tokenClass}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
"claude" | "claude-managed" | "codex" | "pi" | "opencode" | "devin" | "gemini" | "acp" | "dsh" | "amp" | "cursor" | "grok" | "fx"1 <= length"input" | "cached_input" | "output" | "cache_write" | "cache_write_1h" | "web_search" | "runtime_hour" | "acu"Response Body
application/json
curl -X GET "http://localhost:3013/api/pricing/claude/string/input"{
"rows": [
{
"provider": "claude",
"model": "string",
"tokenClass": "input",
"effectiveFrom": 0,
"pricePerMillionUsd": 0,
"createdAt": 0,
"lastUpdatedAt": 0
}
]
}/api/pricing/{provider}/{model}/{tokenClass}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
"claude" | "claude-managed" | "codex" | "pi" | "opencode" | "devin" | "gemini" | "acp" | "dsh" | "amp" | "cursor" | "grok" | "fx"1 <= length"input" | "cached_input" | "output" | "cache_write" | "cache_write_1h" | "web_search" | "runtime_hour" | "acu"Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "http://localhost:3013/api/pricing/claude/string/input" \ -H "Content-Type: application/json" \ -d '{ "pricePerMillionUsd": 0 }'{
"provider": "claude",
"model": "string",
"tokenClass": "input",
"effectiveFrom": 0,
"pricePerMillionUsd": 0,
"createdAt": 0,
"lastUpdatedAt": 0
}{
"error": "string",
"property1": null,
"property2": null
}{
"error": "string",
"property1": null,
"property2": null
}/api/pricing/{provider}/{model}/{tokenClass}/{effectiveFrom}Authorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
"claude" | "claude-managed" | "codex" | "pi" | "opencode" | "devin" | "gemini" | "acp" | "dsh" | "amp" | "cursor" | "grok" | "fx"1 <= length"input" | "cached_input" | "output" | "cache_write" | "cache_write_1h" | "web_search" | "runtime_hour" | "acu"^\d+$Response Body
application/json
curl -X DELETE "http://localhost:3013/api/pricing/claude/string/input/string"{
"error": "string",
"property1": null,
"property2": null
}/api/pricing/{provider}/{model}/{tokenClass}/activeAuthorization
bearerAuth API key via Authorization: Bearer <API_KEY>
In: header
Path Parameters
"claude" | "claude-managed" | "codex" | "pi" | "opencode" | "devin" | "gemini" | "acp" | "dsh" | "amp" | "cursor" | "grok" | "fx"1 <= length"input" | "cached_input" | "output" | "cache_write" | "cache_write_1h" | "web_search" | "runtime_hour" | "acu"Response Body
application/json
application/json
curl -X GET "http://localhost:3013/api/pricing/claude/string/input/active"{
"provider": "claude",
"model": "string",
"tokenClass": "input",
"effectiveFrom": 0,
"pricePerMillionUsd": 0,
"createdAt": 0,
"lastUpdatedAt": 0
}{
"error": "string",
"property1": null,
"property2": null
}