Skip to content

Developers

RevBuddy API

Connect your station's systems to its promotion workspace. REST and MCP use the same operations, workspace permissions and plan allowances.

Base URLhttps://revbuddy.radioworkflow.com/api/v1

1. Create a key

API access is included with an eligible Cluster workspace. Create a workspace API key in the app and grant only the scopes the integration needs. A key belongs to one workspace. Downgraded or inactive plans do not keep API access.
Go to API keys

2. Authenticate

Send the key as an Authorization bearer header or xi-api-key. Keep it on your server, out of URLs and source control. Use an environment variable in scripts. There is no OAuth flow.

curl
curl 'https://revbuddy.radioworkflow.com/api/v1/kits' \
  -H "Authorization: Bearer $REVBUDDY_API_KEY"

For an assistant, use the MCP connection guide. Client generators can read the public OpenAPI 3.1 document without a key.

3. Try a request

Use the playground to send a read request with your workspace key and inspect the response.

Open the playground

Requests and errors

The version is in the path, /api/v1. GET and DELETE arguments use path segments and query parameters. Other operations take JSON bodies. Responses are JSON unless an operation declares a file download. Collection operations publish their own pagination fields; use those to keep pages small.

A failure includes a stable status code and a readable message in detail. Keep the request-id response header when reporting a problem. Respect Retry-After on 429 responses. Do not repeatedly retry invalid credentials or insufficient scopes. Spending operations require an Idempotency-Key header of 8 to 128 letters, digits, dots, colons, underscores or hyphens. Reuse it only when retrying the same request. MCP exposes the same value as the idempotencyKey tool argument.

Shared rate limits allow 60 authorization checks per minute for a key and 300 per workspace. A REST request uses one check. An MCP tool call uses two, one for its transport request and one for operation execution, so one key can make up to 30 tool calls per minute before other traffic. Discovery and resource requests use one check. Activity counts include these checks.

Example
{
  "detail": {
    "status": "insufficient_scope",
    "message": "This API key does not carry the required scope."
  }
}

Scopes

Scopes are checked on every request. An empty scope list grants no operations that require a scope. Grant spending, publishing and destructive permissions deliberately.

  • audience:read
  • audio:read
  • audio:render
  • audio:write
  • campaigns:read
  • campaigns:write
  • catalog:read
  • goals:read
  • goals:write
  • kits:read
  • kits:write
  • leads:read
  • links:read
  • links:write
  • stations:read
  • stations:write
  • workspace:read

Endpoint reference

Workspace

Catalog

Kits

Campaigns

Leads

Audience

Stations

Links

Goals

Audio

Outside this API

  • platform_studio: Master production, approval, publication, platform settings and staff management are global staff-only operations, not customer workspace capabilities.
  • billing_and_team_mutations: Billing, purchases, team invitations, ownership transfer and authentication changes remain in their dedicated authorized account flows.
  • newsletter_delivery: The current queueSend helper records a send but does not dispatch it; this API does not advertise delivery it cannot perform.
  • audience_import_and_capture: Listener capture and imports have separate consent and attestation flows. API keys cannot manufacture listener consent, votes or prize claims.
  • cross_workspace_syndication: The initial customer API is bounded to one workspace; cross-workspace audience and mutation semantics are not inferred from a shared owner.
  • ai_drafts: The existing draft save path uses demo overlays. Persistent customer draft storage and atomic generation accounting must be implemented before exposing paid generation.
  • advertiser_recaps: A combined advertiser recap is not available in this API release. Recap pages remain in the customer UI; integrations can use campaign results and scoped, paged consented leads.
  • support_messages: Support messaging needs the signed-in customer's contact identity; a workspace key alone does not identify an email recipient.
  • wav_and_zip_exports: This release downloads stored approved MP3s. On-demand WAV/ZIP generation remains in the customer UI and is not advertised as a stored API resource.