Skip to content
APIProductBuild and shipIssue

Issue routes: schedule, triage

The Issue Verbs schedule, triage as api.sb routes, with inputs, result, refusals and an example.

Reference for Issue, one group of Issue routes.

Issue.schedule

Schedule commits an Issue to a week of work and records each scope change after the week starts. Verb page.

Text
POST /{namespace}/issues/{issue}/schedule

Path: issue. Body, as JSON: the other inputs. Emits Issue.scheduled.

Inputs

InputTypeRequiredDescription
issueIssuerequiredThe Issue to commit.
weekdaterequiredThe first day of the week it is committed to.

Returns

OutputTypeRequiredDescription
issueIssuerequiredThe scheduled Issue.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/issues/issue_vWekeqrXCN/schedule \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"week":"2026-10-22"}'
JSON
{
  "api": "https://api.sb/leaseline.app",
  "issue": {
    "$id": "https://api.sb/leaseline.app/issues/issue_vWekeqrXCN",
    "$type": "Issue",
    "status": "pending",
    "mode": "try"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Issue.schedule",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}

Issue.triage

Triage sets an Issue’s severity and owning Role from its content and the Customer it affects. Verb page.

Text
POST /{namespace}/issues/{issue}/triage

Path: issue. Emits Issue.triaged.

Inputs

InputTypeRequiredDescription
issueIssuerequiredThe new Issue.

Returns

OutputTypeRequiredDescription
issueIssuerequiredThe triaged Issue.

Refuses when

CheckErrorFixThen call
The key is valid, but its scopes do not allow this operation.forbiddenUse a key whose scopes cover the operation, or ask an owner of the namespace to grant them.None.
The record is not in a state that allows this Verb, so the call is refused.refusedRead the record, run the Verb that moves it to an allowed state, then retry.None.

Example

Terminal
curl -X POST https://api.sb/leaseline.app/issues/issue_vWekeqrXCN/triage \
  -H "Authorization: Bearer $STARTUP_BUILDER_API_KEY"
JSON
{
  "api": "https://api.sb/leaseline.app",
  "issue": {
    "$id": "https://api.sb/leaseline.app/issues/issue_vWekeqrXCN",
    "$type": "Issue",
    "status": "pending",
    "mode": "try"
  },
  "action": {
    "$id": "https://api.sb/leaseline.app/actions/act_br07HsG8MG",
    "operation": "Issue.triage",
    "status": "done"
  },
  "links": {
    "self": "https://api.sb/leaseline.app/actions/act_br07HsG8MG"
  }
}