Inbox
GET/api/v1/inbox/channels
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Full-text search over this list's searchable fields.
1 <= length <= 200Comma-separated sort keys, - for descending, at most 1. Keys: name, created_at. Default: -created_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/inbox/channels"{ "channels": [ { "actions_allowed": true, "allowed_producers": [ "string" ], "channel_id": "string", "created_at": "2019-08-24T14:15:22Z", "created_by": "string", "default_priority": "low", "delivery_policy": { "pubsub_topic": "string", "scheduled_delivery_allowed": true, "websocket_fanout": true }, "description": "string", "name": "string", "retention_days": 0, "technical_notes_required": true, "updated_at": "2019-08-24T14:15:22Z", "workspace_id": "string" } ], "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }}POST/api/v1/inbox/channels
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/channels" \ -H "Content-Type: application/json" \ -d '{ "name": "string" }'{ "actions_allowed": true, "allowed_producers": [ "string" ], "channel_id": "string", "created_at": "2019-08-24T14:15:22Z", "created_by": "string", "default_priority": "low", "delivery_policy": { "pubsub_topic": "string", "scheduled_delivery_allowed": true, "websocket_fanout": true }, "description": "string", "name": "string", "retention_days": 0, "technical_notes_required": true, "updated_at": "2019-08-24T14:15:22Z", "workspace_id": "string"}GET/api/v1/inbox/channels/{channel_id}
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X GET "https://example.com/api/v1/inbox/channels/string"{ "actions_allowed": true, "allowed_producers": [ "string" ], "channel_id": "string", "created_at": "2019-08-24T14:15:22Z", "created_by": "string", "default_priority": "low", "delivery_policy": { "pubsub_topic": "string", "scheduled_delivery_allowed": true, "websocket_fanout": true }, "description": "string", "name": "string", "retention_days": 0, "technical_notes_required": true, "updated_at": "2019-08-24T14:15:22Z", "workspace_id": "string"}GET/api/v1/inbox/counts
curl -X GET "https://example.com/api/v1/inbox/counts"{ "counts": { "by_channel": { "property1": 0, "property2": 0 }, "by_priority": { "property1": 0, "property2": 0 }, "by_thread": { "property1": 0, "property2": 0 }, "total": 0 }}POST/api/v1/inbox/maintenance/run
curl -X POST "https://example.com/api/v1/inbox/maintenance/run"{ "expired": 0, "promoted": 0, "self_destructed": 0}GET/api/v1/inbox/messages
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Full-text search over this list's searchable fields.
1 <= length <= 200Comma-separated sort keys, - for descending, at most 1. Keys: created_at. Default: -created_at.
Rows per page, 1 to 100 (default 50).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Only return unread messages
Include archived messages when no archived filter is given
Include dismissed messages when no dismissed filter is given
Response Body
application/json
curl -X GET "https://example.com/api/v1/inbox/messages"{ "messages": [ { "actions": [ { "id": "string", "kind": "link", "label": "string", "target": "string" } ], "body": "string", "channel_id": "string", "created_at": "2019-08-24T14:15:22Z", "delivery": { "deliver_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "self_destruct_after_read_seconds": 0 }, "message_id": "string", "priority": "low", "recipient_user_id": "string", "sender": { "id": "string", "kind": "string" }, "state": { "archived": true, "dismissed": true, "read": true, "read_at": "2019-08-24T14:15:22Z" }, "technical_notes": null, "thread_id": "string", "title": "string" } ], "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }}POST/api/v1/inbox/messages
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages" \ -H "Content-Type: application/json" \ -d '{ "body": "string", "channel_id": "string", "recipient_user_ids": [ "string" ], "title": "string" }'{ "message_ids": [ "string" ], "scheduled": true, "status": "string"}POST/api/v1/inbox/messages/batch
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
A batch of distinct messages to send in one request. Each is sent independently and fail-fast; the server enforces a per-batch cap.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/batch" \ -H "Content-Type: application/json" \ -d '{ "messages": [ { "body": "string", "channel_id": "string", "recipient_user_ids": [ "string" ], "title": "string" } ] }'{ "count": 0, "results": [ { "message_ids": [ "string" ], "scheduled": true, "status": "string" } ]}POST/api/v1/inbox/messages/bulk
Authorization
bearer_token In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/bulk" \ -H "Content-Type: application/json" \ -d '{ "operation": "mark_read" }'{ "affected": 0, "unread_total": 0}GET/api/v1/inbox/messages/{message_id}
Authorization
bearer_token In: header
Path Parameters
Query Parameters
Mark the message read while fetching
Response Body
application/json
curl -X GET "https://example.com/api/v1/inbox/messages/string"{ "actions": [ { "id": "string", "kind": "link", "label": "string", "target": "string" } ], "body": "string", "channel_id": "string", "created_at": "2019-08-24T14:15:22Z", "delivery": { "deliver_at": "2019-08-24T14:15:22Z", "expires_at": "2019-08-24T14:15:22Z", "self_destruct_after_read_seconds": 0 }, "message_id": "string", "priority": "low", "recipient_user_id": "string", "sender": { "id": "string", "kind": "string" }, "state": { "archived": true, "dismissed": true, "read": true, "read_at": "2019-08-24T14:15:22Z" }, "technical_notes": null, "thread_id": "string", "title": "string"}POST/api/v1/inbox/messages/{message_id}/actions/{action_id}
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/string/actions/string" \ -H "Content-Type: application/json" \ -d '{}'{ "action_id": "string", "actor_user_id": "string", "created_at": "2019-08-24T14:15:22Z", "message_id": "string", "result": null, "result_id": "string", "status": "string"}POST/api/v1/inbox/messages/{message_id}/dismiss
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/string/dismiss" \ -H "Content-Type: application/json" \ -d '{}'{ "archived": true, "dismissed": true, "message_id": "string"}POST/api/v1/inbox/messages/{message_id}/read
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/string/read"{ "message_id": "string", "read": true, "unread_total": 0}POST/api/v1/inbox/messages/{message_id}/receipts
Authorization
bearer_token In: header
Path Parameters
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/string/receipts" \ -H "Content-Type: application/json" \ -d '{ "kind": "string" }'{ "kind": "string", "message_id": "string", "recorded_at": "2019-08-24T14:15:22Z"}POST/api/v1/inbox/messages/{message_id}/unread
Authorization
bearer_token In: header
Path Parameters
Response Body
application/json
curl -X POST "https://example.com/api/v1/inbox/messages/string/unread"{ "message_id": "string", "read": true, "unread_total": 0}GET/api/v1/inbox/threads
Authorization
bearer_token In: header
Query Parameters
Conditions as filter[][]=. Conditions on different fields all apply. in (any of) and all (every one of, on fields holding several values) take a comma-separated list (\, for a literal comma). exists takes true or false. Datetimes are RFC 3339, now, or a time before now such as -30m, -6h or -7d.
Comma-separated sort keys, - for descending, at most 1. Keys: unread_count, message_count, latest_at. Default: -latest_at.
Rows per page, 1 to 100 (default 25).
1 <= value <= 100The page.next_cursor of the previous page. Cannot be combined with page.
A 1-based page number, for jumping. Cannot be combined with cursor.
1 <= valueSet to true to include the number of matching rows in page.total.
Response Body
application/json
curl -X GET "https://example.com/api/v1/inbox/threads"{ "page": { "has_more": true, "next_cursor": "string", "page": 0, "total": 0 }, "threads": [ { "channel_id": "string", "highest_priority": "low", "latest_at": "2019-08-24T14:15:22Z", "latest_message_id": "string", "latest_title": "string", "message_count": 0, "thread_id": "string", "unread_count": 0 } ]}