API Reference

Complete REST API documentation for the Notification System.

Base URL

https://api.notifications.example.com/v1

Authentication

All API requests require authentication using an API key in the header:

X-API-Key: ntf_your_api_key_here

Rate Limits

Plan Requests/min Requests/hour
Free601,000
Starter1205,000
Professional30020,000
EnterpriseCustomCustom

Endpoints

Notifications

POST/notifications

Send a new notification

GET/notifications

List all notifications

GET/notifications/{id}

Get notification details

Projects

POST/projects

Create a new project

GET/projects

List all projects

GET/projects/{id}

Get project details

PUT/projects/{id}

Update a project

DELETE/projects/{id}

Delete a project

Integration API Keys

GET/projects/{id}/integrations

List platform integrations

POST/projects/{id}/integrations

Create a platform integration

GET/integrations/{id}/api-keys

List integration API keys

POST/integrations/{id}/api-keys

Create an integration API key

DELETE/integrations/{id}/api-keys/{keyId}

Revoke an integration API key

Inbound Routes

GET/integrations/{id}/inbound-routes

List cross-channel inbound routes

POST/integrations/{id}/inbound-routes

Create an inbound route from WhatsApp, MQTT, webhook, or another source channel

PUT/integrations/{id}/inbound-routes/{routeId}

Update route destinations, source config, verification token, or secret

DELETE/integrations/{id}/inbound-routes/{routeId}

Disable an inbound route

GET/inbound/{routeId}

Verify WhatsApp Business webhook challenge

POST/inbound/{routeId}

Receive inbound messages using X-Inbound-Secret and route them to destination channels

GET/inbound/{routeId}/ws

Receive inbound WebSocket messages and route them to destination channels

Webhooks

GET/projects/{id}/webhook

Get webhook configuration

PUT/projects/{id}/webhook

Update webhook configuration

POST/projects/{id}/webhook/test

Test webhook endpoint

Analytics

GET/analytics/overview

Get analytics overview

GET/tracking/{notificationId}/metrics

Get tracking metrics

Error Codes

All errors follow this format:

{
  "error": "error_code",
  "message": "Human-readable error message",
  "details": {}
}
Status Error Description
400validation_errorInvalid request body
401unauthorizedMissing or invalid API key
403forbiddenInsufficient permissions
404not_foundResource not found
429rate_limit_exceededToo many requests
500internal_errorServer error