Patch POS Invoice Draft (v1)
Method & Path
PATCH /v1/workspace/:workspaceId/pos/invoices/:invoiceId
Actual backend path: /v1/workspace/:workspaceId/pos/invoices/:invoiceId
Description
Update fields on a draft POS invoice only. At least one of notes or paymentMethod must be provided. Used to persist the chosen payment method on the POS invoice before completion (in addition to optional client financial invoice creation).
Authentication
Required: JWT in Authorization header.
Required permissions: store.orders.manage
Persona: Workspace Owner, Staff (store.orders.manage)
Headers
| Header | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Bearer token: Bearer <token> |
Content-Type | string | Yes | application/json |
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workspaceId | string | Yes | Workspace identifier |
invoiceId | string | Yes | POS invoice ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
notes | string | null | No | Invoice notes (max 2000 chars); omit if not changing |
paymentMethod | string | null | No | One of cash, check, bank-transfer, card, other; null clears the draft value |
At least one of notes or paymentMethod must be present in the body.
Example
{
"paymentMethod": "card"
}
Response 200 OK
Returns { "invoice": { ... } } with the same shape as Get POS Invoice, including paymentMethod when set.
Common Errors
- 400 Bad Request: Invalid invoice identifier; no fields to update; invoice not in draft status
- 401 Unauthorized: Missing or invalid authentication token
- 403 Forbidden: Insufficient permissions
- 404 Not Found: Invoice not found
- 422 Unprocessable Entity: POS business session closed (draft locked)
- 500 Internal Server Error: Server error