API reference/Copy and audio

Export a week's order

read

The order as CSV or an automation import file.

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

The week's ROS units as a file your traffic or automation system can import. Show spots are not in it: they are in the show audio.

  • csv (the default): one row per unit with unit_id, date, allowed_days, window_start, window_end, daypart, advertiser, product, title, isci, length and cart, UTF-8 with a byte order mark.
  • tab: one row per distinct creative with cart, length, isci, title and advertiser, for a cart import.
  • xml: an <order> element with one <unit> per unit and the CSV columns as attributes.

The answer is an attachment with a file name. A cell that starts like a spreadsheet formula is prefixed with a single quote.

Over MCP the tool returns filename, content_type and body as JSON instead of a file.

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.
weekdaterequired
Monday of the broadcast week, YYYY-MM-DD. Any other day answers 400.

Query parameters

formatenumoptionaldefault csv
The file format.
csvtabxml

Response

200text/csv; charset=utf-8The file, as an attachment. tab answers text/tab-separated-values and xml answers application/xml.

Response schema over MCP: export_order

filenamestringrequired
content_typestringrequired
bodystringrequired

Errors

400bad_requestThe request is not valid: a path value, a query value or a body field is missing, malformed or out of range.
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 export_order, with the same input as one object. The MCP server
Request
curl -X GET 'https://affiliates.radioworkflow.com/api/v1/affiliations/srn-ksmt/weeks/2026-09-21/export' \
  -H "Authorization: Bearer $AFFILIATE_API_KEY" \
  --output order.csv
Response200
unit_id,date,allowed_days,window_start,window_end,daypart,advertiser,product,title,isci,length,cart
"u-01oso1x","2026-09-22","2026-09-22","06:00","18:59","ROS","Trailhead Outfitters","","Hunting Season Kickoff","SR_TRHD0921060","60","K90388"
Over MCP: export_order
{
  "filename": "KSUMT-FM_2026-09-21_v3.csv",
  "content_type": "text/csv; charset=utf-8",
  "body": "unit_id,date,allowed_days,window_start,window_end,daypart,advertiser,product,title,isci,length,cart\r\n\"u-01oso1x\",\"2026-09-22\",\"2026-09-22\",\"06:00\",\"18:59\",\"ROS\",\"Trailhead Outfitters\",\"\",\"Hunting Season Kickoff\",\"SR_TRHD0921060\",\"60\",\"K90388\"\r\n"
}

Try it

Demo data, no key, nothing saved