The Inbox
const url = 'https://api.pealboard.com/v1/notifications?cursor=MDAwMS0y&limit=50&unread=true';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.pealboard.com/v1/notifications?cursor=MDAwMS0y&limit=50&unread=true' \ --header 'Authorization: Bearer <token>'Your own notifications in this workspace, newest first, with the number still unread. unread: true returns only the unread ones; unreadCount counts them all either way, so a badge stays right while the list is filtered.
Each row carries a path into the workspace application — the API does not know how a client routes, so it names where to go rather than a URL.
Access. Requires the viewer role or above (viewer, member, admin, owner). A person reads their own notifications, and a credential that cannot read its own Inbox is unusable. Readable by every credential, whatever scopes it is narrowed to.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”The nextCursor from the previous page, unchanged. Omit it to start at the beginning.
Example
MDAwMS0yThe nextCursor from the previous page, unchanged. Omit it to start at the beginning.
How many rows to return. At most 100.
How many rows to return. At most 100.
true returns only the notifications you have not read.
true returns only the notifications you have not read.
Responses
Section titled “Responses”One page of notifications, and the unread count.
object
object
A UUID this API issued.
Why this was sent.
Where to go in the workspace application, such as /issues/<id>.
A UUID this API issued.
Pass this back as cursor for the next page. Null on the last page.
Every unread notification, not only the ones on this page.
Example
{ "data": [ { "kind": "issue.assigned" } ]}No valid credentials.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}Authenticated, but not permitted.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}No such resource, or it is not visible to you.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}The request conflicts with the current state.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}The request did not match the expected shape.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}Rate limited. Retry after the interval in the header.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}GitHub or another dependency refused or did not answer. Nothing in the workspace changed.
object
object
A stable identifier for the kind of failure. Safe to branch on.
What went wrong, written for a person.
Structured particulars, when there are any.
object
What to do about it, when there is something to do.
Quote this when asking about a specific failure.
Examplegenerated
{ "error": { "code": "example", "message": "example", "detail": { "additionalProperty": "example" }, "remedy": "example", "requestId": "example" }}