# Affiliate Portal API > A REST API and MCP server for radio stations that carry network programming: read each week's order, audio and printable documents, report affidavits and show certificates, and acknowledge new versions, with a station key. Signing a week is done by a person in the portal. Every page below, in one Markdown file: https://affiliates.radioworkflow.com/llms-full.txt ## Guides - [Overview and quick start](https://affiliates.radioworkflow.com/docs): What the API does, the base URL and a first successful call in five minutes. - [Authentication](https://affiliates.radioworkflow.com/docs/authentication): Station keys and their scopes, OAuth for assistants, and why signing stays a person's act. - [Errors](https://affiliates.radioworkflow.com/docs/errors): Every code the error envelope carries, what causes it, how to fix it and whether to retry. - [Rate limits](https://affiliates.radioworkflow.com/docs/rate-limits): The limits a key meets and the RateLimit and Retry-After headers. - [Pagination and idempotency](https://affiliates.radioworkflow.com/docs/pagination): How lists are bounded, and how Idempotency-Key makes a retried write safe. - [Versioning and changelog](https://affiliates.radioworkflow.com/docs/versioning): The version policy and the dated list of changes. - [Webhooks](https://affiliates.radioworkflow.com/docs/webhooks): Events, payloads, verifying the signature and how deliveries are retried. - [MCP server](https://affiliates.radioworkflow.com/docs/mcp): Connecting an assistant: the server address, sign-in, the tools, resources and prompts. ## Endpoints - [List affiliations](https://affiliates.radioworkflow.com/docs/list-affiliations): `GET /api/v1/affiliations`. Stations and networks this key or person can see. - [Get a week's order](https://affiliates.radioworkflow.com/docs/get-week): `GET /api/v1/affiliations/{id}/weeks/{week}`. The week's order: every unit, its window and its affidavit. - [Get what is outstanding](https://affiliates.radioworkflow.com/docs/get-status): `GET /api/v1/affiliations/{id}/status`. What is outstanding: times to report, weeks to sign, versions to acknowledge. - [Get a week's versions](https://affiliates.radioworkflow.com/docs/get-changes): `GET /api/v1/affiliations/{id}/weeks/{week}/versions`. Every published version of the week, with its changes for this station. - [List a week's creatives](https://affiliates.radioworkflow.com/docs/list-creatives): `GET /api/v1/affiliations/{id}/weeks/{week}/creatives`. Creatives on the week, with short-lived audio links. - [Download a week's audio](https://affiliates.radioworkflow.com/docs/get-week-audio): `GET /api/v1/affiliations/{id}/weeks/{week}/audio.zip`. All of the week's audio in one ZIP, named by ISCI. - [Export a week's order](https://affiliates.radioworkflow.com/docs/export-order): `GET /api/v1/affiliations/{id}/weeks/{week}/export`. The order as CSV or an automation import file. - [Get the station's clearance](https://affiliates.radioworkflow.com/docs/get-clearance): `GET /api/v1/affiliations/{id}/clearance`. Dayparts the station clears, units a day, deadlines and contacts. - [Acknowledge a version](https://affiliates.radioworkflow.com/docs/acknowledge-version): `POST /api/v1/affiliations/{id}/weeks/{week}/versions/{version}/acknowledge`. Tell the network the station has this version. - [Upload a log](https://affiliates.radioworkflow.com/docs/upload-log): `POST /api/v1/affiliations/{id}/weeks/{week}/log-uploads`. Upload a log in any format; returns proposed matches and saves nothing. - [Apply log matches](https://affiliates.radioworkflow.com/docs/apply-log-matches): `POST /api/v1/log-uploads/{upload}/apply`. Turn chosen matches from an upload into affidavits. - [Report affidavits](https://affiliates.radioworkflow.com/docs/report-affidavits): `POST /api/v1/affiliations/{id}/weeks/{week}/affidavits`. Report times, outside-window airings and misses for a batch of units. - [Sign a week](https://affiliates.radioworkflow.com/docs/sign-week): `POST /api/v1/affiliations/{id}/weeks/{week}/sign`. Sign the week. A person signed in, never a key. - [List weeks](https://affiliates.radioworkflow.com/docs/list-weeks): `GET /api/v1/affiliations/{id}/weeks`. Published weeks for this station. - [Report show airings](https://affiliates.radioworkflow.com/docs/report-show-airings): `POST /api/v1/affiliations/{id}/weeks/{week}/show-airings`. Report program carriage and dropped breaks. - [Get a printable document](https://affiliates.radioworkflow.com/docs/get-document): `GET /api/v1/affiliations/{id}/weeks/{week}/documents/{doc}`. Printable station documents. ## Machine-readable - [OpenAPI 3.1 document](https://affiliates.radioworkflow.com/api/v1/openapi.json): every endpoint, its parameters, answers and errors; no key needed.