POST /v1/hf/billing
Hugging Face provider settlement batch lookup
HF's documented settlement protocol (verified 2026-08-21): a batch of request ids, answered with one entry per id with a known in-window cost. Dedicated channel-hf env key only — any other valid key is 403 channel_key_required. Idempotent on the append-only ledger. Unknown-yet ids are omitted (HF retries on its next run) and ids past the ~30-minute settlement horizon are omitted (HF has given up) — omission, not an error code, is this protocol's unknown/expired model. Nothing known → {"requests":null}. A malformed body is 400 invalid_json; an absent or non-array requestIds field is 400 invalid_param (house taxonomy, pre-existing codes). This URL is registered with HF at application.
Request
Request body fields for queryHfBillingBatch | Field | Type | Required | Description |
| requestIds | array of string | yes | The x-request-id values the gateway stamped on the routed requests. |
Responses
200 One entry per known in-window request id.
200 response fields for queryHfBillingBatch | Field | Type | Required | Description |
| requests | array of object | no | The JSON null literal (not []) when no id is answerable. |
400 400
400 response fields for queryHfBillingBatch | Field | Type | Required | Description |
| error | object | yes | — |
401 401
401 response fields for queryHfBillingBatch | Field | Type | Required | Description |
| error | object | yes | — |
403 403
403 response fields for queryHfBillingBatch | Field | Type | Required | Description |
| error | object | yes | — |
500 500
500 response fields for queryHfBillingBatch | Field | Type | Required | Description |
| error | object | yes | — |
Example
curl -X POST https://api.ironstratum.com/v1/hf/billing \
-H "Authorization: Bearer $IRONSTRATUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{"requestIds":["<requestIds>"]}'
All operations ·
interactive reference ·
openapi.yaml