Schedules

Check what blocks publishing

GET
/v1/channels/{id}/publish-gate

Scope: channels:read

Authorization

apiKey
headerAuthorizationBearer <ik_live_…>

An organisation API key from Settings → Organisation → API keys. Each operation names the one scope it needs — see https://developer.ingenee.ai/docs/authentication.

Path Parameters

id*string

Response Body

OK

application/json
  1. response
[key: string]?any
Example Request
curl -X GET 'https://dev.app.ingenee.ai/api/v1/channels/string/publish-gate'
Example Response
{  "blockers": [],  "warnings": [    "96 airing(s) repeat a title inside the 72h window.",    "1359 min of junction time left \"Unallocated\" (first 7 days checked) — this channel's own IDs, promos and loop clip cannot fill it. Add spots on the Promo lib…"  ],  "passing": [    "Watershed clean — no mature content before 20:00 local · prime-time start (no watershed set)",    "Full runtimes — no airing is shorter than its content, none overlap"  ],  "destinations": [    {      "name": "E2E Ad Channel India · XMLTV EPG",      "path": "cdn.ingenee.ai/epg/e2e-ad-channel-india.xml",      "ready": true    },    {      "name": "E2E Ad Channel India · schedule JSON",      "path": "cdn.ingenee.ai/channels/e2e-ad-channel-india.json",      "ready": true    }  ],  "counts": {    "blockers": 0,    "warnings": 5,    "passing": 8  },  "canPublish": true,  "version": {    "versionNum": 181,    "itemCount": 102,    "coveredDays": 8  },  "health": {    "familiarity": 94,    "freshness": 6,    "channelId": 100,    "slots": 102,    "distinctTitles": 6,    "heavyRotation": [      {        "title": "Toy Story",        "airings": 17      },      {        "title": "Coco",        "airings": 17      }    ],    "drift": [      "Overplay: \"Toy Story\" is 17 of 102 airings (17%)",      "Low freshness: only 6 distinct titles across 102 slots"    ]  }}