One view
const url = 'https://api.pealboard.com/v1/views/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';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/views/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>'A shared view, or one of your own. Another member’s personal view is a 404.
Access. Requires the viewer role or above (viewer, member, admin, owner). A view is a saved filter over issues the member can already read. API-key scope: views:read.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”From GET /v1/views.
From GET /v1/views.
Responses
Section titled “Responses”The view.
object
A UUID this API issued.
board groups by the view’s groupBy; the other two do not.
object
Full text over title, number, label names and body.
Repository ids. Any of them matches.
Label names. An issue must carry every one of them.
GitHub logins, @me for the caller, or none for unassigned. Any of them matches.
Milestone ids, or none.
Project ids. Any of them matches.
Issue type names, or none.
Project field node id to the value it must hold, or none for not set. Every entry must match.
The value is matched against the word on the card, and against an option id or an iteration id for a caller that already asked GitHub. A number is compared as a number, so 3 matches a stored 3.0. Five operators are written into the value, because the parameter’s name is already the field’s node id: >=, >, <=, <, and a..b for an inclusive range. A comparison operand has to be a number or a date as YYYY-MM-DD; anything else is a 422 rather than a refusal from Postgres. A date comparison also matches an iteration, by its start date.
object
An ISO 8601 instant, or a window such as -7d, -24h, -2w.
The same forms as updatedSince.
Issues on no project, or on one whose Status field is not set.
Issues that are a request in at least one portal.
object
The project field to order by, when key is field. A number sorts numerically, a date and an iteration chronologically, a single select in the project’s own option order, and a text field alphabetically. An issue with no value for the field sorts last, whichever direction is asked for. A node id that names no field falls back to the default sort, so a view saved against a field somebody has since deleted still opens.
object
Any kind of project field. A single select’s columns are its options, an iteration field’s are its iterations, a date’s are months, and a number’s or a text field’s are the distinct values this board holds.
For a view saved before any project existed. Resolved when the board is run.
A UUID this API issued.
object
object
object
object
The columns the table layout shows, in order. Empty means the client’s own default set.
Shared with the workspace. A view that is not shared is visible only to the member who owns it.
Null for a shared view.
Which of the six seeded views this started as, or null for one somebody made.
Example
{ "id": "3c9a1f52-7b8e-4d21-9f03-6a5b4c3d2e1f", "name": "Needs triage", "layout": "list", "filter": { "state": "open", "noProjectStatus": true }, "sort": { "key": "created", "order": "desc" }, "groupBy": null, "columns": [], "shared": true, "ownerMembershipId": null, "builtIn": "needs_triage", "createdAt": "2026-09-09T10:00:00.000Z", "updatedAt": "2026-09-09T10:00:00.000Z"}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" }}