Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
openapi: 3.2.0
info:
title: Acast Publishing Ad Markers API
description: The Acast Publishing API lets you programmatically query data about your shows and episodes, and create, update, and delete episodes straight from the command line or an existing CMS.
version: '1.0'
contact:
name: Acast
url: https://developers.acast.com/
servers:
- url: https://api.acast.com
description: Acast Publishing API
security:
- apiKeyAuth: []
tags:
- name: Ad Markers
description: Place or update ad markers on an episode for dynamic ad insertion.
paths:
/shows/{showId}/episodes/{episodeId}/ad-markers:
parameters:
- $ref: '#/components/parameters/ShowId'
- $ref: '#/components/parameters/EpisodeId'
patch:
operationId: updateAdMarkers
tags:
- Ad Markers
summary: Place or update ad markers
description: Sets or updates the ad markers on an episode so dynamic ad insertion knows where to place pre-roll, mid-roll, and post-roll ads. Disabling monetization per episode is not supported through the API. Path modeled; the ad-marker-via-PATCH operation is confirmed from documentation.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AdMarkers'
responses:
'200':
description: The updated ad markers.
content:
application/json:
schema:
$ref: '#/components/schemas/AdMarkers'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
components:
parameters:
EpisodeId:
name: episodeId
in: path
required: true
description: The unique identifier of the episode.
schema:
type: string
ShowId:
name: showId
in: path
required: true
description: The unique identifier of the show.
schema:
type: string
responses:
NotFound:
description: The requested resource does not exist or is not assigned to this user.
RateLimited:
description: Rate limit exceeded (60 requests/minute).
Unauthorized:
description: Missing or invalid X-API-Key.
schemas:
AdMarkers:
type: object
description: Ad marker placement for dynamic ad insertion.
properties:
markers:
type: array
items:
type: object
properties:
type:
type: string
enum:
- preroll
- midroll
- postroll
offsetSeconds:
type: integer
description: Position of the ad break, in seconds from the start.
securitySchemes:
apiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: User-scoped API key issued by Acast customer success to Ace plan and Creator Network accounts. Sent on every request in the X-API-Key header.
x-endpointsModeled: true