← Back to Docs

Scheduling Notifications

Send notifications at a specific time in the future.

How It Works

Pass an ISO-8601 scheduledAt timestamp in the future. The notification enters the scheduled state, waits in the queue until the time arrives, then the push is sent immediately.

# Schedule 1 hour from now
curl -X POST https://api.notfs.dev/api/notifications \
  -H "X-API-Key: ntfs_..." \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Meeting in 5 minutes",
    "body": "Sprint planning starts at 3:00 PM",
    "scheduledAt": "2026-02-15T15:00:00Z"
  }'

Status Flow

scheduledqueueddelivered

Cancellation

You can cancel a scheduled notification any time before it's delivered:

curl -X DELETE https://api.notfs.dev/api/notifications/{id} \
  -H "X-API-Key: ntfs_..."

Cancelled notifications move to the cancelled state and are removed from the queue.

Tips

  • Use UTC timestamps to avoid timezone ambiguities.
  • If scheduledAt is in the past, the notification is sent immediately.
  • Omit scheduledAt entirely for instant delivery.
  • The list endpoint supports filtering by status=scheduled to see pending notifications.