CreditsRequestResponse
Discriminated on `mode`. minted: the key exists now and `agent_token` + `bundle` are surfaced ONCE, here. queued: an operator approves; poll /api/credits/status?request_id and then POST /api/credits/pickup. existing: the member already holds a live member key (one per person); `usage` is its spend and POST /api/credits/regenerate is how to get a fresh key.
Properties
| Name | Type | Description |
|---|---|---|
| ok | boolean | |
| mode | string | |
| request_id | string | The request that minted or queued (absent on some `existing` answers). |
| token_prefix | string | The key's prefix (minted / existing). Never the plaintext except in agent_token on a mint. |
| agent_token | string | minted only: the plaintext key, surfaced EXACTLY ONCE. |
| bundle | object | minted only: ready-to-paste Claude Code (copy_paste) and OpenAI-compatible (copy_paste_openai) configuration. |
| proxy | object | minted only: the key's limits block (kind, models, default_model, budget, expiry). No secret. |
| status | string | queued only. |
| budget_usd | number | queued only: the budget the request asks for. |
| usage | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://artifacts.apis.io/immersivecommons-com/json-schema/immersivecommons-com-credits-request-response-schema.json",
"title": "CreditsRequestResponse",
"description": "Discriminated on `mode`. minted: the key exists now and `agent_token` + `bundle` are surfaced ONCE, here. queued: an operator approves; poll /api/credits/status?request_id and then POST /api/credits/pickup. existing: the member already holds a live member key (one per person); `usage` is its spend and POST /api/credits/regenerate is how to get a fresh key.",
"x-generated": "2026-11-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/immersivecommons-com-openapi.json#/components/schemas/CreditsRequestResponse",
"type": "object",
"required": [
"ok",
"mode"
],
"properties": {
"ok": {
"type": "boolean"
},
"mode": {
"type": "string",
"enum": [
"minted",
"queued",
"existing"
]
},
"request_id": {
"type": "string",
"description": "The request that minted or queued (absent on some `existing` answers)."
},
"token_prefix": {
"type": "string",
"description": "The key's prefix (minted / existing). Never the plaintext except in agent_token on a mint."
},
"agent_token": {
"type": "string",
"description": "minted only: the plaintext key, surfaced EXACTLY ONCE."
},
"bundle": {
"type": "object",
"additionalProperties": true,
"description": "minted only: ready-to-paste Claude Code (copy_paste) and OpenAI-compatible (copy_paste_openai) configuration."
},
"proxy": {
"type": "object",
"additionalProperties": true,
"description": "minted only: the key's limits block (kind, models, default_model, budget, expiry). No secret."
},
"status": {
"type": "string",
"enum": [
"pending"
],
"description": "queued only."
},
"budget_usd": {
"type": "number",
"description": "queued only: the budget the request asks for."
},
"usage": {
"$ref": "#/$defs/CreditsStatus"
}
},
"$defs": {
"CreditsStatus": {
"type": "object",
"required": [
"has_key"
],
"description": "The member's IC Credits console state.",
"properties": {
"has_key": {
"type": "boolean",
"description": "Whether a live member key exists."
},
"token_prefix": {
"type": "string"
},
"kind": {
"type": "string"
},
"budget_usd": {
"type": [
"number",
"null"
]
},
"budget_used_usd": {
"type": "number"
},
"budget_remaining_usd": {
"type": [
"number",
"null"
]
},
"budget_period": {
"type": [
"string",
"null"
],
"enum": [
"month",
"lifetime",
null
]
},
"budget_resets": {
"type": [
"string",
"null"
]
},
"by_model": {
"type": "array",
"items": {
"type": "object",
"properties": {
"model": {
"type": "string"
},
"provider": {
"type": "string"
},
"tokens": {
"type": "integer"
}
}
}
},
"default_model": {
"type": "string"
},
"pending_request": {
"type": "object",
"description": "A member request waiting for an operator, when one exists.",
"properties": {
"request_id": {
"type": "string"
},
"budget_usd": {
"type": "number"
},
"created_at": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/immersivecommons-com-credits-request-response"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.