The API Keys endpoints let you manage programmatic access tokens for the Shipfastai API. API keys can be used as an alternative to JWT Bearer tokens for authenticating requests to AI and RAG endpoints. All key management operations require JWT authentication — you cannot use an API key to manage other API keys.Documentation Index
Fetch the complete documentation index at: https://docs.shipfastai.dev/llms.txt
Use this file to discover all available pages before exploring further.
API key management is available on Pro and Enterprise plans only. All endpoints are mounted under
/api/api-keys/.POST /api/api-keys
Create a new API key. The plaintext key is returned only once in the response. Store it securely — it cannot be retrieved again after creation. Headers:Bearer <access_token> — JWT authentication only.A descriptive name for the API key (e.g.,
"Production server", "CI pipeline").Optional ISO 8601 expiration timestamp. If omitted, the key does not expire.
201 Created) — ApiKeyCreated:
UUID of the API key.
The name you assigned to the key.
The first 12 characters of the key, used for identification in listings.
The full plaintext API key. This is the only time the full key is returned. Store it securely.
Whether the key is active.
true on creation.ISO 8601 timestamp of when the key was created.
ISO 8601 timestamp of last usage.
null for a newly created key.ISO 8601 expiration timestamp, or
null if the key does not expire.GET /api/api-keys
List all API keys for the authenticated user, ordered by creation date (newest first). The full key value is never included — only the prefix is shown for identification. Headers:Bearer <access_token> — JWT authentication only.ApiKeyResponse:
UUID of the API key.
The name assigned to the key.
The first 12 characters of the key.
Whether the key is active. Revoked keys have
is_active: false.ISO 8601 creation timestamp.
ISO 8601 timestamp of last usage, or
null.ISO 8601 expiration timestamp, or
null.DELETE /api/api-keys/
Revoke an API key. This is a soft delete — the key is marked as inactive and can no longer be used for authentication. The key record is retained for audit purposes. Path parameters:The UUID of the API key to revoke.
Bearer <access_token> — JWT authentication only.404 if the key does not exist or does not belong to the authenticated user.
PATCH /api/api-keys/
Update an API key’s display name. Path parameters:The UUID of the API key to update.
Bearer <access_token> — JWT authentication only.The new name for the API key.
ApiKeyResponse with updated fields:
404 if the key does not exist or does not belong to the authenticated user.
Using API keys for authentication
Once you have a key, pass it in theAuthorization header as a Bearer token, the same way you pass a JWT: