Issue
An Issue is a Task reporting a problem or request, such as a bug or a feature request, with a reporter and a triage step.
Properties
| Property | Type | Required | Description |
|---|---|---|---|
kind | string | One of bug, request, or question. | |
severity | string | Set by triage; a vulnerability takes critical, high, medium or low, which sets due. An Incident keeps its own scale. | |
advisory | string | For a vulnerability: the public advisory it matches, with the affected package and range. |
Inherited from Task: 3 properties
| Property | Type | Required | Description |
|---|---|---|---|
due | datetime | When the Task is due. | |
priority | integer | Its rank in the inbox, highest first. | |
recurrence | string | The schedule a recurring duty repeats on. |
Inherited from Action: 11 properties
| Property | Type | Required | Description |
|---|---|---|---|
status | string | required | One of pending, done, failed, canceled, or refused. |
reason | string | Why a pending Action waits: queued, running, retrying, awaitingWorker, awaitingInput, awaitingSource, awaitingAction, or awaitingTime. | |
mode | string | required | How the caller invoked it: try, send, or do. |
by | Worker | The Worker that performed it. | |
for | Party | The Party it was done on behalf of. | |
via | string | The Interface or request it arrived through. | |
on | string | The Action or Event that caused it, such as the failed attempt a retry follows. | |
thing | string | The record, at the Version the Action was decided against. | |
input | json | The input it was called with. | |
createdAt | datetime | When it was called. | |
reserved | money | The most this Action may cost, held against its Limits from the check until it settles, billed misses included. |
Object
{
"$id": "https: //api.sb/ patentpad.com/ issues/ issue_1",
"$type": "Issue",
"status": "pending",
"reason": "queued",
"mode": "try",
"by": "worker_1",
"for": "party_1",
"via": "API",
"on": "Invoice.overdue",
"thing": "invoice_1@v3",
"input": {},
"createdAt": "2026-10-22T12: 00: 00Z",
"reserved": {
"amount": 499,
"currency": "USD"
},
"due": "2026-10-22T12: 00: 00Z",
"priority": 1,
"recurrence": "Weekly on Friday",
"kind": "bug",
"severity": "critical",
"advisory": "GHSA-xxxx-xxxx-xxxx"
}Relationships
- An Issue addresses many Problems: an Issue addresses the Problems its Evidence came from, so the Customers behind that Evidence hear when it ships.
addresses, inverseaddressedBy. - An Issue has many Conversations: the Issue or Incident a Conversation reports; resolving it answers every linked Conversation.
conversations, inversereports. - An Issue reports one Thing: an Issue is about one Thing, such as a Product, a Page, or an Order.
reports, inverseissues. - An Issue is resolved by many Changes: a Change names the Issues it fixes; each resolves when the last open Change naming it reaches all traffic.
resolvedBy, inverseresolves.
Verbs
createCreates an Issue.POST /{namespace}/issuesgetReturns one Issue by id.GET /{namespace}/issues/{id}listReturns Issues, newest first, one page at a time.GET /{namespace}/issuesupdateChanges the given properties of an Issue.PATCH /{namespace}/issues/{id}deleteDeletes an Issue; its history is kept.DELETE /{namespace}/issues/{id}estimateEstimate records the effort an Issue needs, in days, so a week holds only what fits.POST /{namespace}/issues/{issue}/estimatereopenReopen returns a resolved Issue to its owning Role when the fix does not hold.POST /{namespace}/issues/{issue}/reopenresolveResolve closes an Issue with its fix recorded and tells every Customer who reported it.POST /{namespace}/issues/{issue}/resolvescheduleSchedule commits an Issue to a week of work and records each scope change after the week starts.POST /{namespace}/issues/{issue}/scheduletriageTriage sets an Issue’s severity and owning Role from its content and the Customer it affects.POST /{namespace}/issues/{issue}/triage
Permissions
Which Access level may call each Verb. One-way Verbs wait their delay window.
| Operation | owner | admin | member | viewer |
|---|---|---|---|---|
Issue.create | Yes | Yes | Yes | No |
Issue.get | Yes | Yes | Yes | Yes |
Issue.list | Yes | Yes | Yes | Yes |
Issue.update | Yes | Yes | Yes | No |
Issue.delete | Yes | Yes | Yes | No |
Issue.estimate | Yes | Yes | Yes | No |
Issue.reopen | Yes | Yes | Yes | No |
Issue.resolve | Yes | Yes | Yes | No |
Issue.schedule | Yes | Yes | Yes | No |
Issue.triage | Yes | Yes | Yes | No |
Call it
Triage the latest issue.Example
A translator reports that the drafting Agent drops accents from proper names. The Issue records the reporter, a sample document, and its triage outcome: bug.