FurniOpsDocs
API referenceBilling

Update the billing name and email

The business name invoices are made out to and the email invoices and receipts go to. Saved on the Stripe customer at once. While billing is switched off, it answers 409 conflict.

  • Scopesbilling:write
  • Rate classwrite
PATCH/v1/billing/details

The business name invoices are made out to and the email invoices and receipts go to. Saved on the Stripe customer at once. While billing is switched off, it answers 409 conflict.

Authorization

apiKey
AuthorizationBearer <token>

An API key (fo_live_… / fo_test_…) as a bearer token

In: header

Header Parameters

FurniOps-Version?string

Dated API version; pinned per organisation on first use and overridable per request

Value in

  • "2026-10-01"
  • "2026-10-04"
FurniOps-Mode?string

The data the request acts on: test is the organisation's sandbox. An OAuth token picks it (live by default); an API key's mode is fixed, and naming the other one is refused

Value in

  • "live"
  • "test"
FurniOps-Dry-Run?string

This operation cannot be previewed (Saved at Stripe at once): 422 preview_unsupported, nothing changes

Value in

  • "true"
  • "explain"

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The billing name and email; fields left out stay as they are

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

curl -X PATCH "https://example.com/v1/billing/details" \  -H "Content-Type: application/json" \  -d '{}'
{  "object": "billing_details",  "name": "string",  "name_follows_org": true,  "email": "[email protected]"}