# GET /scheduled-communications

**Resource:** [Scheduled Communications](./scheduled-communications.md)  
**Scopes:** `dispatcher:read`  
**Write operation:** no

List all scheduled communications for the company. Supports filtering by status, channel, and linked entity (contact, deal, customer). Paginated via cursor.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `status` | query | string | no | Filter by lifecycle status: pending, dispatching, dispatched, failed, cancelled, skipped |
| `channel` | query | string | no | Filter by channel: email, sms, voice_call |
| `contact_id` | query | uuid | no | Filter by linked contact UUID |
| `deal_id` | query | uuid | no | Filter by linked deal/opportunity UUID |
| `customer_id` | query | uuid | no | Filter by linked customer/account UUID |
| `limit` | query | number | no | Max results (1-100, default 25) |
| `after` | query | string | no | Cursor for pagination |

## Request example

```bash
curl -X GET \
  "https://api.trustpager.com/functions/v1/api/v1/scheduled-communications?status=pending&channel=email&limit=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Response example

```json
{
  "data": [
    {
      "id": "60b5889e-c8e1-4273-836e-67a3f0b3231a",
      "company_id": "ebeff86e-7b09-4e49-96db-f711d69d2d57",
      "channel": "email",
      "status": "pending",
      "scheduled_for": "2026-05-01T09:00:00+00:00",
      "timezone": "Australia/Sydney",
      "respect_business_hours": true,
      "payload": {
        "to_email": "client@example.com",
        "subject": "Follow-up from our call",
        "html_body": "<p>Hi Sarah, ...</p>"
      },
      "contact_id": "abc123...",
      "deal_id": null,
      "customer_id": null,
      "attempt_count": 0,
      "last_attempt_at": null,
      "last_error": null,
      "dispatched_at": null,
      "dispatched_external_id": null,
      "source": "api",
      "created_at": "2026-04-23T15:00:00Z",
      "updated_at": "2026-04-23T15:00:00Z"
    }
  ],
  "pagination": { "limit": 10, "has_more": false, "next_cursor": null, "prev_cursor": null },
  "meta": { "credits_remaining": 50000, "url": "https://app.trustpager.com/inbox/dispatcher" }
}
```

---
Base URL: `https://api.trustpager.com/functions/v1/api/v1` — Auth: `Authorization: Bearer YOUR_API_KEY`