> **Building with AI coding agents?** Install the authstack plugin with one command. This equips your agent with accurate Scalekit implementation patterns.
>
> **Recommended** (the `-y` flags skip prompts, so the command runs without an interactive terminal):
> ```bash
> npx -y @scalekit-inc/cli setup -y
> ```
>
> Global:
> ```bash
> npm install -g @scalekit-inc/cli
> scalekit setup -y
> ```
>
> Supports Claude Code, Cursor, GitHub Copilot, Codex + skills for other Agent Skills-compatible agents in `~/.agents/skills`.
> Skills: integrate-agentkit, implement-saaskit, add-mcp-oauth, implement-sso, implement-scim.
> [Full setup guide](https://docs.scalekit.com/dev-kit/build-with-ai/)

---

# List recent delivery attempts (beta)

`GET /api/v1/trigger-delivery/endpoints/{endpoint_id}/attempts`

This endpoint is in beta. Its request and response may change.

Lists the most recent attempts to deliver trigger events to one of your endpoints, newest first, up to `page_size` (default 20, at most 100). There's no page token for older attempts. A failed attempt is retried, so check the newest attempt for an event before you decide it wasn't delivered.

**Path parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `endpoint_id` | string | Yes | ID of your delivery endpoint (`ep_...`), the URL on your server that you added under **Developers** > **Trigger Delivery**. [Look up a delivery](https://docs.scalekit.com/agentkit/reference/triggers/look-up-a-delivery/) returns it as `endpoint_id` on each attempt. |

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `page_size` | integer | No | Maximum number of attempts to return, newest first. Defaults to 20 when omitted or zero; a larger value than 100 is capped at 100 rather than refused. |

**Response (200)**

| Name | Type | Description |
| --- | --- | --- |
| `attempts` | array of object | The endpoint's most recent delivery attempts, newest first. |
| `attempts.endpoint_id` | string | ID of the endpoint this attempt was made against. |
| `attempts.endpoint_url` | string | URL this attempt was sent to. |
| `attempts.id` | string | ID of this delivery attempt. |
| `attempts.msg_id` | string | ID of the trigger event message this attempt delivered. Every attempt to deliver the same event shares this ID. |
| `attempts.response` | string | Response body the endpoint returned for this attempt. A long body may be truncated. |
| `attempts.response_duration_ms` | integer | How long the endpoint took to respond to this attempt, in milliseconds. |
| `attempts.response_status_code` | integer | HTTP status code the endpoint returned for this attempt. |
| `attempts.response_truncated` | boolean | True when `response` was cut to its first 4096 bytes. Set only by [List the attempts for a delivery](https://docs.scalekit.com/agentkit/reference/triggers/list-attempts-for-a-delivery/) and [Look up a delivery](https://docs.scalekit.com/agentkit/reference/triggers/look-up-a-delivery/), which apply that cap. |
| `attempts.status` | string (enum) | Whether this attempt succeeded, is still in flight, failed, or was canceled. A failed delivery is retried, so FAIL on one attempt does not mean the event was never delivered — check the newest attempt for that message. One of: `SUCCESS`, `PENDING`, `FAIL`, `SENDING`, `CANCELED`. |
| `attempts.timestamp` | string | When this attempt was made. |
| `attempts.trigger_type` | string (enum) | Why this attempt was made: TRIGGER_DELIVERY_ATTEMPT_TRIGGER_TYPE_SCHEDULED for the first attempt or an automatic retry, TRIGGER_DELIVERY_ATTEMPT_TRIGGER_TYPE_MANUAL for a retry someone started by hand. One of: `TRIGGER_DELIVERY_ATTEMPT_TRIGGER_TYPE_SCHEDULED`, `TRIGGER_DELIVERY_ATTEMPT_TRIGGER_TYPE_MANUAL`. |

**Errors**

- `400`: Invalid request - endpoint_id is missing, is longer than 256 characters or contains characters other than letters, digits, `.`, `_` and `-`, or does not name a trigger delivery endpoint in this environment
- `404`: Not found - Triggers isn't turned on for your environment
- `500`: Internal error - the delivery attempts could not be read; retry the request

**Request**

```bash
curl -sS -G -X GET \
  "$SCALEKIT_ENVIRONMENT_URL/api/v1/trigger-delivery/endpoints/ep_2qGv8XHk3mT5bJr9LwNc7pZeYfA/attempts" \
  -H "Authorization: Bearer $TOKEN" \
  --data-urlencode "page_size=20"
```

**Response**

```json
{
  "attempts": [
    {
      "id": "atmpt_2qGvA2bNf7KcW4xRm8TjP5sLhYd",
      "msg_id": "msg_2qGvA1sKd8RtY6nWm3LpX9cBhVe",
      "endpoint_id": "ep_2qGv8XHk3mT5bJr9LwNc7pZeYfA",
      "endpoint_url": "https://api.example.com/scalekit/triggers",
      "status": "SUCCESS",
      "response_status_code": 200,
      "response": "{\"ok\":true}",
      "response_truncated": false,
      "response_duration_ms": 84,
      "timestamp": "2026-10-28T09:17:45.020Z",
      "trigger_type": "TRIGGER_DELIVERY_ATTEMPT_TRIGGER_TYPE_SCHEDULED"
    }
  ]
}
```

**Python SDK:** `scalekit_client.actions.triggers.list_delivery_attempts_by_endpoint`

List the most recent attempts to deliver trigger events to one of your endpoints.

```python
scalekit_client.actions.triggers.list_delivery_attempts_by_endpoint(
    endpoint_id: str,
    page_size: int | None = None,
) -> ListTriggerDeliveryAttemptsByEndpointResponse
```

Example:

```python
result = scalekit_client.actions.triggers.list_delivery_attempts_by_endpoint(
    endpoint_id="ep_2qGv8XHk3mT5bJr9LwNc7pZeYfA",
    page_size=20,
)
```

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `endpoint_id` | `str` | Yes | ID of your delivery endpoint (`ep_...`), the URL on your server that you added under **Developers** > **Trigger Delivery**. [Look up a delivery](https://docs.scalekit.com/agentkit/reference/triggers/look-up-a-delivery/) returns it as `endpoint_id` on each attempt. |
| `page_size` | `int \| None` | No | Attempts to return; the server default is 20, capped at 100. |

Returns `ListTriggerDeliveryAttemptsByEndpointResponse`: The attempts (one page; there is no page token).


Part of [Triggers](https://docs.scalekit.com/agentkit/reference/triggers/) in the [AgentKit API reference](https://docs.scalekit.com/agentkit/reference/). Authentication: https://docs.scalekit.com/agentkit/reference/authentication.md. Errors and rate limits: https://docs.scalekit.com/agentkit/reference/errors.md. Pagination: https://docs.scalekit.com/agentkit/reference/pagination.md


---

## More Scalekit documentation

| Resource | What it contains | When to use it |
|----------|-----------------|----------------|
| [/llms.txt](/llms.txt) | Structured index with routing hints per product area | Start here — find which documentation set covers your topic before loading full content |
| [/llms-full.txt](/llms-full.txt) | Complete documentation for all Scalekit products in one file | Use when you need exhaustive context across multiple products or when the topic spans several areas |
| [sitemap-0.xml](https://docs.scalekit.com/sitemap-0.xml) | Full URL list of every documentation page | Use to discover specific page URLs you can fetch for targeted, page-level answers |
