Skip to content
Listener.comDevelopers

Scopes

Every scope an API key or OAuth grant can carry, and what each one unlocks.

1 min read

Each /v1 endpoint requires exactly one scope, shown on its card in the API reference. A credential without it gets 403 scope_missing, and the error’s required_scope names what was missing.

ScopeConsent screenGrants
workspace:readFull read accessEvery *:read scope. The key preset “Read”.
workspace:writeFull write accesswriteEvery *:read and *:write scope. The key preset “Read & write”.
shows:readShowsWorkspace, shows, subnetworks, team, plan, integrations, public URLs.
shows:writeEdit showswriteShow and network profile edits, default EMV.
analytics:readAnalyticsAnalytics, content, categories, hosts, account dedup.
episodes:readEpisodesEpisodes, search, transcripts.
episodes:writeEdit episodeswriteTags, goals, Substack downloads.
clusters:readClustersClusters, cluster reports and timelines, cluster builder reads.
clusters:writeEdit clusterswriteCreate, update, merge, delete, nodes, builds, suggestions, sources.
campaigns:readCampaignsCampaigns, brands, air checks, CPM insights.
campaigns:writeEdit campaignswriteCampaigns, slots, brands, cluster links.
reports:readReportsShared reports, templates, automations.
reports:writeEdit reportswriteCreate and delete reports and templates, disable automations.
sponsors:readSponsorsSponsor matching, network opportunities, sponsorship packages.
library:readLibrary & researchLibrary files, web research, podcast search, insertion-order parsing.
refresh:writeRefresh datawritePlatform refresh, cluster refresh, Spotify and Apple data requests (metered).
webhooks:readWebhooksWebhook endpoints, deliveries, events.
webhooks:writeManage webhookswriteCreate, update, test, roll secrets, delete endpoints.
offline_accessStay connectedA refresh token on the OAuth token response.

How scopes combine#

  • Umbrella scopes. workspace:read includes every *:read scope. workspace:write includes every *:read and *:write scope. These are the Read and Read & write key presets.
  • Write implies read. campaigns:write also grants campaigns:read, and so on for each resource.
  • offline_access only matters for OAuth: it makes the token response include a refresh token. API keys ignore it.

Choosing scopes#

JobScopes
Nightly reach exportanalytics:read shows:read
Campaign delivery dashboardcampaigns:read analytics:read
Create campaigns from insertion orderscampaigns:write library:read
Episode cluster automationclusters:write episodes:read
Webhook managementwebhooks:write
Trigger data refreshesrefresh:write (metered, needs confirm)

MCP sessions#

AI assistants connected through MCP with an OAuth token need workspace:read, plus workspace:write to use write tools. The consent screen shows those as “Full read access” and “Full write access”.