Update an organization (owner/admin)
Changes the organization's name, billing email, tax id and country, and invoice address, and returns it. An empty string clears the tax and address fields.
Required permission
Requires the org.update permission. See Permissions for the roles and API key permissions that include it.
Command line
The orl CLI wraps this endpoint:
orl organizations updateapiKeyAuthorizationBearer <token>OpenRelay API key. Send it as Authorization: Bearer or_… (legacy vl_… keys still work).
orgId*stringapplication/json- body
name?stringbillingEmail?stringtaxId?stringTax identifier to store, max 64 chars. Requires taxCountry (in this request or already on the org). Empty string clears it.
taxCountry?stringISO 3166-1 alpha-2 (e.g. US, GB). Empty string clears it.
billingName?stringName to print on invoices, max 128 chars. Empty string clears it (the org name is then used).
billingAddressLine1?stringMax 128 chars. Empty string clears it.
billingAddressLine2?stringMax 128 chars. Empty string clears it.
billingCity?stringMax 128 chars. Empty string clears it.
billingPostalCode?stringMax 32 chars. Empty string clears it.
billingCountry?stringISO 3166-1 alpha-2 (e.g. US, GB). Empty string clears it.
Updated
application/json- response
id*stringshortId*stringname*stringslug*stringbillingEmail*stringplan*stringisProvider?booleancreatedAt?stringtaxId?stringCustomer tax identifier stored on the organization (US EIN, EU/UK VAT, SG GST, etc.), shown on the billing settings page. Requires taxCountry.
taxCountry?stringISO 3166-1 alpha-2 country whose tax scheme taxId belongs to (e.g. US, GB, SG, DE).
billingName?stringName printed on invoices and credit notes. Empty means the org name is used.
billingAddressLine1?stringbillingAddressLine2?stringbillingCity?stringbillingPostalCode?stringbillingCountry?stringISO 3166-1 alpha-2 country of the billing address.
accountStatus?stringUser-facing account state derived from the org's trust & safety risk state. "active" = normal; "pending" = a verification hold: the account can sign in and use the dashboard but cannot be funded, new deploys are paused, existing workloads keep running, and it clears on review (usually under one business day); "restricted" = new deploys paused pending review (existing workloads keep running, funding still allowed); "suspended" = read-only, workloads stopped, pending review; "banned" = disabled. Drives the dashboard account-status banner. Omitted/"active" means no banner.
curl -X PATCH 'https://api.openrelay.inc/v1/orgs/string' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "string", "shortId": "string", "name": "string", "slug": "string", "billingEmail": "string", "plan": "string", "isProvider": true, "createdAt": "string", "taxId": "string", "taxCountry": "string", "billingName": "string", "billingAddressLine1": "string", "billingAddressLine2": "string", "billingCity": "string", "billingPostalCode": "string", "billingCountry": "string", "accountStatus": "string"}Get an organization GET
Returns the organization's ids, name, slug, plan, billing email, tax id, invoice address and account status (active, pending, restricted, suspended or banned).
Soft-delete an organization (owner only) DELETE
Owner-only soft-delete: members lose access and the org's remaining workloads are stopped. Support can restore the org, but not its Kubernetes clusters. Every cluster is deleted with the org, its workloads and data removed without a drain. 409 while any VM other than a Kubernetes cluster's worker is active, or the balance is not zero.