Skip to content

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

PropertyTypeRequiredDescription
kindstringOne of bug, request, or question.
severitystringSet by triage; a vulnerability takes critical, high, medium or low, which sets due. An Incident keeps its own scale.
advisorystringFor a vulnerability: the public advisory it matches, with the affected package and range.
Inherited from Task: 3 properties
PropertyTypeRequiredDescription
duedatetimeWhen the Task is due.
priorityintegerIts rank in the inbox, highest first.
recurrencestringThe schedule a recurring duty repeats on.
Inherited from Action: 11 properties
PropertyTypeRequiredDescription
statusstringrequiredOne of pending, done, failed, canceled, or refused.
reasonstringWhy a pending Action waits: queued, running, retrying, awaitingWorker, awaitingInput, awaitingSource, awaitingAction, or awaitingTime.
modestringrequiredHow the caller invoked it: try, send, or do.
byWorkerThe Worker that performed it.
forPartyThe Party it was done on behalf of.
viastringThe Interface or request it arrived through.
onstringThe Action or Event that caused it, such as the failed attempt a retry follows.
thingstringThe record, at the Version the Action was decided against.
inputjsonThe input it was called with.
createdAtdatetimeWhen it was called.
reservedmoneyThe most this Action may cost, held against its Limits from the check until it settles, billed misses included.

Object

JSON
{
  "$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

Verbs

  1. createCreates an Issue.
    POST /{namespace}/issuesdoIssue.created
  2. getReturns one Issue by id.
    GET /{namespace}/issues/{id}readNo Event
  3. listReturns Issues, newest first, one page at a time.
    GET /{namespace}/issuesreadNo Event
  4. updateChanges the given properties of an Issue.
    PATCH /{namespace}/issues/{id}doIssue.updated
  5. deleteDeletes an Issue; its history is kept.
    DELETE /{namespace}/issues/{id}doIssue.deleted
  6. estimateEstimate records the effort an Issue needs, in days, so a week holds only what fits.
    POST /{namespace}/issues/{issue}/estimatedoIssue.estimated
  7. reopenReopen returns a resolved Issue to its owning Role when the fix does not hold.
    POST /{namespace}/issues/{issue}/reopendoIssue.reopened
  8. resolveResolve closes an Issue with its fix recorded and tells every Customer who reported it.
    POST /{namespace}/issues/{issue}/resolvedoIssue.resolved
  9. scheduleSchedule commits an Issue to a week of work and records each scope change after the week starts.
    POST /{namespace}/issues/{issue}/scheduledoIssue.scheduled
  10. triageTriage sets an Issue’s severity and owning Role from its content and the Customer it affects.
    POST /{namespace}/issues/{issue}/triagedoIssue.triaged

Permissions

Which Access level may call each Verb. One-way Verbs wait their delay window.

Operationowneradminmemberviewer
Issue.createYesYesYesNo
Issue.getYesYesYesYes
Issue.listYesYesYesYes
Issue.updateYesYesYesNo
Issue.deleteYesYesYesNo
Issue.estimateYesYesYesNo
Issue.reopenYesYesYesNo
Issue.resolveYesYesYesNo
Issue.scheduleYesYesYesNo
Issue.triageYesYesYesNo

Call it

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