---
title: "Update an organization (owner/admin)"
method: PATCH
path: "/v1/orgs/{orgId}"
tags: ["Organizations"]
---

# Update an organization (owner/admin)

`PATCH /v1/orgs/{orgId}`

## Path parameters

- `orgId` string, required

## Request body

- UpdateOrgRequest
  - `billingEmail` string
  - `name` string
  - `taxCountry` string — ISO 3166-1 alpha-2 (e.g. US, GB). Empty string clears it.
  - `taxId` string — Tax identifier to store, max 64 chars. Requires taxCountry (in this request or already on the org). Empty string clears it.

## Response `200`

Updated

- Organization
  - `accountStatus` string — User-facing account state derived from the org's trust & safety risk state. "active" = normal; "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.
  - `billingEmail` string, required
  - `createdAt` string
  - `id` string, required
  - `isProvider` boolean
  - `name` string, required
  - `plan` string, required
  - `shortId` string, required
  - `slug` string, required
  - `taxCountry` string — ISO 3166-1 alpha-2 country whose tax scheme taxId belongs to (e.g. US, GB, SG, DE).
  - `taxId` string — Customer tax identifier stored on the organization (US EIN, EU/UK VAT, SG GST, etc.), shown on the billing settings page. Requires taxCountry.

## Other responses

- `400` — The request is invalid
- `401` — Missing or invalid API key
- `403` — API key lacks the required scope
- `404` — Resource not found

---

[API](https://skmtc.net/openrelay/apis/openrelay-api.md) · [All operations](https://skmtc.net/openrelay/apis/openrelay-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openrelay/openrelay-api/revisions/6e0f476b5876/schema)
