List decisions
Record a decision
| Property | Value |
|---|---|
| Auth | Required |
| Required scope | Account membership |
| Idempotent | GET yes. POST no (creates new row each call). |
POST body
| Field | Type | Required | Notes |
|---|---|---|---|
productId | string | yes | Product the decision relates to. |
title | string | yes | Short label (≤120 chars). |
context | string | no | Free text. Stored as markdown. |
decisionType | shipped | deferred | held | reversed | yes | What kind of decision. |
linkedMoveId | string | no | The move this decision settles, if any. |
Errors
| Status | Code | When |
|---|---|---|
| 400 | productId, title, decisionType required | Body invalid. |
| 401 | AUTH_REQUIRED | No session. |
| 403 | FORBIDDEN | Caller does not own the product. |
| 500 | INTERNAL_ERROR | Write failed. |