API reference/Stations

Get the station's clearance

read

Dayparts the station clears, units a day, deadlines and contacts.

GEThttps://affiliates.radioworkflow.com/api/v1/affiliations/{id}/clearance
Read: this changes nothing.

What the station has agreed to carry for this network: each daypart it clears with its days, window and units a day, the shows it carries, the deadline rule for signing, how audio is delivered, the network contact and the station's people with their roles.

Authentication

Send a station key as Authorization: Bearer rwaff_k_.... A key with the read scope. Keys and scopes

Path parameters

idstring1 to 64 charactersrequired
The affiliation id from GET /v1/affiliations: one station's relationship with one network.

Response

200application/jsonThe clearance, shows, deadline rule, contacts and people.

Response schema

clearanceDaypartClearance[]required
showsShowVehicle[]required
deadlineRulestringrequired
networkContactobjectrequired
networkContact.namestringrequired
networkContact.titlestringrequired
networkContact.emailstringrequired
networkContact.phonestringrequired
audioDeliverystringrequired
peoplePerson[]required
DaypartClearance7 fields
namestringrequired
daysstringrequired
windowStartinteger (0 to 1439)required
windowEndinteger (0 to 1439)required
maxPerDayintegerrequired
vehicleIdstringrequired
unitsByWeekdayinteger[]required
ShowVehicle11 fields
idstringrequired
namestringrequired
kind"daily" | "weekend"required
daysinteger[] (0 to 6)required
hoursinteger (0 to 24)required
breakCountintegerrequired
usualStartinteger (0 to 1439)optional
usualEndinteger (0 to 1439)optional
localBreaksobject[]required
localBreaks[].hourinteger (1 to 24)required
localBreaks[].breakNumberinteger (1 to 1000)required
Person7 fields
namestringrequired
emailstringrequired
rolestringrequired
canSignbooleanrequired
lastSeenstringrequired
titlestringrequired
roleCode"view" | "report" | "sign"required

Errors

403forbiddenThe key is valid but cannot do this for this affiliation: the affiliation is not one of the key's, or the person who made the key lacks the role.
502upstream_failedThe service behind the API answered in a way the portal could not use.
Possible on every endpoint
401invalid_principalThe key is missing, malformed, unknown, revoked or expired; all of these answer the same way.
429rate_limitedToo many requests: the key's bucket, a daily limit or the failed sign-in brake refused this one.
500server_errorSomething went wrong on our side. The answer never carries internal detail.
503unavailableThe service is not available right now: it could not be reached, or it is not set up yet.

Every code, its fix and when to retry

Rate limits

Failed sign-ins per address10 per minuteportal:auth
Burst per key60 per minuteportal:key
Calls per key600 per 10 minuteskey:{prefix}

The limits and the RateLimit headers

MCP

An assistant calls this as the tool get_clearance, with the same input as one object. The MCP server
Request
curl -X GET 'https://affiliates.radioworkflow.com/api/v1/affiliations/srn-ksmt/clearance' \
  -H "Authorization: Bearer $AFFILIATE_API_KEY"
Response200
{
  "clearance": [
    {
      "name": "Summit ROS (ROS)",
      "days": "Mon to Fri",
      "windowStart": 360,
      "windowEnd": 1139,
      "maxPerDay": 2,
      "vehicleId": "demo-ros",
      "unitsByWeekday": [
        2,
        2,
        2,
        2,
        2,
        0,
        0
      ]
    }
  ],
  "shows": [
    {
      "id": "show-wd",
      "name": "The Summit Show",
      "kind": "daily",
      "days": [
        0,
        1,
        2,
        3,
        4
      ],
      "hours": 5,
      "breakCount": 19,
      "usualStart": 1140,
      "usualEnd": 1439,
      "localBreaks": [
        {
          "hour": 2,
          "breakNumber": 5
        }
      ]
    }
  ],
  "deadlineRule": "Friday after the broadcast week, 5:00 PM",
  "networkContact": {
    "name": "Marcus Bell",
    "title": "Network Traffic Coordinator",
    "email": "affiliates@summit-sample.example",
    "phone": "(555) 010-2440"
  },
  "audioDelivery": "Delivered by the network's spot delivery service",
  "people": [
    {
      "name": "Dana Ortiz",
      "email": "traffic@ksmt-sample.example",
      "role": "Traffic Director",
      "canSign": true,
      "lastSeen": "Now",
      "title": "Traffic Director",
      "roleCode": "sign"
    }
  ]
}

Try it

Demo data, no key, nothing saved