List affiliations
readStations and networks this key or person can see.
GET
https://affiliates.radioworkflow.com/api/v1/affiliationsRead: 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:
canReportis true where the key may report times. It needs thereportscope, and a station whose affidavits come from its own Radio Workflow log (laneradioworkflow) does not report here.readOnlyis true once the network has paused or ended the affiliation. Its history stays readable; nothing new can be reported or acknowledged.canSignis 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
Response
200
application/jsonThe affiliations, in the order the portal lists them.Response schema
Affiliation23 fields
idstringrequirednetworkNamestringrequirednetworkShortstringrequiredstationCallstringrequiredstationNamestringrequiredmarketstringrequiredlane"portal" | "radioworkflow"requiredcanSignbooleanrequiredcanReportbooleanrequiredrole"view" | "report" | "sign"requiredreadOnlybooleanrequiredtimezonestringrequirednetworkContactobjectrequirednetworkContact.namestringrequirednetworkContact.titlestringrequirednetworkContact.emailstringrequirednetworkContact.phonestringrequireddeadlineRulestringrequiredaudioDeliverystringrequiredvehiclesobject[]requiredvehicles[].idstringrequiredvehicles[].namestringrequiredvehicles[].kind"show" | "ros"requiredErrors
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.
503unavailableThe service is not available right now: it could not be reached, or it is not set up yet.
Rate limits
Failed sign-ins per address10 per minute
portal:authBurst per key60 per minute
portal:keyCalls per key600 per 10 minutes
key:{prefix}MCP
An assistant calls this as the tool
list_affiliations, with the same input as one object. The MCP servercurl -X GET 'https://affiliates.radioworkflow.com/api/v1/affiliations' \ -H "Authorization: Bearer $AFFILIATE_API_KEY"
{
"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"
}
]
}
]
}