Enterprise API

Build on the archive

A REST API over the same index the workspace uses. Every response carries the broadcast, timecode and speaker attribution, so downstream products can cite Channels correctly.

Base URL

https://api.example

Authentication

Authorization: Bearer ci_live_9f2••••••••••

Keys are issued per organisation and scoped to read, read+clips or full. Requests are metered in credits; volume tiers are set in the enterprise contract.

GET

/v1/search

Ask a natural-language question and receive a synthesised answer with citations.

Request

curl "https://api.example/v1/search?q=exchange+rate+policy&programmes=Sunrise+Daily&limit=5" \
  -H "Authorization: Bearer $CI_API_KEY" \
  -H "Accept: application/json"

Response

{
  "answer": "On 8 September 2021, the Central Bank Governor defended the managed exchange rate on Sunrise Daily, arguing that unification without reserves would invite arbitrage [1].",
  "sources": [
    {
      "index": 1,
      "programme": "Sunrise Daily",
      "broadcast_date": "2021-09-08",
      "start_time": 512.0,
      "end_time": 548.0,
      "speaker": "Central Bank Governor",
      "quote": "We will not unify the rate into a vacuum; reserves must back any convergence."
    }
  ],
  "refused": false,
  "missing": null
}

Refused response

{
  "answer": null,
  "sources": [],
  "refused": true,
  "missing": "The archive does not contain any coverage of this topic in the requested date range or programmes."
}

Authentication

All API requests require a bearer token issued per organisation. Keys are created in the Admin console under API keys and scoped to read, read+clips or full. Include the token in every request header.

Authorization: Bearer ci_live_9f2••••••••••

Rate limits and credits

Standard plans are limited to 60 requests per minute with a burst of 120. Enterprise plans receive 300 requests per minute by default; higher limits are set by contract. Each request decrements credits from the organisation's monthly pool.

Standard:  60 req/min, burst 120
Enterprise: 300 req/min, custom by contract

Webhooks

Alerts can deliver to a webhook URL. Webhooks are sent within 30 seconds of a match and retried up to three times with exponential backoff. Verify the X-CI-Signature header against your signing secret before processing the payload.

X-CI-Signature: sha256=<hex>
X-CI-Event: mention.created

Rights and attribution

Every response includes broadcast, programme, date, timecode and speaker attribution. Clips and transcripts are licensed per the organisation's agreement. Broadcast reuse requires a separate rights agreement; internal presentations and reports are covered by the standard clip licence.

Attribution: "Channels Television, Politics Today, 2023-05-31"