API Reference

Notifications

List and acknowledge events

Every notification the dashboard shows (post failed, integration disconnected, approval requested…) is also available through the API. Use it to build a custom inbox, a Slack bot, or an on-call alerter.

The Notification object

json
{
  "id": "9f1e2d4c-...",
  "title": "Instagram failed to publish",
  "message": "Media format was rejected by the platform.",
  "type": "post.failed",
  "read": false,
  "action_url": "/dashboard/posts/3a6f...",
  "metadata": { "post_id": "3a6f...", "platform": "instagram" },
  "created_at": "2026-04-16T09:45:12Z"
}
FieldTypeDescription
typestringEvent type, e.g. post.failed, integration.disconnected.
readbooleanWhether this notification has been marked read.
action_urlstring | nullOptional in-app link the dashboard opens when the row is clicked.
metadataobjectType-specific payload (post_id, platform, etc.).

List notifications

GET/v1/notifications

Paginated list, newest first. Uses page + limit (API key) or cursor + limit (dashboard session).

FieldTypeDescription
pageintZero-based page index (API-key mode). Default 0.
limitintPage size. Default 50 (API key) or 30 (session). Max 100.
curl
curl "https://api.openpost.so/v1/notifications?page=0&limit=50" \
  -H "Authorization: Bearer $OP_KEY"
json
{
  "data": [ /* notifications */ ],
  "total": 128,
  "page": 0,
  "limit": 50,
  "hasMore": true
}

Mark read

POST/v1/notifications/{id}/read

Mark a single notification as read. Session-authenticated dashboard consumers only today.

Mark all read

POST/v1/notifications/read-all

Mark every unread notification as read for the current user. Session-authenticated dashboard consumers only today.

The readendpoints are currently session-only — they read the user from your dashboard cookie. API-key-triggered read flips are on the roadmap; use the dashboard or subscribe to webhooks for now.
Last updated April 2026 Edit this page