Response Format

All API responses are JSON. Here's how to interpret success and error responses.

Success Responses

Successful responses include a "success": true field and a "data" object containing the result:

{
  "success": true,
  "data": {
    "servers": [ ... ],
    "count": 5
  }
}

For single-resource responses (e.g. getting one server), the resource is nested under its singular name:

{
  "success": true,
  "data": {
    "server": {
      "id": 1,
      "name": "web-01",
      ...
    }
  }
}

For create operations, the API returns HTTP 201 Created with the new resource:

HTTP/1.1 201 Created

{
  "success": true,
  "data": {
    "server": {
      "id": 5,
      "name": "web-02",
      "agent_key": "a1b2c3d4e5f6..."
    }
  }
}

Error Responses

Errors include an "error" message and an appropriate HTTP status code. Some errors also include a "code" field with a machine-readable error identifier:

{
  "error": "Server not found",
  "code": 404
}

HTTP Status Codes

CodeNameMeaning
200OKRequest succeeded
201CreatedResource was created (POST requests)
400Bad RequestMissing or invalid parameters in the request body
401UnauthorizedMissing or invalid API key
403ForbiddenPlan doesn't include API access, plan expired, or resource limit reached
404Not FoundResource doesn't exist or doesn't belong to your account
405Method Not AllowedHTTP method not supported for this resource
429Too Many RequestsRate limit exceeded (1000 requests/hour)
500Internal Server ErrorSomething went wrong on our end
Pagination List endpoints that return large collections (e.g. incidents) include pagination metadata: total, page, limit, and pages. Use the page and limit query parameters to navigate.

Next Steps