CalryOTA Docs

Distribution Channels

Channel-scoped API keys with per-channel markup and availability control

Introduction

Distribution channels let a workspace sell the same inventory through multiple sales surfaces — its own booking site, a metasearch partner, a B2B reseller — each with its own pricing markup and its own on/off switch per listing.

A channel is a workspace-level object with an uppercase, workspace-unique name (e.g. NUITEE) and a default markupPercentage. API keys can be scoped to a channel; requests authenticated with a channel-scoped key get that channel's markup applied to search and quote pricing, and only see listings enabled for that channel.

Markup & Enablement Resolution

Settings resolve through a cascade — the most specific level that defines a value wins:

Listing setting → Integration-account setting → Tenant setting → Channel default (workspace)

Each level's setting has two independently inheritable fields:

FieldOmitted means
enabledInherit the parent level's value
markupPercentageInherit the parent level's markup

Read endpoints return the effective setting plus a markupSource (WORKSPACE, TENANT, INTEGRATION_ACCOUNT, or LISTING) telling you which level supplied the winning markup — useful for building settings UIs that show where a value comes from.

Endpoints

GET  /api/v1/channels                                          # list workspace channels
POST /api/v1/channels                                          # create (requires master token)
GET  /api/v1/tenants/{id}/channels                             # effective settings per channel
POST /api/v1/tenants/{id}/channels                             # set tenant override
GET  /api/v1/integration-account/{id}/channels                 # effective settings per channel
POST /api/v1/integration-account/{id}/channels                 # set integration-account override
GET  /api/v1/listing/{id}/channels                             # effective settings per channel
POST /api/v1/listing/{id}/channels                             # set listing override

Channel creation is a platform operation guarded by the x-master-token header; the settings endpoints use normal API-key auth (with optional x-calry-tenant-id, as elsewhere).

API Reference

On this page