Receipts
Read the exact usage, rates, cost, and serving revision for an inference request.
GET /v1/receipts/{request_id}
Authorization
Authorizationheader · string- Bearer $BOARDWALK_API_KEY. Requires requests:read or inference:write.
Request
import json
from urllib.request import Request, urlopen
request = Request(
"https://api.boardwalk.cloud/v1/receipts/req_example",
headers={"Authorization": "Bearer your-api-key"},
)
with urlopen(request, timeout=240) as response:
print(json.load(response))Path parameters
request_idpath · stringrequired- Value from the inference response’s x-request-id header.
Response
Example response. IDs, token counts, and rates are illustrative.
{
"request_id": "req_example",
"model": "Qwen/Qwen3-8B",
"hf_revision": "0123456789abcdef0123456789abcdef01234567",
"config_revision": "cfg_example",
"engine_version": "example",
"verification": null,
"endpoint": "/v1/chat/completions",
"usage": {
"input_tokens": 100,
"output_tokens": 20,
"cache_read_tokens": 0,
"cache_write_tokens": 0
},
"prices": {
"input_micros_per_mtok": "100000",
"output_micros_per_mtok": "300000",
"cache_read_micros_per_mtok": "50000",
"cache_write_micros_per_mtok": "0"
},
"cost_micros": "16",
"ttft_ms": 120,
"latency_ms": 450,
"finish_reason": "stop",
"status_code": 200,
"streamed": false,
"created_at": "2026-09-16T00:00:00.000Z"
}request_idstring- Identifier from the x-request-id response header.
modelstring- Requested model.
hf_revisionstring- Served weight commit.
config_revisionstring- Serving configuration revision, when available.
base_hf_revisionstring- Base model commit, when the request ran on an adapter.
adapter_hf_revisionstring- Adapter commit, when applicable.
adapter_content_hashstring- Adapter content identity, when applicable.
engine_versionstring- Engine version that served the request.
verificationobject | null- Qualification evidence for this serving configuration.
Child fields
checksobject[]- Qualification checks recorded for this configuration.
Child fields
namestring- Check name.
passedboolean- Whether the check passed.
detailstring- Additional check details. Omitted when unavailable.
outputFingerprintsobject[]- Hashes of fixed qualification completions. Omitted when unavailable.
Child fields
promptstring- Qualification prompt identifier.
sha256string- SHA-256 hash of the completion.
fingerprintCardstring | null- GPU model used for output fingerprints, when known. Omitted when unavailable.
endpointstring- Inference endpoint called.
usageobject- Billable token categories.
Child fields
input_tokensinteger- Uncached input tokens.
output_tokensinteger- Output tokens, including reasoning.
cache_read_tokensinteger | null- Cache reads; null means not reported.
cache_write_tokensinteger | null- Cache writes; null means not reported.
pricesobject- Rates applied to this request.
Child fields
input_micros_per_mtokstring- Uncached input rate. Integer micro-dollars per million tokens.
output_micros_per_mtokstring- Output rate. Integer micro-dollars per million tokens.
cache_read_micros_per_mtokstring- Cache-read rate. Integer micro-dollars per million tokens.
cache_write_micros_per_mtokstring- Cache-write rate. Integer micro-dollars per million tokens.
notestring- Explanation of unavailable cache metering, when applicable.
cost_microsstring- Total cost in integer micro-dollars. Divide by 1,000,000 for USD.
ttft_msnumber | null- Time to first token in milliseconds, when measured.
latency_msnumber- Total request latency in milliseconds.
finish_reasonstring | null- Engine finish reason, when available.
status_codeinteger- HTTP outcome recorded for the request.
streamedboolean- Whether streaming was requested.
gpuobject- Your deployments only: the card time that paid for the request. One interval pays for every request that ran in it.
Child fields
grant_idstring- The visit that held the cards.
interval_seqinteger- The interval within that visit.
wait_msinteger | null- Time the request waited for a card. Never billed.
floorboolean- True when every settled billing segment is reserved. False can mean mixed coverage or an unsettled interval; inspect billing_segments.
cardsinteger- Cards the replica holds.
rate_micros_per_gpu_hourstring- Rate per card-hour, fixed when the cards were granted. Integer micro-dollars.
intervalobject | null- The billed interval. Null until the host reports it.
Child fields
opened_atstring- ISO 8601 start.
closed_atstring | null- ISO 8601 end. Null while open.
cold_start_msinteger | null- The swap: installing your copy on the cards.
serving_msinteger | null- Time serving requests.
hold_msinteger | null- Idle time held after the last request.
billed_msinteger | null- Total billed time.
billing_segmentsobject[] | null- Settled per-card coverage. Each segment has startAt and endAt (epoch milliseconds), cards (indices), floorPlacementId (null for on-demand time), rateRevisionId, rateMicrosPerGpuHour, and costMicros. Money fields are decimal strings. Segment costs sum to the interval cost; null means unsettled.
cost_microsstring | null- Cost of the interval in integer micro-dollars.
created_atstring- Request timestamp in ISO 8601 format.
Availability
A receipt is written after a request reaches a card, including failures and disconnects. Requests refused before reaching a card have no receipt. A lookup can briefly return 404 before the record is available.
The example is a catalog model at illustrative rates. A receipt for a model you deploy records its token counts at zero rates and adds a gpu block: the card time that paid for it (see GPU time).
Hugging Face billing
Provider integrations can read settled costs with POST /v1/huggingface/billing. Requires requests:read or inference:write. Send requestIds: 1–10,000 nonempty strings, each at most 40 characters.
import json
from urllib.request import Request, urlopen
request = Request(
"https://api.boardwalk.cloud/v1/huggingface/billing",
data=json.dumps({
"requestIds": [
"req_example"
]
}).encode("utf-8"),
headers={"Authorization": "Bearer your-api-key", "Content-Type": "application/json"},
)
with urlopen(request, timeout=240) as response:
print(json.load(response))Returns {"requests":[{"requestId":"req_example","costNanoUsd":16000}]}. Costs here are integer nano-dollars (10⁻⁹ USD), unlike receipt micro-dollar strings. Duplicate IDs are collapsed; unknown, unsettled, or inaccessible requests are omitted.
Errors
Errors use the shared error format. Save the x-request-id response header for receipts and support.