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"
}
| Field | Type | Description |
|---|---|---|
| type | string | Event type, e.g. post.failed, integration.disconnected. |
| read | boolean | Whether this notification has been marked read. |
| action_url | string | null | Optional in-app link the dashboard opens when the row is clicked. |
| metadata | object | Type-specific payload (post_id, platform, etc.). |
List notifications
GET
/v1/notificationsauth: Bearer tokenPaginated list, newest first. Uses page + limit (API key) or cursor + limit (dashboard session).
| Field | Type | Description |
|---|---|---|
| page | int | Zero-based page index (API-key mode). Default 0. |
| limit | int | Page 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}/readauth: Bearer tokenMark a single notification as read. Session-authenticated dashboard consumers only today.
Mark all read
POST
/v1/notifications/read-allauth: Bearer tokenMark 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