> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Organization API

> Read and manage your own organization — profile, KYC verification, account status, business hours, branding, and custom domains. Single-tenant, scoped to the calling org.

# Organization API

Your **own** organization — read and update its profile, run KYC ("know your customer") verification, check account status, set default business hours, and manage own-org branding and custom domains. For cross-org admin, see the [Admin Organizations API](/api-reference/subaccounts) (parent-child) or contact support for platform-level operations.

**Base path:** `/api/v1/organization`

**Authentication:** API key (`X-API-Key`) or session JWT. Read endpoints are available to any org member; endpoints marked **admin** require the `owner` or `admin` role.

## Profile

| Method | Path                    | Purpose                                                |
| ------ | ----------------------- | ------------------------------------------------------ |
| `GET`  | `/api/v1/organization/` | Get the calling org's profile                          |
| `PUT`  | `/api/v1/organization/` | Update the org's name and general settings — **admin** |

`PUT /api/v1/organization/` is the same operation as [`PUT /api/v1/settings/general`](/api-reference/settings) — it renames the org and updates its general settings, accepting the same fields and applying the same validation. Use whichever path fits your integration.

## KYC & verification

| Method | Path                                   | Purpose                                                    |
| ------ | -------------------------------------- | ---------------------------------------------------------- |
| `POST` | `/api/v1/organization/kyc/submit`      | Submit KYC documents                                       |
| `GET`  | `/api/v1/organization/kyc/status`      | Check KYC verification status                              |
| `POST` | `/api/v1/organization/kyc/idv/session` | Start a hosted ID-document + selfie-liveness (IDV) session |
| `GET`  | `/api/v1/organization/kyc/idv/status`  | Poll the IDV verification result                           |

KYC is required to send messages on certain channels (10DLC SMS in the US, registered sender IDs in some countries, WhatsApp Business verification). Statuses are `not_started` (no KYC on file), `pending`, `pending_review` (submitted, awaiting review), `approved`, and `rejected`.

The IDV endpoints add hosted document capture with selfie liveness. `POST /kyc/idv/session` returns a session you send the user to; `GET /kyc/idv/status` polls the normalized result. These return `503 IDV_NOT_CONFIGURED` until an IDV provider is provisioned for your account. An IDV pass is a verification signal reviewed alongside your KYC submission — it does not approve KYC on its own.

<Note>Legacy SDK builds (pre-2026-06-09) read verification state from the bare `GET /api/v1/organization/kyc`, which returns the same result as `/kyc/status`. New integrations should call `/kyc/status`.</Note>

## Account status

| Method | Path                                  | Purpose                                                             |
| ------ | ------------------------------------- | ------------------------------------------------------------------- |
| `GET`  | `/api/v1/organization/account-status` | Get account restriction status, reason codes, and remediation steps |

`GET /api/v1/organization/account-status` is the self-serve answer to "why is my account restricted and how do I fix it?" It reports any active restriction (outbound pause, dunning, subscription state, or pending KYC) with reason codes, the steps to clear it, and where to appeal — so an account is never silently suspended.

## Business hours

| Method | Path                                  | Purpose                                                                  |
| ------ | ------------------------------------- | ------------------------------------------------------------------------ |
| `GET`  | `/api/v1/organization/business-hours` | Get the org-wide default business hours and holiday calendar             |
| `PUT`  | `/api/v1/organization/business-hours` | Set the org-wide default business hours and holiday calendar — **admin** |

Org business hours are the company-wide default schedule. Every ACD queue, inbound route, and auto-attendant that hasn't set its own schedule inherits these hours, so you configure them once instead of per route.

## Branding

An own-org shortcut for the branding CRUD that also lives at `/api/v1/subaccounts/{id}/branding` — manage your own org's branding without needing to know your org id ahead of time. To read the resolved effective branding for the current tenant, see the [Branding API](/api-reference/branding).

| Method | Path                                  | Purpose                                              |
| ------ | ------------------------------------- | ---------------------------------------------------- |
| `GET`  | `/api/v1/organization/branding`       | Get the org's branding — **admin**                   |
| `PUT`  | `/api/v1/organization/branding`       | Update logo, colors, and brand name — **admin**      |
| `POST` | `/api/v1/organization/branding/reset` | Reset branding back to platform defaults — **admin** |

## Custom domains

An own-org shortcut for the custom-domain CRUD at `/api/v1/subaccounts/{id}/domains`. Add a vanity domain for your dashboard; each domain is CNAME-verified before it goes live.

| Method   | Path                                             | Purpose                                            |
| -------- | ------------------------------------------------ | -------------------------------------------------- |
| `GET`    | `/api/v1/organization/domains`                   | List custom domains                                |
| `POST`   | `/api/v1/organization/domains`                   | Claim a custom domain (CNAME-verified) — **admin** |
| `DELETE` | `/api/v1/organization/domains/{domainId}`        | Remove a custom domain — **admin**                 |
| `POST`   | `/api/v1/organization/domains/{domainId}/verify` | Trigger DNS re-verification — **admin**            |

## See also

* [Subaccounts API](/api-reference/subaccounts) — manage child orgs under a parent
* [Branding API](/api-reference/branding) — resolve effective branding for the current tenant
* [Settings API](/api-reference/settings) — general org settings behind `PUT /organization/`
* [10DLC registration guide](/guides/10dlc-registration)
