> ## Documentation Index
> Fetch the complete documentation index at: https://docs.satyakod.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List alerts

> Clone patterns, grey market sales and other alerts, newest first.

Scope: `alerts:read`. A paginated list (`items`, `total`, `page`, `pageSize`); see
[Requests and responses](https://docs.satyakod.com/api-reference/introduction.md#requests-and-responses). What each kind of
alert means: [Alerts](https://docs.satyakod.com/guides/alerts.md).

**status** `string` (default: all)

`open` (open or investigating), `resolved` (resolved or false positive) or `all`.

**sort** `string`

`opened`, `severity` (low to critical) or `status`; prefix with `-` for descending
(`-severity` puts critical first). Without it, or with any other value, newest first.

**page** `integer` (default: 1)

**pageSize** `integer` (default: 20)

Up to 200.

Each item:

**id** `string` *required*

Such as `ALR-2291`.

**kind** `string` *required*

`clone_pattern`, `grey_market`, `signature_failure`, `revoked_scanned`, `enumeration`,
`unknown_format`, `consumer_report` or `seat_sharing`.

**title** `string` *required*

**severity** `string` *required*

`critical`, `high`, `medium` or `low`.

**status** `string` *required*

`open`, `investigating`, `resolved` or `false_positive`.

**assignee** `object`

`id`, `name` and `email` of the person it's assigned to.

**openedAt** `string` *required*

ISO 8601; `updatedAt` likewise.

**productIds** `string[]` *required*

**batchIds** `string[]` *required*

Batch numbers, such as `B-1045`.

**affectedSerials** `integer` *required*

**scanCount** `integer` *required*

Scans that contributed; list them with [`GET /v1/scans?alert=`](https://docs.satyakod.com/api-reference/list-scans).

**locations** `object[]` *required*

Where those scans happened: `district`, `state`, `country`, and `point` when known.

**likelySource** `string`

**resolvedAt** `string`

Set while the alert is resolved.

**outcome** `object`

What resolving it achieved: `kind` (`stock_seized`, `listing_removed`, `distributor_action`,
`legal_action` or `no_action`), and optionally `units`, `value` (money) and `note`. See
[Alert outcomes](https://docs.satyakod.com/guides/alert-outcomes.md).

**timeline** `object[]` *required*

What happened, oldest first: `at`, `text` and, when a person did it, `actor`.

```bash cURL theme={null}
curl "https://api.satyakod.com/v1/alerts?status=open&sort=-severity" \
  -H "Authorization: Bearer $SATYAKOD_KEY"
```

```json 200 theme={null}
{
  "items": [
    {
      "id": "ALR-2291",
      "kind": "clone_pattern",
      "title": "Serial scanned in Pune and Nashik within 2 hours",
      "severity": "high",
      "status": "open",
      "openedAt": "2026-11-12T14:05:32+00:00",
      "updatedAt": "2026-11-12T14:05:32+00:00",
      "productIds": ["prd_wb18"],
      "batchIds": ["B-1045"],
      "affectedSerials": 1,
      "scanCount": 2,
      "locations": [
        { "district": "Pune", "state": "MH", "country": "IN" },
        { "district": "Nashik", "state": "MH", "country": "IN" }
      ],
      "timeline": [
        { "at": "2026-11-12T14:05:32+00:00", "text": "Alert opened" }
      ]
    }
  ],
  "total": 4,
  "page": 1,
  "pageSize": 20
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.