# List API requests

Source: https://checkslip.com/en/docs/list-api-requests

GET `https://api.checkslip.com/api/audit/requests`

API key

Requests this account sent, by API key and in the web app, newest first. Each row has its request_id, route, http_status, outcome_code and the api_key_id used. Pass trans_ref or qr_sha256 to see whether a slip was sent before. Defaults to the last 24 hours; at most 31 days per call. Use next_cursor for the next page; there is no total. Uses no credit. Needs an API key with audit:read, or the web app sign-in. Records hold no names, phone numbers, emails or full account numbers. The caller IP is kept as a network range (/24 or /48) and a keyed hash of the full address, which lets you match requests from the same machine. Each row shows both (client_ip_prefix, client_ip_hmac); the full address is not stored.

## Parameters

| Field | In | Type | Required |
| --- | --- | --- | --- |
| `from` | query | `string (date-time)` | no |
| `to` | query | `string (date-time)` | no |
| `http_status` | query | `integer[]` | no |
| `outcome_code` | query | `string[]` | no |
| `route` | query | `string[]` | no |
| `channel` | query | `API \| DASHBOARD \| ASSISTANT \| STAFF \| SYSTEM[]` | no |
| `api_key_id` | query | `string` | no |
| `trans_ref` | query | `string` | no |
| `qr_sha256` | query | `string` | no |
| `cursor` | query | `string` | no |
| `limit` | query | `integer` | no |

## Responses

### 200 `application/json`

| Field | Type | Required |
| --- | --- | --- |
| `items` | `ApiRequestRecord[]` | yes |
| `items[].request_id` | `string (uuid)` | yes |
| `items[].received_at` | `string (date-time)` | yes |
| `items[].latency_ms` | `integer` | yes |
| `items[].channel` | `API \| DASHBOARD \| ASSISTANT \| STAFF \| SYSTEM \| null` | yes |
| `items[].method` | `GET \| POST \| PUT \| PATCH \| DELETE` | yes |
| `items[].route` | `string` | yes |
| `items[].http_status` | `integer` | yes |
| `items[].api_key_id` | `string \| null` | no |
| `items[].user_id` | `string (uuid) \| null` | no |
| `items[].client_ip_prefix` | `string` | no |
| `items[].client_ip_hmac` | `string` | no |
| `items[].user_agent` | `string` | no |
| `items[].outcome_code` | `string` | no |
| `items[].fingerprint` | `Fingerprint \| null` | no |
| `next_cursor` | `string \| null` | yes |

### Possible errors

400 401 403 429

An error as Problem Details. All codes are listed at [Error codes](https://checkslip.com/en/docs/errors)

**cURL**

```bash
curl https://api.checkslip.com/api/audit/requests \
  -H "Authorization: Bearer $CHECKSLIP_API_KEY"
```

**Node.js**

```javascript
const res = await fetch("https://api.checkslip.com/api/audit/requests", {
  headers: {
    Authorization: `Bearer ${process.env.CHECKSLIP_API_KEY}`,
  },
});
const data = await res.json();
```

**Python**

```python
import os

import requests

res = requests.get(
    "https://api.checkslip.com/api/audit/requests",
    headers={
        "Authorization": f"Bearer {os.environ['CHECKSLIP_API_KEY']}",
    },
)
data = res.json()
```

```json
{
  "items": [
    {
      "request_id": "0b6c2f5e-8a41-4d1e-9c3a-5f7e2d18a6b4",
      "received_at": "2026-11-05T09:30:00+07:00",
      "latency_ms": 1,
      "channel": "API",
      "method": "GET",
      "route": "string",
      "http_status": 100,
      "api_key_id": "string",
      "user_id": "0b6c2f5e-8a41-4d1e-9c3a-5f7e2d18a6b4",
      "client_ip_prefix": "string",
      "client_ip_hmac": "string",
      "user_agent": "string",
      "outcome_code": "string",
      "fingerprint": {
        "qr_sha256": "string",
        "trans_ref": "string"
      }
    }
  ],
  "next_cursor": "string"
}
```
