Skip to main content
POST
/
v1
/
admin
/
notifications
/
send
Admin Notifications
curl --request POST \
  --url https://api.glider.fi/v1/admin/notifications/send \
  --header 'X-API-KEY: <api-key>'
These endpoints let internal tools request Novu workflow sends without owning audience logic. Retool passes a workflowId, a bounded JSON payload, and a target; platform-api resolves canonical Glider user IDs and reconciles Novu topics before delivery.

Auth

All routes are protected by a scoped notifications admin token:
  • Authorization: Bearer <RETOOL_NOTIFICATIONS_ADMIN_TOKEN>
  • Content-Type: application/json for POST routes
ADMIN_AUTH_SECRET_TOKEN is also accepted for internal engineer/admin usage, but Retool should use the scoped notifications token.

List Topics

GET /v1/admin/notifications/topics Returns the approved system topic catalog for Retool dropdowns:
{
  "topics": [
    {
      "key": "glider:users:drip:linked",
      "label": "Drip connected users",
      "description": "Users who connected their Drip account.",
      "exclusive": true
    }
  ]
}

Send Notification

POST /v1/admin/notifications/send
{
  "workflowId": "platform_announcement",
  "payload": {
    "title": "New feature",
    "body": "Try it today"
  },
  "idempotencyKey": "campaign-2026-04-25",
  "target": {
    "type": "topic",
    "topicKey": "glider:users:all"
  }
}
Targets:
  • { "type": "userIds", "userIds": ["usr_123"] }
  • { "type": "topic", "topicKey": "glider:users:drip:linked" }
For topic sends, platform-api resolves the current DB audience, ensures those canonical user IDs exist as Novu subscribers, updates topic membership, and only then triggers the Novu workflow to the topic.

Reconcile Topic

POST /v1/admin/notifications/topics/:topicKey/reconcile
{
  "dryRun": true
}
Rebuilds or previews a system topic from Glider DB. dryRun: true resolves and diffs membership without mutating Novu subscriptions or triggering a workflow.