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

# List Integration Activity

> Read recent integration webhook and sync activity

Read recent integration webhook and sync activity, newest first. This is the log to check when an integration reports connected but contacts or events are not appearing.

<Note>
  Activity is retained for 24 hours. Payloads are sanitized when written, so no
  credentials, tokens, or signatures appear here.
</Note>

Requires an API key with both the `account:read` and `subscribers:read` scopes.

## Request

<ParamField query="integrationId" type="string">
  Only show activity for this integration.
</ParamField>

<ParamField query="provider" type="string">
  Only show activity for this provider, such as `stripe`.
</ParamField>

<ParamField query="status" type="string">
  Filter by `received`, `queued`, `processed`, `skipped`, or `failed`. Use
  `failed` to triage a broken integration.
</ParamField>

<ParamField query="limit" type="number" default="25">
  Rows to return, from 1 to 100. Out-of-range values are clamped.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/integrations/activity?status=failed" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response fields

<ResponseField name="status" type="string">
  Where the event got to. A row stuck on `queued` or `received` for more than 15
  minutes indicates background workers are not draining the queue.
</ResponseField>

<ResponseField name="eventType" type="string">
  The provider's own event type, such as `invoice.payment_failed`.
</ResponseField>

<ResponseField name="email" type="string">
  The contact the event was matched to, or `null` when no contact could be
  resolved - the most common reason for an event to be skipped.
</ResponseField>

<ResponseField name="windowHours" type="number">
  Retention window in hours. Nothing older is queryable.
</ResponseField>

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "windowHours": 24,
    "activity": [
      {
        "id": "ial_abc123",
        "provider": "stripe",
        "integrationId": "int_abc123",
        "source": "webhook",
        "action": "process_webhook",
        "status": "failed",
        "eventType": "invoice.payment_failed",
        "providerEventId": "evt_abc123",
        "jobId": "job_abc123",
        "subscriberId": "sub_abc123",
        "email": "buyer@example.com",
        "externalId": "cus_abc123",
        "message": null,
        "error": "Subscriber not found",
        "requestPayload": { "eventType": "invoice.payment_failed" },
        "responsePayload": { "success": false },
        "receivedAt": "2026-08-01T09:13:59Z",
        "processedAt": "2026-08-01T09:14:00Z",
        "expiresAt": "2026-08-02T09:14:00Z",
        "createdAt": "2026-08-01T09:14:00Z"
      }
    ],
    "note": "Integration activity is retained for 24 hours."
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": "Unauthorized"
  }
  ```

  ```json 403 theme={null}
  {
    "success": false,
    "error": "API key is missing required scope: subscribers:read"
  }
  ```
</ResponseExample>
