Preview — pending review
This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.
Update the tenant's billing identity
Partial update of the billing identity: legal name, tax / VAT id, address line, city, postal
code, country. Only supplied fields change; an empty string clears an optional field. The next invoice
closed for the tenant carries the new values.
Validation: the tenant OWNER only (else 403 FORBIDDEN) — the identity is tenant-wide; the values go
through the shared profile validators: for country TR the tax id must be a valid VKN (10
digits) or TCKN (11 digits), elsewhere 3–40 letters, digits, spaces and . - /; country an ISO 3166-1
alpha-2 code; text length limits — violations map to 422 VALIDATION_FAILED naming the field. Changing the
country re-checks the stored tax id.
Async & state: synchronous — returns 200 with the updated CompanyProfile.
Errors: 401 unauthenticated; 403 not the tenant owner; 404 unknown scope; 422 field validation
failure; 500 internal failure.
Idempotency/Concurrency: This operation does not use Idempotency-Key; it may be omitted
and a sent one is ignored. A repeated identical request sets the same values again and returns
200 with the same CompanyProfile; no If-Match precondition is evaluated (last write wins).
bearerTokenAuthorizationBearer <token>An API token (pc_live_…) or a service-account key (sak_live_…), created in Identity & Access Management and sent as Authorization: Bearer <token>. Requests are rate limited per credential and per tenant: every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset, and a refused request gets 429 RATE_LIMITED with Retry-After.
scopeId*stringOpaque ownership+authorization scope resolving to tenant + subscription + project.
application/json- body
Partial update of the billing identity; all fields optional, an empty string clears an optional field. Validated by the same rules as sign-up and the operator edits.
legalName?stringlength <= 200taxId?stringlength <= 40addressLine1?stringlength <= 200city?stringlength <= 100postalCode?stringlength <= 16country?stringISO 3166-1 alpha-2 country code.
Updated billing identity.
application/json- response
The tenant's billing identity — exactly what the invoice "Bill To" is frozen from:
the tax id on the tenant, the legal name and address on the tenant owner's profile. One record per
tenant; id is the tenant id.
id*stringThe tenant id (one billing identity per tenant).
legalName*stringRegistered company name (the owner's companyName); empty when not set.
displayName*stringThe tenant (organization) display name. Read-only here.
website*stringRead-only here; edited on the Company settings screen.
taxId*stringTax / VAT identifier. For country TR a valid VKN (10 digits) or TCKN (11 digits); elsewhere 3–40
letters, digits, spaces and . - /.
billingEmail*stringThe address invoices are addressed to — the tenant owner's login email (the invoice bill-to fallback). Read-only.
addressLine1*stringcity*stringpostalCode*stringcountry*stringISO 3166-1 alpha-2 country code (e.g. TR, DE, GB, US, AE); empty when not set.
curl -X PATCH "https://example.com/scopes/string/settings/company" \ -H "Content-Type: application/json" \ -d '{}'{ "id": "string", "legalName": "Acme Technologies Ltd", "displayName": "Acme Corp", "website": "https://acme.io", "taxId": "GB 432 5089 17", "billingEmail": "billing@acme.example", "addressLine1": "1 Finsbury Avenue", "city": "London", "postalCode": "EC2M 2PF", "country": "GB"}