Bills

Updates bill 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-bill-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 bills: 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. Writes are rejected with a 400 while the bill has a pending approval request.

put/bills/{bill_id}/metadata

Request

Path parameters

bill_idstring required

UUID of the bill 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

metadataobject required

Values keyed by definition key. A key with no value on this record is omitted. Use list-all-metadata-definitions for definition names, types and status.

Example response

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

Changes