# PATCH /scheduled-communications/:id

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

Update a pending scheduled communication. Only rows with status="pending" can be modified. Editable fields: scheduled_for, timezone, respect_business_hours, payload, cancel_policy. Returns a validation error if the row is not pending.

## Parameters

| Name | In | Type | Required | Description |
|------|----|------|----------|-------------|
| `id` | path | uuid | yes | Scheduled communication UUID |
| `scheduled_for` | body | string | no | New ISO 8601 dispatch time |
| `timezone` | body | string | no | IANA timezone override |
| `respect_business_hours` | body | boolean | no | Toggle business-hours enforcement |
| `payload` | body | object | no | Replacement payload (must still satisfy channel required fields) |
| `cancel_policy` | body | object | no | Replacement cancel policy |

## Request example

```bash
curl -X PATCH \
  "https://api.trustpager.com/functions/v1/api/v1/scheduled-communications/60b5889e-c8e1-4273-836e-67a3f0b3231a" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"scheduled_for": "2026-05-02T09:00:00Z", "respect_business_hours": false}'
```

## Response example

```json
{
  "data": {
    "id": "60b5889e-c8e1-4273-836e-67a3f0b3231a",
    "status": "pending",
    "scheduled_for": "2026-05-02T09:00:00+00:00",
    "respect_business_hours": false,
    "updated_at": "2026-04-23T16:00:00Z"
  }
}
```

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