Skip to content

API Overview

https://codecosts.com/api

In development: http://localhost:3016/api

Most endpoints require authentication. Include one of:

  • Clerk session: Automatic via __session cookie (browser requests)
  • API key: Authorization: Bearer sk_xxx (CLI / SDK)

The proxy endpoint (/proxy/:slug/v1/messages) uses your Anthropic API key directly — not a Codecosts API key.

All request bodies use JSON. Set Content-Type: application/json.

All responses return JSON. Successful responses return the resource directly. Errors return:

{
"error": "Human-readable error message",
"details": "Optional validation details"
}
CodeMeaning
200Success
201Created (POST /api/api-keys)
400Validation error (check details field)
401Not authenticated
404Resource not found
429Rate limited (check retryAfter field)
500Server error
ScopeLimit
Global (all endpoints)600 requests / minute per IP
Proxy /v1/messages300 requests / minute per proxy endpoint
Proxy /v1/messages/count_tokens600 requests / minute per proxy endpoint
MethodEndpointAuthDescription
POST/proxy/:slug/v1/messagesAnthropic keyProxy requests to Anthropic API — logs usage, cost, and bodies
POST/proxy/:slug/v1/messages/count_tokensAnthropic keyPassthrough to Anthropic token counter (no logging)
MethodEndpointAuthDescription
GET/api/proxy-endpointsYesList proxy endpoints (paginated)
POST/api/proxy-endpointsYesCreate proxy endpoint
DELETE/api/proxy-endpoints/:idYesDelete proxy endpoint
MethodEndpointAuthDescription
GET/api/usage/summaryYesAggregated usage stats (by model, by day)
GET/api/usageYesPaginated usage logs (filterable by model, date, endpoint)
GET/api/usage/:idYesSingle usage log detail with request/response bodies
MethodEndpointAuthDescription
GET/api/api-keysYesList API keys (paginated)
POST/api/api-keysYesCreate API key (full key returned once)
DELETE/api/api-keys/:idYesDelete API key
MethodEndpointAuthDescription
GET/api/profileYesGet current user profile
PUT/api/profileYesUpdate display name
MethodEndpointAuthDescription
GET/api/audit-logsYesPaginated action trail
GET/api/healthNoHealth check with DB latency