Skip to content

The Inbox

GET
/v1/notifications
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.

cursor

The nextCursor from the previous page, unchanged. Omit it to start at the beginning.

string
Example
MDAwMS0y

The nextCursor from the previous page, unchanged. Omit it to start at the beginning.

limit

How many rows to return. At most 100.

integer
default: 50 >= 1 <= 100

How many rows to return. At most 100.

unread

true returns only the notifications you have not read.

string
Allowed values: true false

true returns only the notifications you have not read.

One page of notifications, and the unread count.

Media typeapplication/json
object
data
required
Array<object>
object
id
required

A UUID this API issued.

string format: uuid
kind
required

Why this was sent.

string
Allowed values: issue.assigned issue.mentioned portal.request_received sync.failed
title
required
string
detail
required
string | null
path
required

Where to go in the workspace application, such as /issues/<id>.

string | null
issueId
required

A UUID this API issued.

string | null format: uuid
readAt
required
string | null format: date-time
createdAt
required
string format: date-time
nextCursor
required

Pass this back as cursor for the next page. Null on the last page.

string | null
unreadCount
required

Every unread notification, not only the ones on this page.

number
Example
{
"data": [
{
"kind": "issue.assigned"
}
]
}

No valid credentials.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

Authenticated, but not permitted.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

No such resource, or it is not visible to you.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

The request conflicts with the current state.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

The request did not match the expected shape.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}

Rate limited. Retry after the interval in the header.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
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.

Media typeapplication/json
object
error
required
object
code
required

A stable identifier for the kind of failure. Safe to branch on.

string
message
required

What went wrong, written for a person.

string
detail

Structured particulars, when there are any.

object
key
additional properties
remedy

What to do about it, when there is something to do.

string
requestId
required

Quote this when asking about a specific failure.

string
Examplegenerated
{
"error": {
"code": "example",
"message": "example",
"detail": {
"additionalProperty": "example"
},
"remedy": "example",
"requestId": "example"
}
}