Passing Your API Key
Pass your key in thex-api-key request header on every request. This is the only supported authentication method — Feather does not accept Bearer tokens, session cookies, or OAuth credentials.
Creating an API Key
CallPOST /v1/identity/api-keys to create a new key. You can optionally assign a list of permission scopes and an expiry date.
Send the creation request
POST to
/v1/identity/api-keys with a JSON body that includes a human-readable name. Add scopes and expires_at if needed.Request Body Fields
A human-readable label for the key. Useful for identifying which application or team member owns it.
An optional list of permission scopes that limit what the key can do. Omitting this field grants the key all permissions available to your organization role.
An optional expiry timestamp in ISO 8601 format (e.g.
2026-01-01T00:00:00Z). The key becomes inactive after this time. Omit to create a non-expiring key.API Key Response Schema
Unique identifier for the API key. Use this to list or revoke the key later.
The human-readable label you provided at creation.
The full secret key value. Present only in the creation response. Store it immediately — Feather will never return it again.
The first few characters of the key (e.g.
fth_live_4T8z). Shown in listing endpoints so you can identify which key is which without exposing the full secret.The permission scopes assigned to this key.
true while the key is usable. Becomes false after the key is revoked or its expires_at time has passed.The timestamp of the most recent authenticated request made with this key.
null if the key has never been used.The expiry time you set at creation, or
null if the key has no expiry.The timestamp when the key was created.
Listing and Revoking Keys
List All Keys
Retrieve all active API keys in your organization. The response includeskey_prefix so you can identify each key without exposing the full secret.
Response (200 OK)
Revoke a Key
Send aDELETE request with the key’s id to permanently revoke it. Revocation is immediate — any in-flight request using that key after this point will receive a 401 error.
204 No Content with an empty response body.
Error Responses
401 — Authentication Required
Returned when the API key is missing, malformed, revoked, or expired.401 Authentication Required
400 — Bad Request
Returned when the request body is missing required fields or contains an invalid value (for example, a malformedexpires_at timestamp).
400 Bad Request