Skip to main content
Piramyd uses two credential types: API keys for all inference and web intelligence endpoints, and JWTs for account management operations. You’ll use your API key in almost every request — the JWT is only needed when you’re programmatically reading or modifying your account. Both credential types are obtained from dash.piramyd.cloud.
There is no public account-registration API. Accounts are created through the onboarding flow at dash.piramyd.cloud — not via the API.

API Keys (Inference)

API keys are the primary credential for calling inference and web intelligence endpoints. Every key begins with sk-. Create and manage your keys in the API Keys section of the dashboard.

Passing your API key

Include your key in the Authorization header on every inference request:
The Anthropic-compatible messages endpoint (POST /v1/messages) also accepts the key in the x-api-key header — useful if you’re migrating an existing Anthropic client without changing its auth configuration:
Store your key in an environment variable (PIRAMYD_API_KEY) and never commit it to source control.

JWT (Account Management)

JWTs are required for account management endpoints — reading your profile, refreshing tokens, or deleting your account. You obtain a JWT by posting your credentials to POST /v1/auth/token.

Getting a JWT

Using a JWT

Pass the JWT in the Authorization header exactly as you would an API key:

Auth Endpoints


Request Tracing

Send an X-Request-ID header on any request and Piramyd will echo the same value in the response. Use any stable identifier — a UUID is a good choice. Persist the value in your logs so you can correlate a specific request with error reports or support tickets.
The response will include:

Error Codes

A 401 response means your API key or JWT is invalid or missing. A 402 response means you’ve hit a billing limit — add credits or upgrade your plan at dash.piramyd.cloud. A 403 response means the model or feature you’re requesting requires a higher subscription tier.
For 429 responses, the API returns a Retry-After header indicating how many seconds to wait before retrying. Use exponential backoff with a base of 1 second, a maximum of 8 seconds, and jitter.