Docs
Authentication
Partner requests authenticate with an API key or an OAuth2 client-credentials token.
API key
X-Api-Key: vp_live_… # or Authorization: Bearer vp_live_…
OAuth2 client credentials
Use a tenant confidential Keycloak client that includes customer_id. Send Authorization: Bearer <access_token>. See voice-application-plane/infra/keycloak/partner-oauth.md in the repo for setup.
Conventions
| Concern | Rule |
|---|---|
| Envelope | { data, meta, error } |
| Pagination | page / page_size → meta.page, meta.page_size, meta.total |
| Request ID | X-Request-Id echoed on every response
|
| API version | X-API-Version: v1 |
| Idempotency | Idempotency-Key on POST / PUT / PATCH
|
| Rate limit | 120 req/min per credential (plus gateway limits) |
Workspace
Optional X-Workspace-Id must belong to the tenant. API keys resolve the org default workspace when
unset.