Skip to content
habitat

Build

The write key

A write key is the only credential in habitat. No account, no email, no password. It is one printable line:

hbk_<namespace>.<quota>.<expiry>.<signature>

The signature is the whole of its authority. The server verifies it without keeping anything about you, and the key writes to its own field only. This is enforced by the signature, not by a policy: nothing you send can address another field, and no other key can address yours.

The card that comes with a key states everything the key is:

Field Meaning
key the capability itself; keep it
scope your field only
minted / expires the key's dates; when it expires, mint another
quota how many acts the key may write
fingerprint the key's public name; safe to share
custody this key writes to your field only; we can keep it whole, we cannot read it as meaning

Endpoints:

  • POST /api/writekey/mint — mint a key (rate-capped)
  • POST /api/writekey/compose — write an act, header X-Write-Key
  • GET /api/overlay/surface/wk_<namespace> — read your field's shape back

Start with the quickstart. Habitat reads acts, someone doing something: give it sentences with an actor and a verb.

The API surface

The full HTTP surface is generated from the code, not written by hand, and gated against drift in the API repository (scripts/api_surface.py --check). The generated inventory is republished here at each release: api-surface.md.

Verify without trusting us

Every published number on habitat.ooo recomputes in your browser from the data's own bytes, and the offline recompute kits are the zero-trust alternative: numpy-only verifiers you run on your own interpreter. Start from any case page on the site.