Radio
Rural AM and FM rate cards and media buying, with the resources declared rather than hand-written.
appLines of business262 operationsid radio2
How it sits
An app is already assembled from parts, with a face of its own. The counts and the links below are from the platform's spec and the other services' own descriptions.
| Operations | 262 GET 129 · POST 102 · PATCH 27 · PUT 3 · DELETE 1 |
| Resources | 63 |
| Leaned on by | Advertising |
| Leans on | none named |
| In recipes | A radio buy, ranked |
What it can do
262 operations in 63 resources, as the spec declares them. Each row is one call; paths are relative to the part.
proposals
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/proposals | List proposals |
| POST | /api/v1/proposals | Create a proposal |
| POST | /api/v1/proposals/{proposal_id}/approve | Approve (any Rural AM.FM. staff) |
| GET | /api/v1/proposals/{proposal_id}/focus | The proposal's actual focus share and budget shortfall |
| GET | /api/v1/proposals/{proposal_id}/history | Every move this proposal has made |
| POST | /api/v1/proposals/{proposal_id}/lost | The client said no |
| GET | /api/v1/proposals/{proposal_id}/money-in | Money in on a proposal: terms, expected, received, and whether it may be placed |
| PUT | /api/v1/proposals/{proposal_id}/money-terms | Set the deal's money-in shape on a proposal (before placement) |
| POST | /api/v1/proposals/{proposal_id}/needs-revision | Send back for changes |
| POST | /api/v1/proposals/{proposal_id}/network-lines | Add a network line to a proposal, priced from its newest rate |
| GET | /api/v1/proposals/{proposal_id}/placement-preview | Preview placing a proposal (writes nothing) |
| GET | /api/v1/proposals/{proposal_id}/proposed-split | Who earns on this deal: the proposed split, its status, and the remembered rates for this client |
| PUT | /api/v1/proposals/{proposal_id}/proposed-split | Propose (or edit) who earns on this deal, before placement |
| POST | /api/v1/proposals/{proposal_id}/proposed-split/approve | Approve the proposed split; remember each person's rate for this client |
| POST | /api/v1/proposals/{proposal_id}/reinstate | Put a retired proposal back in the book |
| POST | /api/v1/proposals/{proposal_id}/reject | Reject |
| POST | /api/v1/proposals/{proposal_id}/retire | Take a proposal out of the book |
| PATCH | /api/v1/proposals/{proposal_id}/retirement | Correct a standing retirement's reason or actor |
| GET | /api/v1/proposals/{proposal_id}/retirement-history | A proposal's retirement ledger |
| POST | /api/v1/proposals/{proposal_id}/send | Mark sent to the client |
| POST | /api/v1/proposals/{proposal_id}/submit | Submit for approval |
| POST | /api/v1/proposals/{proposal_id}/won | The client said yes |
| GET | /api/v1/proposals/{row_id} | Get one proposal |
| PATCH | /api/v1/proposals/{row_id} | Update a proposal |
24 operations
buys
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/buys | List buys — one flight, the whole flight's money, the tracker's row (#19) |
| POST | /api/v1/buys | Create a buys — one flight, the whole flight's money, the tracker's row (#19) |
| POST | /api/v1/buys/from-proposal/{proposal_id} | Place a won proposal as a buy on the ledger |
| GET | /api/v1/buys/summary | The cycle's buys, commission and financials, aggregated |
| POST | /api/v1/buys/{buy_id}/agency-cut | Set the buyer agency's cut on a buy placed with it not decided yet |
| GET | /api/v1/buys/{buy_id}/assets | A buy's audio spots and NAB form |
| POST | /api/v1/buys/{buy_id}/assets | Add an audio spot or the NAB form to a buy (returns a presigned PUT) |
| POST | /api/v1/buys/{buy_id}/assets/{asset_id}/replace | Swap a spot mid-flight: declare its replacement (returns a presigned PUT) |
| GET | /api/v1/buys/{buy_id}/commission-preview | What the commission rules say this buy owes, computed and shown |
| POST | /api/v1/buys/{buy_id}/orders | Generate a buy's orders (one per payee; idempotent) |
| GET | /api/v1/buys/{buy_id}/payables | Paying the stations on one buy |
| POST | /api/v1/buys/{buy_id}/payouts | Record a station payment (a person's step) |
| POST | /api/v1/buys/{buy_id}/reinstate | Put a retired buy back in the book |
| POST | /api/v1/buys/{buy_id}/retire | Take a buy out of the book |
| PATCH | /api/v1/buys/{buy_id}/retirement | Correct a standing retirement's reason or actor |
| GET | /api/v1/buys/{buy_id}/retirement-history | A buy's retirement ledger |
| GET | /api/v1/buys/{buy_id}/send-preview | Preview sending a buy's orders (writes nothing) |
| POST | /api/v1/buys/{buy_id}/traffic-instructions | Set the buy's traffic note (printed after the rotation) |
| POST | /api/v1/buys/{buy_id}/traffic-update | Email a rotation change to every station holding an order |
| GET | /api/v1/buys/{row_id} | Get one buys — one flight, the whole flight's money, the tracker's row (#19) |
| PATCH | /api/v1/buys/{row_id} | Update a buys — one flight, the whole flight's money, the tracker's row (#19 |
21 operations
plans
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/plans | List plans |
| POST | /api/v1/plans | Create a plan |
| POST | /api/v1/plans/{plan_id}/accept | The campaign says yes to one tier (HQ) |
| POST | /api/v1/plans/{plan_id}/dead | The plan is not going anywhere |
| GET | /api/v1/plans/{plan_id}/pdf | The plan as a PDF a buyer can be sent |
| POST | /api/v1/plans/{plan_id}/pdf | The plan as a PDF in a campaign's own look |
| POST | /api/v1/plans/{plan_id}/reinstate | Put a retired plan back in the book |
| POST | /api/v1/plans/{plan_id}/release | House releases the priced plan |
| POST | /api/v1/plans/{plan_id}/request-pricing | Buyer asks for pricing |
| POST | /api/v1/plans/{plan_id}/retire | Take a plan out of the book |
| PATCH | /api/v1/plans/{plan_id}/retirement | Correct a standing retirement's reason or actor |
| GET | /api/v1/plans/{plan_id}/retirement-history | A plan's retirement ledger |
| GET | /api/v1/plans/{row_id} | Get one plan |
| PATCH | /api/v1/plans/{row_id} | Update a plan |
14 operations
payees
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/payees | Search the payee directory |
| POST | /api/v1/payees | Add a payee to the directory |
| GET | /api/v1/payees/{payee_id} | One payee, retired or not |
| PATCH | /api/v1/payees/{payee_id} | Correct a payee |
| POST | /api/v1/payees/{payee_id}/reinstate | Bring a retired payee back |
| POST | /api/v1/payees/{payee_id}/retire | Retire a payee |
| GET | /api/v1/payees/{payee_id}/stations | The stations a payee is paid for |
| POST | /api/v1/payees/{payee_id}/stations | Pay this payee for a station |
| POST | /api/v1/payees/{payee_id}/stations/prefer | This payee is the one paid for the station when owners disagree |
| POST | /api/v1/payees/{payee_id}/stations/remove | Stop paying this payee for it |
10 operations
buy-splits
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/buy-splits | List buy splits — who gets what on a buy: role x party x amount (#19) |
| POST | /api/v1/buy-splits | Create a buy splits — who gets what on a buy: role x party x amount (#19) |
| GET | /api/v1/buy-splits/{row_id} | Get one buy splits — who gets what on a buy: role x party x amount (#19) |
| PATCH | /api/v1/buy-splits/{row_id} | Update a buy splits — who gets what on a buy: role x party x amount (#19 |
| POST | /api/v1/buy-splits/{split_id}/hold | Put this person's commission on hold, with a reason |
| POST | /api/v1/buy-splits/{split_id}/kept-at-source | Record that the payer kept this person's cut at source |
| POST | /api/v1/buy-splits/{split_id}/paid | Record that this person's commission was paid |
| GET | /api/v1/buy-splits/{split_id}/payouts | One split's payout status and its whole history |
| POST | /api/v1/buy-splits/{split_id}/unpaid | Undo a payout record (recorded, never deleted) |
9 operations
orders
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/orders | List orders — one per buy x payee (a station, a rep firm, or a network vendor) |
| POST | /api/v1/orders/{order_id}/cancel | Cancel the order |
| POST | /api/v1/orders/{order_id}/confirm | Staff confirm (requires sent) |
| POST | /api/v1/orders/{order_id}/contact | Set where the order goes |
| GET | /api/v1/orders/{order_id}/pdf | The order sheet (PDF) |
| POST | /api/v1/orders/{order_id}/ready | Reviewed: ready to send |
| POST | /api/v1/orders/{order_id}/remind | Email a short reminder on a sent order |
| POST | /api/v1/orders/{order_id}/send | Email the order (sheet attached) through Email |
| GET | /api/v1/orders/{row_id} | Get one orders — one per buy x payee (a station, a rep firm, or a network vendor) |
9 operations
rate-policies
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/rate-policies | Every policy version, newest first |
| POST | /api/v1/rate-policies | Store a new draft version |
| GET | /api/v1/rate-policies/by-digest/{digest} | The rules a past quote was priced under |
| POST | /api/v1/rate-policies/check | Validate a document without storing it |
| GET | /api/v1/rate-policies/{name}/active | The policy quotes are priced under now |
| GET | /api/v1/rate-policies/{name}/{version} | One version, with its document |
| POST | /api/v1/rate-policies/{name}/{version}/activate | Make this version live |
7 operations
assets
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/assets/{asset_id} | One traffic asset |
| POST | /api/v1/assets/{asset_id}/delete | Delete a traffic asset (soft) |
| PATCH | /api/v1/assets/{asset_id}/rotation | Set a spot's rotation |
| POST | /api/v1/assets/{asset_id}/rotation | Set a spot's rotation |
| POST | /api/v1/assets/{asset_id}/upload-url | A fresh presigned PUT for an asset not yet uploaded |
| POST | /api/v1/assets/{asset_id}/uploaded | Confirm the upload: the file is in storage at the declared size |
6 operations
buyer-agencies
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/buyer-agencies | List buyer agencies |
| POST | /api/v1/buyer-agencies | Create a buyer agencie |
| GET | /api/v1/buyer-agencies/{row_id} | Get one buyer agencie |
| PATCH | /api/v1/buyer-agencies/{row_id} | Update a buyer agencie |
| POST | /api/v1/buyer-agencies/{row_id}/reinstate | Put a retired buyer agency back |
| POST | /api/v1/buyer-agencies/{row_id}/retire | Retire a buyer agency |
6 operations
clients
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/clients | List clients |
| POST | /api/v1/clients | Create a client |
| GET | /api/v1/clients/{row_id} | Get one client |
| PATCH | /api/v1/clients/{row_id} | Update a client |
| POST | /api/v1/clients/{row_id}/reinstate | Put a retired client back |
| POST | /api/v1/clients/{row_id}/retire | Retire a client |
6 operations
consultants
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/consultants | List consultants |
| POST | /api/v1/consultants | Create a consultant |
| GET | /api/v1/consultants/{row_id} | Get one consultant |
| PATCH | /api/v1/consultants/{row_id} | Update a consultant |
| POST | /api/v1/consultants/{row_id}/reinstate | Put a retired consultant back |
| POST | /api/v1/consultants/{row_id}/retire | Retire a consultant |
6 operations
rate-cards
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/rate-cards | List rate cards |
| POST | /api/v1/rate-cards/{card_id}/reinstate | Put a retired rate card back in the contest |
| POST | /api/v1/rate-cards/{card_id}/retire | Retire a rate card — its rates stay, and stop pricing |
| GET | /api/v1/rate-cards/{card_id}/retirement-history | A rate card's retirement ledger |
| GET | /api/v1/rate-cards/{row_id} | Get one rate card |
| PATCH | /api/v1/rate-cards/{row_id} | Update a rate card |
6 operations
focus-areas
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/focus-areas | Named focus areas |
| POST | /api/v1/focus-areas | Save a named group of counties |
| GET | /api/v1/focus-areas/{area_id} | One focus area, retired or not |
| PATCH | /api/v1/focus-areas/{area_id} | Rename an area or change its counties |
| POST | /api/v1/focus-areas/{area_id}/retire | Retire a focus area |
5 operations
make-goods
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/make-goods | List make-good requests from stations (v1), decided by staff |
| POST | /api/v1/make-goods/{mg_id}/approve | Approve a make-good request |
| POST | /api/v1/make-goods/{mg_id}/complete | Mark an approved make-good done (the spots ran) |
| POST | /api/v1/make-goods/{mg_id}/reject | Reject a make-good request |
| GET | /api/v1/make-goods/{row_id} | Get one make-good requests from stations (v1), decided by staff |
5 operations
payments
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/payments | List payments — one remittance that actually arrived, whatever it covers (#43) |
| POST | /api/v1/payments | Record a remittance and what it covers |
| POST | /api/v1/payments/{payment_id}/void | Void a recorded remittance (append-only, with a reason) |
| GET | /api/v1/payments/{row_id} | Get one payments — one remittance that actually arrived, whatever it covers (#43) |
| PATCH | /api/v1/payments/{row_id} | Update a payments — one remittance that actually arrived, whatever it covers (#43 |
5 operations
public
| Method | Path | Does |
|---|---|---|
| GET | /public/orders/{token} | The order, as the payee sees it |
| GET | /public/orders/{token}/assets/{asset_id} | Download one of the order's traffic files (302 to a presigned GET) |
| POST | /public/orders/{token}/confirm | Confirm the order (requires sent) |
| POST | /public/orders/{token}/make-good | Request a make-good |
| GET | /public/orders/{token}/pdf | The order sheet, by link |
5 operations
buy-lines
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/buy-lines | List buy lines — a station OR a network on a buy, never both (#19) |
| POST | /api/v1/buy-lines | Create a buy lines — a station OR a network on a buy, never both (#19) |
| GET | /api/v1/buy-lines/{row_id} | Get one buy lines — a station OR a network on a buy, never both (#19) |
| PATCH | /api/v1/buy-lines/{row_id} | Update a buy lines — a station OR a network on a buy, never both (#19 |
4 operations
commission-events
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/commission-events | List commission events — the ledger: paid <date>, hold <amount>, released (#19) |
| POST | /api/v1/commission-events | Create a commission events — the ledger: paid <date>, hold <amount>, released (#19) |
| GET | /api/v1/commission-events/{row_id} | Get one commission events — the ledger: paid <date>, hold <amount>, released (#19) |
| PATCH | /api/v1/commission-events/{row_id} | Update a commission events — the ledger: paid <date>, hold <amount>, released (#19 |
4 operations
commission-rules
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/commission-rules | List commission rules — what a person earns, per CLIENT, by tier (#43 B1) |
| POST | /api/v1/commission-rules | Create a commission rules — what a person earns, per CLIENT, by tier (#43 B1) |
| GET | /api/v1/commission-rules/{row_id} | Get one commission rules — what a person earns, per CLIENT, by tier (#43 B1) |
| PATCH | /api/v1/commission-rules/{row_id} | Update a commission rules — what a person earns, per CLIENT, by tier (#43 B1 |
4 operations
documents
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/documents | List documents — a file that arrived and where its bytes live (#41/#23) |
| POST | /api/v1/documents | Hand in a document as evidence |
| POST | /api/v1/documents/{document_id}/status | Record a reader's or person's verdict on a document |
| GET | /api/v1/documents/{row_id} | Get one documents — a file that arrived and where its bytes live (#41/#23) |
4 operations
network-rates
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/network-rates | List network rates — the published price per spot, per cell, per year (#18) |
| POST | /api/v1/network-rates | Create a network rates — the published price per spot, per cell, per year (#18) |
| GET | /api/v1/network-rates/{row_id} | Get one network rates — the published price per spot, per cell, per year (#18) |
| PATCH | /api/v1/network-rates/{row_id} | Update a network rates — the published price per spot, per cell, per year (#18 |
4 operations
network-stations
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/network-stations | List network stations — who the vendor says airs a network (#18) |
| POST | /api/v1/network-stations | Create a network stations — who the vendor says airs a network (#18) |
| GET | /api/v1/network-stations/{row_id} | Get one network stations — who the vendor says airs a network (#18) |
| PATCH | /api/v1/network-stations/{row_id} | Update a network stations — who the vendor says airs a network (#18 |
4 operations
networks
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/networks | List networks — a thing bought as one line at the vendor's price (#18) |
| POST | /api/v1/networks | Create a networks — a thing bought as one line at the vendor's price (#18) |
| GET | /api/v1/networks/{row_id} | Get one networks — a thing bought as one line at the vendor's price (#18) |
| PATCH | /api/v1/networks/{row_id} | Update a networks — a thing bought as one line at the vendor's price (#18 |
4 operations
plan-line-items
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/plan-line-items | List plan line items |
| POST | /api/v1/plan-line-items | Create a plan line item |
| GET | /api/v1/plan-line-items/{row_id} | Get one plan line item |
| PATCH | /api/v1/plan-line-items/{row_id} | Update a plan line item |
4 operations
proposal-line-items
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/proposal-line-items | List proposal line items |
| POST | /api/v1/proposal-line-items | Create a proposal line item |
| GET | /api/v1/proposal-line-items/{row_id} | Get one proposal line item |
| PATCH | /api/v1/proposal-line-items/{row_id} | Update a proposal line item |
4 operations
rep-firm-contacts
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/rep-firm-contacts | Each grouped rep firm's default order contact |
| GET | /api/v1/rep-firm-contacts/{firm_key} | One grouped rep firm's default order contact |
| PUT | /api/v1/rep-firm-contacts/{firm_key} | Set a grouped rep firm's default order contact |
| POST | /api/v1/rep-firm-contacts/{firm_key}/retire | Take a grouped rep firm's default order contact off file |
4 operations
station-contacts
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/station-contacts | List station contacts |
| POST | /api/v1/station-contacts | Create a station contact |
| GET | /api/v1/station-contacts/{row_id} | Get one station contact |
| PATCH | /api/v1/station-contacts/{row_id} | Update a station contact |
4 operations
stations
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/stations | List stations |
| GET | /api/v1/stations/order-to | Who an order for each station goes to (the entity / order-sheet name) |
| GET | /api/v1/stations/{row_id} | Get one station |
| PATCH | /api/v1/stations/{row_id} | Update a station |
4 operations
target-states
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/target-states | List target states |
| POST | /api/v1/target-states | Create a target state |
| GET | /api/v1/target-states/{row_id} | Get one target state |
| PATCH | /api/v1/target-states/{row_id} | Update a target state |
4 operations
document-rates
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/document-rates | Release the rates a reader extracted from a document |
| POST | /api/v1/document-rates/reinstate | Put withdrawn reader rates back in the contest |
| POST | /api/v1/document-rates/withdraw | Withdraw rates a reader released — soft, ledgered, reversible |
3 operations
outreach
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/outreach | List outreach events |
| POST | /api/v1/outreach | Log an outreach attempt or an answer |
| GET | /api/v1/outreach/{row_id} | Get one outreach event |
3 operations
payment-allocations
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/payment-allocations | List payment allocations — a remittance's share of one flight (#43) |
| GET | /api/v1/payment-allocations/{row_id} | Get one payment allocations — a remittance's share of one flight (#43) |
| PATCH | /api/v1/payment-allocations/{row_id} | Update a payment allocations — a remittance's share of one flight (#43 |
3 operations
plan
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/plan | Price a footprint — drop nobody |
| POST | /api/v1/plan/solve | Budget in, plan out — v1's solver |
| POST | /api/v1/plan/{plan_id}/promote | Plan -> proposal |
3 operations
quote
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/quote | What do we quote for this station? |
| POST | /api/v1/quote/batch | The same spot, priced across many stations |
| POST | /api/v1/quote/network | What does this network cost? |
3 operations
airtable-attachments
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/airtable-attachments | List airtable attachments — every `2026 Rate Cards` attachment the Airtable document feed has seen, and where it left it (#23 / #48) |
| GET | /api/v1/airtable-attachments/{row_id} | Get one airtable attachments — every `2026 Rate Cards` attachment the Airtable document feed has seen, and where it left it (#23 / #48) |
2 operations
competitive
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/competitive/detected-airings | Recurring radio spots cbtuner has heard (source=cbtuner, verified) |
| GET | /api/v1/competitive/opif-spend | FCC political-file radio spend (source=opif, confidence=actual) |
2 operations
dayparts
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/dayparts | List dayparts |
| GET | /api/v1/dayparts/{row_id} | Get one daypart |
2 operations
fcc-am-day-augmentations
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/fcc-am-day-augmentations | List FCC AM day-pattern augmentations |
| GET | /api/v1/fcc-am-day-augmentations/{row_id} | Get one FCC AM day-pattern augmentation |
2 operations
fcc-am-day-towers
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/fcc-am-day-towers | List FCC AM day-pattern towers |
| GET | /api/v1/fcc-am-day-towers/{row_id} | Get one FCC AM day-pattern tower |
2 operations
fcc-facilities
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/fcc-facilities | List FCC facilities |
| GET | /api/v1/fcc-facilities/{row_id} | Get one FCC facilitie |
2 operations
feed-runs
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/feed-runs | List feed runs |
| GET | /api/v1/feed-runs/{row_id} | Get one feed run |
2 operations
gdrive-files
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/gdrive-files | List gdrive files — every file the Drive order-document feed has seen in the RuralAMFM Buy Orders folder, where its bytes landed and which buy it was filed unde |
| GET | /api/v1/gdrive-files/{row_id} | Get one gdrive files — every file the Drive order-document feed has seen in the RuralAMFM Buy Orders folder, where its bytes landed and which buy it was filed u |
2 operations
health
| Method | Path | Does |
|---|---|---|
| GET | /health | Basic health check |
| GET | /health/detailed | Detailed health check |
2 operations
ingest-rejects
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/ingest-rejects | List ingest rejects |
| GET | /api/v1/ingest-rejects/{row_id} | Get one ingest reject |
2 operations
mailbox-messages
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/mailbox-messages | List mailbox messages — every mail the rates reader has seen (#41) |
| GET | /api/v1/mailbox-messages/{row_id} | Get one mailbox messages — every mail the rates reader has seen (#41) |
2 operations
manual-rate
| Method | Path | Does |
|---|---|---|
| POST | /api/v1/manual-rate | Record a rate somebody phoned in |
| DELETE | /api/v1/manual-rate/{rate_id} | Withdraw a rate somebody phoned in |
2 operations
order-events
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/order-events | List order events — the append-only ledger, v1's event names |
| GET | /api/v1/order-events/{row_id} | Get one order events — the append-only ledger, v1's event name |
2 operations
order-lines
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/order-lines | List order lines — each a copy of one frozen buy line |
| GET | /api/v1/order-lines/{row_id} | Get one order lines — each a copy of one frozen buy line |
2 operations
order-replies
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/order-replies | Replies to order emails (default: the ones needing a person) |
| POST | /api/v1/order-replies/{reply_id}/resolve | Resolve a held reply: confirm the order, or dismiss it |
2 operations
outreach-state
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/outreach-state | List per-station outreach states |
| GET | /api/v1/outreach-state/{row_id} | Get one per-station outreach state |
2 operations
payouts
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/payouts/ready | Station payments ready to record, across buys |
| POST | /api/v1/payouts/{payout_id}/reverse | Undo a station payment (recorded, never deleted) |
2 operations
prior-outreach
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/prior-outreach | List imported prior-outreach summaries |
| GET | /api/v1/prior-outreach/{row_id} | Get one imported prior-outreach summarie |
2 operations
proposal-approval-history
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/proposal-approval-history | List proposal approval history rows |
| GET | /api/v1/proposal-approval-history/{row_id} | Get one proposal approval history row |
2 operations
rates
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/rates | List rates |
| GET | /api/v1/rates/{row_id} | Get one rate |
2 operations
station-attention
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/station-attention | List which stations need contact, and why (v1's SRM signal, computed live) |
| GET | /api/v1/station-attention/{row_id} | Get one which stations need contact, and why (v1's SRM signal, computed live) |
2 operations
station-ratings
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/station-ratings | List Station ratings (Nielsen AQH share toplines, per market) |
| GET | /api/v1/station-ratings/{row_id} | Get one Station ratings (Nielsen AQH share toplines, per market) |
2 operations
chase
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/chase/out-of-network | Out-of-network stations to get rates from, ranked per district |
1 operation
coverage
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/coverage/{state}/pdf | A state's network coverage map as a PDF |
1 operation
districts
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/districts | Districts a plan can target, with in-network reach |
1 operation
internal
| Method | Path | Does |
|---|---|---|
| POST | /internal/gdrive-orders/notify | Receive Webhook's Drive Pub/Sub forward and poll the folder |
1 operation
people
| Method | Path | Does |
|---|---|---|
| GET | /api/v1/people/{party}/commissions | One person's commission statement: every split, and the totals |
1 operation
prime
| Method | Path | Does |
|---|---|---|
| GET | /prime | Prime application caches |
1 operation
status
| Method | Path | Does |
|---|---|---|
| GET | /status | Service status overview |
1 operation
All the partsLines of businessThe platform's own id for this service is cbradio2.
forge-catalog.json, generated Oct 30, 2026