---
title: "Update organization name"
method: PUT
path: "/api/v1/organizations/{id}"
tags: ["Organizations"]
---

# Update organization name

`PUT /api/v1/organizations/{id}`

## Path parameters

- `id` string, uuid, required

## Response `200`

Organization updated

- ApiResponseOrganization
  - `data` object — The result payload. Omitted on failure.
    - `discount_save_offer_active_until` string, date-time, nullable — When the currently-active save-offer discount window expires. The BillingTab chip renders only while `> now()`; expiry needs no cleanup job.
    - `discount_save_offer_percent_off` integer, nullable — Percent off the currently-active save-offer discount applies. Read live by the BillingTab chip so a future coupon swap renders the new value without a code change.
    - `has_payment_method` boolean — Whether a payment method is on file.
    - `last_discount_at` string, date-time, nullable — Most recent save-offer-discount application. NULL = never. Drives the once-per-org eligibility check in `apply_discount_save_offer` and hides the Discount panel on the cancel modal for any return visit.
    - `last_downgrade_at` string, date-time, nullable — Most recent downgrade event timestamp (paid→cheaper, or paid→cancelled); powers the 14-day downgrade banner.
    - `last_downgrade_from_plan` union
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Community', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Free', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Starter', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Pro', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Team', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Business', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Enterprise', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Demo', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'CommercialSelfHosted', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'SelfHostedStandard', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'SelfHostedPlus', required
    - `last_paused_at` string, date-time, nullable — Most recent `Paused` billing event's timestamp; powers the 6-month rolling pause cooldown.
    - `name` string, required — Human-facing name for this organization.
    - `next_renewal_at` string, date-time, nullable — Stripe `subscription.items.data[0].current_period_end`, mirrored on every billing event that re-anchors the period (checkout, trial start / end, plan change, renewal, pause/resume, reactivate). Cleared by SubscriptionCancelled. Powers the "Next renewal on …" line in BillingPlanModal; the UI interprets the value based on plan_status (hide for paused/cancelled/past_due where the stored value can be stale or meaningless).
    - `onboarding` OnboardingOperationDiscriminants[], required — Progress through first-run setup.
    - `plan` union, required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Community', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Free', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Starter', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Pro', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Team', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Business', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Enterprise', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'Demo', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'CommercialSelfHosted', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'SelfHostedStandard', required
      - object
        - `base_cents` integer, required — Fixed charge per billing period, in cents.
        - `host_cents` integer, nullable — Charge per host beyond `included_hosts`, in cents.
        - `included_hosts` integer, nullable — Hosts included before per-host charges apply.
        - `included_networks` integer, nullable — Networks included before per-network charges apply.
        - `included_orgs` integer, nullable — Organizations allowed on one self-hosted server instance. `None` = unlimited. Only enforced for self-hosted deployments (see `provision_user`); cloud stays multi-tenant regardless. Defaulted so existing stored plan JSON deserializes unchanged.
        - `included_seats` integer, nullable — Seats included before per-seat charges apply.
        - `network_cents` integer, nullable — Charge per network beyond `included_networks`, in cents.
        - `rate` 'Month' | 'Year', required
        - `seat_cents` integer, nullable — Charge per seat beyond `included_seats`, in cents.
        - `trial_days` integer, required — Length of the free trial, in days. Zero when the plan has no trial.
        - `type` 'SelfHostedPlus', required
    - `plan_status` 'active' | 'trialing' | 'past_due' | 'paused' | 'pending_cancellation' | 'cancelled', required — Derived subscription status — our domain enum, never Stripe's raw status. Stripe webhook events map to typed `BillingOperation` variants at reception (in `billing/service.rs`); each variant deterministically implies a `PlanStatus` for downstream feature gates via `BillingOperation::implied_status`. `FromStr` is derived (via strum) so the storage layer can round-trip a snake_case `text` column back into the typed value; `ToSchema` exposes the enum as a stricter string union in the generated OpenAPI schema so the frontend's `org.plan_status === 'paused'` comparisons are compile-checked against the canonical variant list.
    - `trial_end_date` string, date-time, nullable — When the free trial ends, if one is running.
    - `trial_extended_used` boolean — Whether the org has used its one-time trial-extend perk.
    - `use_case` 'homelab' | 'internal_it' | 'msp' | 'other'
    - `created_at` string, date-time, required — When this record was first created.
    - `id` string, uuid, required — Server-assigned unique identifier.
    - `updated_at` string, date-time, required — When this record was last modified.
  - `error` string, nullable — Human-readable failure message. Omitted on success.
  - `meta` ApiMeta, required — API metadata included in all responses
    - `api_version` integer, required — API version (integer, increments on breaking changes)
    - `server_version` string, required — Server version (semver)
  - `success` boolean, required — `true` when the request succeeded. `false` responses carry `error` instead of `data`.

## Other responses

- `403` — Only owners can update organization
- `404` — Organization not found

---

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