Skip to content

Re-derive the project's Priority Orbit from its open tickets

POST
/projects/{id}/prioritization/derive
curl --request POST \
--url https://example.com/api/projects/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/prioritization/derive \
--cookie sb-access-token=<sb-access-token>

Runs one AI pass over the project’s OPEN tickets and REPLACES the stored derivation, then returns the same shape as GET. Manual only — nothing re-derives on a schedule or on read. Error codes: PRIORITIZATION_NOT_CONFIGURED (503, no Anthropic API key available), PRIORITIZATION_FAILED (503, the model errored or returned an unusable grouping), NO_OPEN_TICKETS (409).

id
required
string format: uuid

Project UUID

The newly stored derivation with its topics

Media type application/json
object
derivation
required
One of:
null
topics
required
Array<object>
object
id
required
string format: uuid
name
required
string
short_name
required

1-3 word label for the orbit node.

string
band
required

When to act — the orbit ring, not the topic’s size.

string
Allowed values: now next watch
outcome
required
string
grouping_reason
required
string
sort_order
required
integer
tickets
required
Array<object>
object
id
required
string format: uuid
number
required

The in-product HO serial (HO-).

integer
title
required
string
stage
required
string
Allowed values: backlog up_next in_progress validation live
status
required
string
Allowed values: open closed
priority
required
string
Allowed values: low medium high
closed
required

Read live at request time, not frozen with the derivation. A ticket closed since the derivation stays in its topic and renders as done.

boolean

Not authenticated

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
reconnect

True if re-linking GitHub may fix the issue

boolean

Forbidden

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number

The project has no open tickets to prioritize

Rate limited

Media type application/json
object
error
required

Human-readable error message

string
code

Stable machine-readable error code for client branching

string
fieldErrors

First validation message per field path

object
key
additional properties
string
issues

Structured validation issues (Zod)

Array<object>
object
path
required
string
message
required
string
retryAfter

Seconds until rate limit resets (429 responses)

number
retryAfter

Seconds until the rate limit resets

number
Retry-After
string

No API key configured, or the derivation failed