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 (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
PUT /api/v1/organization/ is the same operation as PUT /api/v1/settings/general — 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
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.
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.Account status
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
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.
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.
See also
- Subaccounts API — manage child orgs under a parent
- Branding API — resolve effective branding for the current tenant
- Settings API — general org settings behind
PUT /organization/ - 10DLC registration guide