Update the invoicing config

Update (or, if none exists yet, create) the invoicing policy for the authenticated (payer) Account. Omitted settings are left unchanged. Idempotent via Idempotency-Key. allowOnlyPredefinedLineItems requires value whenever the setting is present, because an omitted list cannot be told apart on the wire from a deliberately emptied one. dueInDays may be sent as a flag alone: creating a policy that way stores the default of 0, and updating an existing one leaves whatever number is already stored. Send only setting keys — the read response also carries id, accountId, owners, viewers, events and actors, and echoing those back is rejected.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Partial update — omitted settings are left unchanged. At least one setting is required: an empty body would otherwise create a policy row, move events.updatedAt and actors.updatedBy, and publish a change event for a request that changed nothing. One setting is stricter than the rest: allowOnlyPredefinedLineItems requires value whenever it is present, because an omitted list is indistinguishable on the wire from a deliberately emptied one. dueInDays may be sent as a flag alone; the payments service supplies the default of 0 when it creates a policy, and leaves a stored number untouched otherwise.

additionalGuidelines
object

Free text the payer shows a contractor while they draft an invoice. A write that enables the setting is accepted only with non-empty text, enforced by the payments service — to clear the text, omit value or switch the setting off rather than sending an empty string.

allowOnlyPredefinedLineItems
object
allowOnlySelectedCurrencies
object

Restricts invoices to the listed currencies. Enabled with an empty list means the payer's default account currency, and a GET reports that currency rather than an empty list — the response to a PATCH reports the empty list as stored, so read it back to see the effective value. A currency removed from value is not currently removed from the stored list. A stored code this API no longer recognises is omitted from a read, so a policy whose every code is unrecognised reads as an empty list.

dueInDays
object

Forces the invoice due date to a fixed number of days out. A write is accepted only for 0, 7, 15 or 30, enforced by the payments service. No enum is declared here because the value is validated on write only while the setting is enabled, so a stored policy can hold another number and a read has to be able to report it. The bounds are the wire field's: it is a 32-bit integer.

allowLineItemDiscounts
object
allowLineItemReimbursableExpenses
object
allowLateFees
object
allowProcessingFeePercentage
object
allowRecurringInvoices
object
allowCollaboratorSplits
object
allowPaymentReminders
object
allowPayeeInitiatedInvoices
object
requireAttachments
object
requireProjectName
object
requirePONumber
object
Headers
string
length between 1 and 255
^[\x21-\x7e]{1,255}$

Optional idempotency token for authenticated POST and PATCH requests. Reusing the same key and body returns the cached response for 24 hours, except credential operations that explicitly document a 409 because one-time secret material is never cached; reusing it with a different body returns 409 IdempotencyKeyConflict. Use 1-255 printable ASCII characters.

string
^(?:[A-Za-z0-9_.]{22}|[a-f0-9]{24})$

Select the Account for an Account-scoped operation. A direct ServiceAccount API key MUST supply this header, and the target must be within the ServiceAccount owner's or Authorization grant's Account boundary. A Person bearer may select an Account on which it has an active Stakeholder, and an Account session may select its bound Account (or a descendant only when the session explicitly includes descendants).

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Bearer
JWT
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json