Skip to main content

API Reference

Errors

List, view, and manage tracked errors. Uses the secret key or a personal access token for authentication. Requires the Monitor module to be enabled. With a PAT, your membership must be able to view Monitor to read errors and edit Monitor to update them or add notes.

List Errors

GET /api/v1/errors Secret Key / PAT 30 req/min

Returns a list of tracked errors, ordered by most recent. Filterable by status, environment, and severity.

Parameters

Parameter Type Required Description
status string No Filter by status: unresolved (default), resolved, ignored, always_ignored
environment string No Filter by environment (e.g. "production", "staging")
severity string No Filter by severity
limit integer No Number of results (1-100, default: 50)

Response

{
  "errors": [
    {
      "id": 1,
      "error_type": "NoMethodError",
      "message": "undefined method 'foo' for nil:NilClass",
      "status": "unresolved",
      "severity": "error",
      "priority": "high",
      "environment": "production",
      "occurrences_count": 42,
      "assignee": { "id": 5, "name": "Jane Smith" },
      "first_seen_at": "2025-01-10T08:00:00Z",
      "last_seen_at": "2025-01-15T14:30:00Z"
    }
  ]
}

Get Error Details

GET /api/v1/errors/:id Secret Key / PAT 30 req/min

Returns full details for a single error including backtrace, notes, and the latest occurrence.

Response

{
  "error": {
    "id": 1,
    "error_type": "NoMethodError",
    "message": "undefined method 'foo' for nil:NilClass",
    "error_message": "undefined method 'foo' for nil:NilClass",
    "status": "unresolved",
    "severity": "error",
    "priority": "high",
    "environment": "production",
    "occurrences_count": 42,
    "file": "app/models/user.rb",
    "line": 42,
    "component": "UsersController",
    "action": "show",
    "assignee": { "id": 5, "name": "Jane Smith" },
    "first_seen_at": "2025-01-10T08:00:00Z",
    "last_seen_at": "2025-01-15T14:30:00Z",
    "backtrace": [
      { "file": "app/models/user.rb", "line": 42, "function": "full_name" }
    ],
    "notes": [
      { "id": 1, "body": "Investigating this issue", "user": "Jane Smith", "created_at": "2025-01-15T10:00:00Z" }
    ],
    "latest_occurrence": {
      "id": 100,
      "url": "/users/42",
      "http_method": "GET",
      "hostname": "web-1",
      "user_id": "user_123",
      "user_name": "John Doe",
      "context": {},
      "environment_data": {},
      "params_data": {},
      "occurred_at": "2025-01-15T14:30:00Z"
    }
  }
}

List Error Occurrences

GET /api/v1/errors/:id/occurrences Secret Key / PAT 30 req/min

Returns every recorded occurrence (instance) of an error, newest first, each with its own backtrace and request context. Use the cursor to page through all instances.

Parameters

Parameter Type Required Description
limit integer No Number of occurrences to return, 1–100 (default 50)
before integer No Occurrence ID cursor; pass the previous response's next_before to fetch the next page

Response

{
  "occurrences": [
    {
      "id": 100,
      "url": "/users/42",
      "http_method": "GET",
      "hostname": "web-1",
      "user_id": "user_123",
      "user_name": "John Doe",
      "context": {},
      "environment_data": {},
      "params_data": {},
      "occurred_at": "2025-01-15T14:30:00Z",
      "backtrace": [
        { "file": "app/models/user.rb", "line": 42, "function": "full_name" }
      ]
    }
  ],
  "next_before": 100
}

next_before is null when there are no more occurrences to fetch.

Update Error

PATCH /api/v1/errors/:id Secret Key / PAT 30 req/min

Updates the status, priority, or assignee of an error.

Parameters

Parameter Type Required Description
status string No One of: unresolved, resolved, ignored, always_ignored
priority string No One of: low, medium, high, critical (or null to clear)
assignee_id integer No User ID to assign (use the Members endpoint to list IDs, or null to unassign)

Success Response

{
  "error": {
    "id": 1,
    "error_type": "NoMethodError",
    "message": "undefined method 'foo' for nil:NilClass",
    "status": "resolved",
    "severity": "error",
    "priority": "high",
    "environment": "production",
    "occurrences_count": 42,
    "assignee": { "id": 5, "name": "Jane Smith" },
    "first_seen_at": "2025-01-10T08:00:00Z",
    "last_seen_at": "2025-01-15T14:30:00Z"
  }
}

Error Response (422)

{ "error": "Invalid status. Must be: unresolved, resolved, ignored, always_ignored" }
{ "error": "Invalid priority. Must be: low, medium, high, critical" }
{ "error": "User not found in this account" }

Add Note

POST /api/v1/errors/:id/add_note Secret Key / PAT 30 req/min

Adds a note to an error for collaboration and tracking.

Parameters

Parameter Type Required Description
body string Yes Note content

Success Response (201)

{
  "note": {
    "id": 1,
    "body": "Investigating this issue",
    "user": "Jane Smith",
    "created_at": "2025-01-15T10:00:00Z"
  }
}

List Members

GET /api/v1/members Secret Key / PAT 30 req/min

Returns all members of the account. Useful for getting assignee IDs for the update endpoint.

Response

{
  "members": [
    { "id": 1, "name": "Jane Smith" },
    { "id": 2, "name": "Bob Jones" }
  ]
}