API reference/Stations

List affiliations

read

Stations and networks this key or person can see.

GEThttps://affiliates.radioworkflow.com/api/v1/affiliations
Read: this changes nothing.

Every affiliation the key can reach. An affiliation is one station's relationship with one network: a station that carries two networks has two, each with its own id, deadlines and people.

Start here. Every other endpoint takes the id of an affiliation from this list, and each entry says what the key may do there:

  • canReport is true where the key may report times. It needs the report scope, and a station whose affidavits come from its own Radio Workflow log (lane radioworkflow) does not report here.
  • readOnly is true once the network has paused or ended the affiliation. Its history stays readable; nothing new can be reported or acknowledged.
  • canSign is always false for a key: a person signs a week in the portal.

vehicles lists the network's shows and its run-of-schedule (ROS) vehicle this station carries. Show certificates and printed documents name a vehicle by its id.

Authentication

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

Response

200application/jsonThe affiliations, in the order the portal lists them.

Response schema

affiliationsAffiliation[]required
Affiliation23 fields
idstringrequired
networkNamestringrequired
networkShortstringrequired
stationCallstringrequired
stationNamestringrequired
marketstringrequired
lane"portal" | "radioworkflow"required
canSignbooleanrequired
canReportbooleanrequired
role"view" | "report" | "sign"required
readOnlybooleanrequired
timezonestringrequired
networkContactobjectrequired
networkContact.namestringrequired
networkContact.titlestringrequired
networkContact.emailstringrequired
networkContact.phonestringrequired
deadlineRulestringrequired
audioDeliverystringrequired
vehiclesobject[]required
vehicles[].idstringrequired
vehicles[].namestringrequired
vehicles[].kind"show" | "ros"required

Errors

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 list_affiliations, with the same input as one object. The MCP server
Request
curl -X GET 'https://affiliates.radioworkflow.com/api/v1/affiliations' \
  -H "Authorization: Bearer $AFFILIATE_API_KEY"
Response200
{
  "affiliations": [
    {
      "id": "srn-ksmt",
      "networkName": "Summit Radio Network",
      "networkShort": "SRN",
      "stationCall": "KSUMT-FM",
      "stationName": "KSUMT 101.5 The Summit",
      "market": "Cedar Falls",
      "lane": "portal",
      "canSign": false,
      "canReport": true,
      "role": "sign",
      "readOnly": false,
      "timezone": "America/Chicago",
      "networkContact": {
        "name": "Marcus Bell",
        "title": "Network Traffic Coordinator",
        "email": "affiliates@summit-sample.example",
        "phone": "(555) 010-2440"
      },
      "deadlineRule": "Friday after the broadcast week, 5:00 PM",
      "audioDelivery": "Delivered by the network's spot delivery service",
      "vehicles": [
        {
          "id": "show-wd",
          "name": "The Summit Show",
          "kind": "show"
        },
        {
          "id": "demo-ros",
          "name": "ROS",
          "kind": "ros"
        }
      ]
    }
  ]
}

Try it

Demo data, no key, nothing saved

This call takes no input.