Reference
API documentation
The production customer API is served from this site. All routes require a valid API key. Keys are created from your account after you register (7-day trial after you verify your email) and subscribe. The playground on this site is unauthenticated and for preview only; it is not a substitute for the customer API.
Base URL
https://staging.broadcast-calendar.cloud
Authentication
Send the key on every request:
Authorization: Bearer <your_api_key>- or
X-API-Key: <your_api_key>
Create and revoke keys from the account page. The full key is shown only once.
Access and trial
The account email must be verified. You can call the v1 API while you have an active 7-day trial (starting at verification) or an active paid or subscription period. If both trial and a paid access_until apply, the longer effective access wins for eligibility.
Endpoints
All methods are GET and return JSON.
Channel IDs are UUIDs (e.g. aff8c27a-0765-4acc-8e41-58f8f75a49d7). Use the id returned from country channel lists or channel search in programme URLs.
/api/v1/countries
List countries
curl -s "https://staging.broadcast-calendar.cloud/api/v1/countries" \
-H "Authorization: Bearer YOUR_KEY"/api/v1/countries/{country}/channels
List channels in a country
curl -s "https://staging.broadcast-calendar.cloud/api/v1/countries/NO/channels" \
-H "Authorization: Bearer YOUR_KEY"/api/v1/channels/search?q=…&country=…
Search channels
Query: q (required for search text), country (optional filter).
curl -s "https://staging.broadcast-calendar.cloud/api/v1/channels/search?q=news" \
-H "Authorization: Bearer YOUR_KEY"/api/v1/channels/{channelId}/programmes
Channel programmes (schedule)
path channelId: UUID. Optional query: days, all — same meaning as the public playground.
curl -s "https://staging.broadcast-calendar.cloud/api/v1/channels/aff8c27a-0765-4acc-8e41-58f8f75a49d7/programmes" \
-H "Authorization: Bearer YOUR_KEY"Errors
Error bodies are JSON with error (message) and code (stable identifier) where applicable. 401 missing/invalid key, 403 no active trial or paid access, 503 upstream or configuration problem.