Choose which repositories to mirror
const url = 'https://api.pealboard.com/v1/github/repositories';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"enable":[],"disable":[]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api.pealboard.com/v1/github/repositories \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "enable": [], "disable": [] }'Turns sync on or off per repository. Turning it on queues a backfill of that repository’s labels, milestones, issues and comments; a repository already being walked is not walked twice. Turning it off stops future updates and leaves what is already cached, so a screen that was working does not empty.
The first time repositories are enabled, a workspace with no default repository is given one — the suggestion GET /v1/github/default-repository/suggestion would have made, which is a repository named issues, roadmap, product, planning, tracker or support before anything else. Nothing is chosen when none of them is, because the cache is still empty at that moment and the second rule has nothing to count. It is recorded in the issue-less activity feed and can be changed at any time with PATCH /v1/workspace.
Turning sync off for the default repository clears the default, on the workspace and on every portal that named it. A default is checked to be a synced repository when it is set, and one that quietly stopped being synced would create issues Pealboard never showed again.
Access. Requires the admin role or above (admin, owner). Enabling a repository starts a walk of its whole history and puts its issues in front of every member. API-key scope: github:write.
Billing. Refused with 402 while the workspace’s billing has lapsed. Reads continue and nothing is deleted.
Authorizations
Section titled “Authorizations”Request Body
Section titled “Request Body”object
Responses
Section titled “Responses”The repositories, after the change.
object
object
A UUID this API issued.
Whether Pealboard mirrors this repository’s issues. Off until a member turns it on.
True when the installation no longer has access to it.
Backfill jobs started.
Examplegenerated
{ "data": [ { "id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "githubId": 1, "nodeId": "example", "ownerLogin": "example", "name": "example", "fullName": "example", "private": true, "archived": true, "htmlUrl": "https://example.com", "syncEnabled": true, "removed": true, "syncedAt": "2026-04-15T12:00:00Z" } ], "queued": [ "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" ]}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" }}The workspace’s billing has lapsed, so writes are refused.
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" }}