Invoices

Updates invoice metadata

Changed on

IMPORTANT: This is a full-replace operation (PUT semantics). Every active metadata key omitted from the request body is cleared. To set or clear individual keys without disturbing the rest, use patch-invoice-metadata instead. Null, empty, and whitespace-only values clear a single key. Archived keys may only be cleared, never changed. Every key must name a definition assigned to invoices: an unknown key, or one assigned only to another entity type, fails the request with a 400. Keys are never silently ignored. The write is atomic: if any key fails validation, nothing is written.

put/invoices/{invoice_id}/metadata

Request

Path parameters

invoice_idstring required

UUID of the invoice to update metadata for.

Request body

metadataobject required

Values keyed by definition key. A full replacement: every active key omitted here is cleared, and null, empty, or whitespace-only values clear one key. Values are trimmed; TEXT values allow at most 256 characters and no line breaks.

Example request

{
  "metadata": {
    "metadata.source_invoice_id": "NS-INV-004821"
  }
}

Response

OK

OR

Example response

{
  "metadata": {
    "metadata.source_invoice_id": "NS-INV-004821"
  }
}

Changes