Skip to content

List alerts

The alerts.list operation: GET /api/v1/alerts in the REST API and the alerts_list tool in the MCP server.

GET/api/v1/alerts

Lists the organization's alerts in the mode of the request, newest first: the console inbox (spec §24), by default the unresolved ones (open or acknowledged). Only the alerts your role may see are listed: each alert is about one area (registrations, ledger, webhooks, …, its family) and is shown to members who may read that area at its legal entity or brand. Owners and admins see every alert.

By default only unresolved alerts (open and acked); filter with status (one or several), severity, code or entityId. Paginate with limit (1–100, default 10) and starting_after (the next_cursor of the previous page); a page can be shorter than limit while has_more is true.

At a glance

  • REST: GET /api/v1/alerts
  • MCP tool: alerts_list
  • Operation ID: alerts.list
  • Scope: Organization
  • Permission: org:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the org:read scope
  • Since: M7

Request

Query parameters

FieldTypeRequiredDescription
limitinteger (1 to 100)No
starting_afteralr_… IDNo
statusone of open, acked, resolved or array of one of open, acked, resolvedNo
severityone of info, high, critical or array of one of info, high, criticalNo
codestringNo
entityIdent_… IDNo

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].idalr_… ID
data[].object"alert"
data[].codestring
data[].severityone of info, high, critical
data[].familyone of 14 values, e.g. registrations, filings, ledger (all in the OpenAPI document)
data[].messagestring
data[].linkstring
data[].entityIdent_… ID or null
data[].brandIdbrd_… ID or null
data[].livemodeboolean
data[].statusone of open, acked, resolved
data[].occurrencesinteger (at least 1)
data[].lastRaisedAtdate-time
data[].acknowledgedAtdate-time or null
data[].acknowledgedBystring or null
data[].resolvedAtdate-time or null
data[].resolvedBystring or null
data[].deliveryobject
data[].delivery.statusone of none, pending, delivered, failed
data[].delivery.attemptsinteger (at least 0)
data[].delivery.lastErrorstring or null
data[].delivery.emailobject
data[].delivery.email.sentinteger (at least 0)
data[].delivery.email.failedinteger (at least 0)
data[].delivery.slackarray of object
data[].delivery.slack[].channelIdstring
data[].delivery.slack[].statusone of sent, failed
data[].delivery.slack[].atdate-time
data[].delivery.slack[].errorstring or null
data[].createdAtdate-time
data[].updatedAtdate-time
data[].versioninteger (at least 1)
has_moreboolean
next_cursoralr_… ID or null

Examples

The unresolved alerts

HTTP
GET /api/v1/alerts
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "alr_01m4ttwd3veh9apbewxheq5xab",
      "object": "alert",
      "code": "REG_AUTO_BLOCKED",
      "severity": "critical",
      "family": "registrations",
      "message": "EU_OSS_NON_UNION was blocked for new consumer sales on 2026-11-07: the grace deadline 2026-11-10 is near and no application was submitted.",
      "link": "/console/acme/e/acme-hr/jurisdictions/EU_OSS_NON_UNION",
      "entityId": "ent_01m4ttwd3veh9apbewxheq5xh4",
      "brandId": null,
      "livemode": true,
      "status": "open",
      "occurrences": 1,
      "lastRaisedAt": "2026-10-13T12:00:00.000Z",
      "acknowledgedAt": null,
      "acknowledgedBy": null,
      "resolvedAt": null,
      "resolvedBy": null,
      "delivery": {
        "status": "delivered",
        "attempts": 1,
        "lastError": null,
        "email": {
          "sent": 2,
          "failed": 0
        },
        "slack": [
          {
            "channelId": "sec_01m4ttwd3veh9apbewxheq5xad",
            "status": "sent",
            "at": "2026-10-13T12:00:00.000Z",
            "error": null
          }
        ]
      },
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-13T12:00:00.000Z",
      "version": 1
    }
  ],
  "has_more": false,
  "next_cursor": null
}
HTTP
GET /api/v1/alerts?severity=critical&status=open&status=acked&status=resolved&entityId=ent_01m4ttwd3veh9apbewxheq5xh4&limit=1
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "alr_01m4ttwd3veh9apbewxheq5xab",
      "object": "alert",
      "code": "REG_AUTO_BLOCKED",
      "severity": "critical",
      "family": "registrations",
      "message": "EU_OSS_NON_UNION was blocked for new consumer sales on 2026-11-07: the grace deadline 2026-11-10 is near and no application was submitted.",
      "link": "/console/acme/e/acme-hr/jurisdictions/EU_OSS_NON_UNION",
      "entityId": "ent_01m4ttwd3veh9apbewxheq5xh4",
      "brandId": null,
      "livemode": true,
      "status": "open",
      "occurrences": 1,
      "lastRaisedAt": "2026-10-13T12:00:00.000Z",
      "acknowledgedAt": null,
      "acknowledgedBy": null,
      "resolvedAt": null,
      "resolvedBy": null,
      "delivery": {
        "status": "delivered",
        "attempts": 1,
        "lastError": null,
        "email": {
          "sent": 2,
          "failed": 0
        },
        "slack": [
          {
            "channelId": "sec_01m4ttwd3veh9apbewxheq5xad",
            "status": "sent",
            "at": "2026-10-13T12:00:00.000Z",
            "error": null
          }
        ]
      },
      "createdAt": "2026-10-13T12:00:00.000Z",
      "updatedAt": "2026-10-13T12:00:00.000Z",
      "version": 1
    }
  ],
  "has_more": true,
  "next_cursor": "alr_01m4ttwd3veh9apbewxheq5xab"
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400A filter or pagination value is invalid.Fix the fields listed in details.issues and send the request again.
permission_denied403You can't read this organization's inbox.Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, resource_not_found, dry_run_not_supported, rate_limited, internal_error.