API Keys
CheapestInference uses two categories of API keys:
- Consumption keys (
sk_xxx) — used for inference requests. Created via subscription payments or from your credit balance. - Management keys (
mk_xxx) — used for programmatic account management (create keys, check billing, etc.).
All key management endpoints accept either an auth token or a management key in the Authorization header:
Authorization: Bearer YOUR_AUTH_TOKEN# orAuthorization: Bearer mk_xxxxxxxxxxxxxxxxConsumption keys
Section titled “Consumption keys”Consumption keys are the keys you use with the Chat Completions and Anthropic Messages endpoints.
There are two types:
Subscription keys
Section titled “Subscription keys”Created automatically when you subscribe. Each payment = one key with 30-day access.
- Rate limits set by plan tier (Standard or Pro)
- Independent expiration per key
- When a key expires, only that key is revoked
Credit keys
Section titled “Credit keys”Created manually from the API Keys page or via API. All credit keys share your account’s credit balance.
- 60 RPM rate limit
- Usage deducted from your shared credit pool
- Never expire (as long as you have balance)
List consumption keys
Section titled “List consumption keys”GET /api/keysReturns all consumption keys (subscription + credit) for the authenticated user.
Example
Section titled “Example”curl https://api.cheapestinference.com/api/keys \ -H "Authorization: Bearer YOUR_AUTH_TOKEN"Response
Section titled “Response”[ { "id": "clx1abc...", "name": "prod-key", "keyPlan": "standard", "keyType": "subscription", "isActive": true, "subscriptionStatus": "active", "subscriptionExpiresAt": "2026-02-15T10:00:00.000Z", "createdAt": "2026-01-15T10:00:00.000Z" }, { "id": "clx2def...", "name": "mobile-app", "keyPlan": "credits", "keyType": "credit", "isActive": true, "createdAt": "2026-01-20T14:30:00.000Z" }]The
apiKeyfield is never returned in list responses.
Create credit key
Section titled “Create credit key”POST /api/keys/creditCreates a new credit key that shares your account’s credit balance. Requires a credit balance > 0.
Request body
Section titled “Request body”| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | A label for the key (e.g. “mobile-app”) |
Example
Section titled “Example”curl -X POST https://api.cheapestinference.com/api/keys/credit \ -H "Authorization: Bearer YOUR_AUTH_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "mobile-app"}'Response
Section titled “Response”{ "id": "clx3ghi...", "name": "mobile-app", "keyType": "credit", "apiKey": "sk_live_xxxxxxxxxxxxxxxx", "isActive": true, "createdAt": "2026-01-20T14:30:00.000Z"}Important: The
apiKeyvalue is only returned once — on creation. Copy it immediately.
Update key
Section titled “Update key”PUT /api/keys/:idUpdate a key’s name or active status. Deactivating a key immediately revokes it.
Request body
Section titled “Request body”| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | No | New name for the key |
isActive | boolean | No | false to deactivate, true to reactivate |
Example
Section titled “Example”curl -X PUT https://api.cheapestinference.com/api/keys/clx1abc... \ -H "Authorization: Bearer YOUR_AUTH_TOKEN" \ -H "Content-Type: application/json" \ -d '{"isActive": false}'Delete key
Section titled “Delete key”DELETE /api/keys/:idPermanently deletes a consumption key and revokes it.
Example
Section titled “Example”curl -X DELETE https://api.cheapestinference.com/api/keys/clx1abc... \ -H "Authorization: Bearer YOUR_AUTH_TOKEN"Response
Section titled “Response”{ "deleted": true}Management keys
Section titled “Management keys”Management keys (mk_xxx) let you manage your account programmatically without a session token. Use them in CI/CD pipelines, scripts, or automated workflows.
List management keys
Section titled “List management keys”GET /api/keys/managementExample
Section titled “Example”curl https://api.cheapestinference.com/api/keys/management \ -H "Authorization: Bearer YOUR_AUTH_TOKEN"Response
Section titled “Response”[ { "id": "uuid-here", "name": "ci-pipeline", "keyPrefix": "mk_a1b2c3d4", "isActive": true, "lastUsedAt": "2026-02-01T08:00:00.000Z", "createdAt": "2026-01-25T12:00:00.000Z" }]Create management key
Section titled “Create management key”POST /api/keys/management| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | A label for the key (e.g. “ci-pipeline”) |
Example
Section titled “Example”curl -X POST https://api.cheapestinference.com/api/keys/management \ -H "Authorization: Bearer YOUR_AUTH_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name": "ci-pipeline"}'Response
Section titled “Response”{ "id": "uuid-here", "name": "ci-pipeline", "keyPrefix": "mk_a1b2c3d4", "apiKey": "mk_a1b2c3d4e5f6g7h8i9j0..."}Important: The full management key is only returned once. Store it securely.
Delete management key
Section titled “Delete management key”DELETE /api/keys/management/:idcurl -X DELETE https://api.cheapestinference.com/api/keys/management/uuid-here \ -H "Authorization: Bearer YOUR_AUTH_TOKEN"Using management keys
Section titled “Using management keys”Once created, use a management key as a Bearer token to authenticate any /api/* endpoint:
# List your consumption keys using a management keycurl https://api.cheapestinference.com/api/keys \ -H "Authorization: Bearer mk_a1b2c3d4e5f6g7h8i9j0..."
# Check billing statuscurl https://api.cheapestinference.com/api/billing/status \ -H "Authorization: Bearer mk_a1b2c3d4e5f6g7h8i9j0..."
# Create a credit key programmaticallycurl -X POST https://api.cheapestinference.com/api/keys/credit \ -H "Authorization: Bearer mk_a1b2c3d4e5f6g7h8i9j0..." \ -H "Content-Type: application/json" \ -d '{"name": "auto-created"}'Management keys cannot be used for inference. Use consumption keys (
sk_xxx) for that.
Key lifecycle
Section titled “Key lifecycle”Subscription keys
Section titled “Subscription keys”Pay (Stripe/USDC) → Key created automatically → Use for 30 days → Key expires → Renew- Each subscription payment creates exactly one API key.
- The key has its own 30-day period and rate limits based on the plan tier.
- When a subscription key expires, only that specific key is revoked.
- You can have multiple active subscription keys from separate payments.
Credit keys
Section titled “Credit keys”Top up credits → Create credit key(s) → Use until balance runs out → Top up again- Top up your credit balance first (Billing page).
- Create one or more credit keys — they all share your account balance.
- Credit keys never expire; usage is deducted from your shared pool.
Rate limits
Section titled “Rate limits”| Type | RPM | TPM |
|---|---|---|
| Standard subscription | 60 | 3,333 |
| Pro subscription | 200 | 13,333 |
| Credit | 60 | — |