1. Issue an organization API key
After signing in as a partner admin, issue anorg_ key for your organization with POST /v1/api-keys. The session token below comes from the sign-in flow in Admin session tokens. On an administrator’s first sign-in, that flow enrols an authenticator and replaces the session token, so use the token it ends with. If the admin holds seats on more than one organization, set the active organization first (step 5 there) and check organization_id on the response.
raw_key, and that value is returned only once. It cannot be re-read from GET /v1/api-keys or a revoke response. Store it in your server-side secret store; if it is lost, revoke it and issue a replacement.
An organization can have at most 10 enabled org_ keys. When that cap is reached, another issue request returns 409; revoke an unused key before creating a new one.
There is no managed overlap window for replacement. Issue the new key, switch your service to it, then revoke the old key with DELETE /v1/api-keys/{keyId}. Revocation takes effect immediately.
2. Set up your environment
All examples in these docs target the nonprod environment:3. Make your first call
Create (or attach) a member of your organization:201 Created comes back with the full user record. Fields you did not send
are null, and with no dob the age band is unknown:
Idempotency-Key and the same body,
and you get the original response back exactly as it was first sent, including
its 201, instead of a duplicate. Retries are safe by design.
Conventions to know
- Wire format - JSON,
snake_casefield names. - Errors - every error shares one envelope:
codeis the stable contract;messagewording may change. - Idempotency - mutating endpoints that declare it accept an
Idempotency-Keyheader. Replaying the same key with the same body returns the original response; the same key with a different body is rejected with409 IDEMPOTENCY_CONFLICT.
Next steps
Authentication
The four credential types and when each applies.
Walkthrough: create a user
The full lifecycle: create, fetch, update, lock, remove.
Publish a private module
Issue credentials, publish an owned module, install it, and send an event.