Skip to main content

Base URL

https://api.ezforge.ai/v1

Authentication

All API endpoints require a Bearer token:
Authorization: Bearer ezf_live_<your-api-key>
See Authentication for how to create API keys and manage scopes.

Request format

  • Content-Type: application/json
  • All request bodies must be valid JSON

Response format

All responses follow a consistent envelope:
{
  "data": { ... },
  "meta": {
    "cursor": "eyJpZCI6IjEyMyJ9",
    "hasMore": true,
    "total": 42
  }
}
The meta field is only present on list endpoints.

Pagination

List endpoints use cursor-based pagination:
GET /v1/projects?limit=20&cursor=eyJpZCI6IjEyMyJ9
Parameters:
ParameterTypeDefaultDescription
limitinteger20Max items to return (1–100)
cursorstringOpaque cursor from previous response

Errors

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Project not found",
    "details": { "projectId": "proj_abc123" }
  }
}
Status codes:
CodeMeaning
200OK
201Created
204No Content
400Bad Request
401Unauthenticated
403Forbidden (insufficient scope)
404Not Found
409Conflict
422Unprocessable Entity
429Rate Limited
500Internal Server Error

Rate limits

PlanLimit
Free100 requests / minute
Developer1,000 requests / minute
Pro10,000 requests / minute
Rate limit headers are included in every response:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 87
X-RateLimit-Reset: 1709000060

Health check

GET /v1/health
Response:
{
  "status": "ok",
  "version": "1.0.0",
  "timestamp": "2026-03-09T20:00:00Z",
  "services": {
    "database": "ok"
  }
}