Every request to the Semji API must include a valid API key in theDocumentation Index
Fetch the complete documentation index at: https://developers.semji.com/llms.txt
Use this file to discover all available pages before exploring further.
Authorization header. The API uses HTTP Bearer authentication — there are no sessions, cookies, or OAuth flows. This page explains how to generate a key, attach it to requests, and handle authentication errors.
Generating an API key
API keys are created in the Semji app. Go to Settings > Organization > API Keys and click Create API Key. Give the key a descriptive name (for example, the name of the integration or tool that will use it) so you can identify and revoke it later. Each key:- Begins with
sk_ - Is scoped to the user and organization that created it — it has the same permissions as that user
- Is shown only once at creation time; copy and store it securely before closing the dialog
Sending the API key
Include the key in theAuthorization header of every request:
Bearer sk_ exactly. Any other format — including a bare token without Bearer, or a key that doesn’t start with sk_ — will be rejected with 401 Unauthorized.
Verifying your key
CallGET /v1/me to confirm your key is valid and inspect the associated user and organization:
cURL
200 OK
Authentication errors
401 Unauthorized
Returned when theAuthorization header is missing, malformed, or contains an invalid or revoked key.
401 Unauthorized
- The header name is
Authorization(capitalized correctly) - The value starts with
Bearer(note the trailing space) followed by your full key - The key starts with
sk_and has not been revoked - You’re not accidentally including extra whitespace or newline characters
403 Forbidden
Returned when your key is valid but the authenticated user does not have permission to access the requested resource. This happens if, for example, you request a workspace that your user is not a member of.403 Forbidden
403 is not a key problem — the key itself is recognized. You need to use a key belonging to a user with access to the resource, or ask a workspace admin to grant your user the required permissions.