Skip to main content

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

HeaderTypeRequiredDescription
AuthorizationstringYesBearer token: Bearer <token>
Content-TypestringYesapplication/json

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace identifier
invoiceIdstringYesPOS invoice ID

Request Body

FieldTypeRequiredDescription
notesstring | nullNoInvoice notes (max 2000 chars); omit if not changing
paymentMethodstring | nullNoOne 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