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

# Update a scheduled notification

> Changes the text or time of a notification that hasn't been sent yet.

Only a `scheduled` notification can change. Send the whole message again: the same texts are required as when it was created, and `scheduledFor` is required.

**id** `string` *required*

The notification ID.

**Idempotency-Key** `string` *required*

A unique value for this request.

**appleText** `string`

The Apple Wallet message, up to 120 characters.

**googleTitle** `string`

The Google Wallet message title, up to 60 characters.

**googleBody** `string`

The Google Wallet message body, up to 500 characters.

**scheduledFor** `string` *required*

The new send time, from 5 minutes to 24 hours from now.

### Response

Returns the updated [notification](https://tapace.lk/docs/api-reference/notifications/get.md).

### Errors

| Status | When |
| - | - |
| `400` | A required text is missing or too long, `scheduledFor` is missing or outside the allowed window, or the Apple text would be identical to the one it replaces. |
| `404` | The notification doesn't exist. |
| `409` | It has already started sending or was cancelled. |

```bash cURL theme={null}
curl -X PATCH https://api.tapace.lk/v1/notifications/ntf_Bv6Kp2Wx9Lm4Tq8Rz3Nc \
  -H "Authorization: Bearer $TAPACE_API_KEY" \
  -H "Idempotency-Key: 6b3e9a1c-2d7f-4c5a-8e1b-4f9d2a6c3e70" \
  -H "Content-Type: application/json" \
  -d '{
    "appleText": "Doors now open at 8 tonight.",
    "googleTitle": "Doors at 8",
    "googleBody": "Doors now open at 8 tonight.",
    "scheduledFor": "2026-10-18T14:30:00.000Z"
  }'
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.