Skip to content

Developer changelog

2026-09-14 — API 0.1, 130 operations; SDK 0.1.7

Section titled “2026-09-14 — API 0.1, 130 operations; SDK 0.1.7”
  • PATCH /v1/issues/{issueId} takes duplicateOfIssueId with state: closed and stateReason: duplicate. GitHub records the canonical issue, Issue.duplicateOfIssueId carries it, and a portal’s CustomerRequestDetail.mergedInto names the request that carries a Merged one when the customer may see it.
  • PortalRequest.submission: a held request’s answers, under the form’s labels, for the hold queue.
  • POST /portal/requests/{reference}/comments takes attachmentIds; a comment may be files alone. DELETE /portal/attachments/{id} (the uploader’s own) and DELETE /v1/attachments/{id} are new.
  • GET /portal/requests pages: limit, cursor, nextCursor.
  • Every create under /v1 and /portal now states in its description that Idempotency-Key is honoured, from the route definition itself.
  • Cursors resume exactly. Every paged list compared strictly on its timestamp and lost the first row of each page after the first; the comment list’s comparison pointed the other way. Fixed everywhere at once.
  • @pealboard/sdk 0.1.7 wraps attachments (multipart upload, re-sign, delete), the Slack integration and the audit log.
  • MCP update_issue takes duplicateOfIssueId.

The first published version of this developer documentation, generated alongside the API’s own OpenAPI 3.1 document.

  • /v1 and /portal, 110 operations across 17 tags: Account, Workspaces, Members, GitHub, Issues, Projects, Labels, Milestones, Views, Portals, Portal, Notifications, Integrations, Attachments, Billing, API keys, Audit log.
  • Three credentials: a session cookie, a bearer session token, and an API key prefixed pb_.
  • One error envelope, cursor pagination on every list, Idempotency-Key on creates, and Pealboard’s own rate limits alongside GitHub’s.
  • The GitHub App’s permissions, the events it receives, and how it attributes what it writes.
  • @pealboard/sdk, a TypeScript client generated from the same OpenAPI document, installed from a private repository.
  • The MCP server at https://mcp.pealboard.com/mcp, authenticating with an API key.
  • No outbound webhooks yet. See Webhooks.

See the marketing changelog for what shipped in the product itself on the same day.