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: Captivate Authentication API
version: '1.0'
description: Public REST API for the Captivate podcast hosting, distribution, and analytics platform.
contact:
name: Captivate API Support
email: api@captivate.fm
url: https://docs.captivate.fm/
x-endpoints-source: Paths and request fields confirmed from the public Captivate API Postman collection (docs.captivate.fm). Response bodies are modeled.
servers:
- url: https://api.captivate.fm
description: Captivate production API
security:
- bearerAuth: []
tags:
- name: Authentication
description: Exchange a user ID and API token for a Bearer token.
paths:
/authenticate/token:
post:
operationId: authenticateUser
tags:
- Authentication
summary: Authenticate User
description: All requests must be authenticated using a Bearer token for the user. Obtain the token by sending the user's ID and their API token (both found in the API section of the Captivate account). Returns a Bearer token used in the Authorization header for all other requests.
security: []
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- username
- token
properties:
username:
type: string
description: The Captivate user ID (UUID).
example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
token:
type: string
description: The user's API token from their Captivate account.
responses:
'200':
description: Authentication succeeded; a Bearer token is returned (modeled).
content:
application/json:
schema:
$ref: '#/components/schemas/AuthToken'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Missing or invalid Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericObject'
schemas:
AuthToken:
type: object
description: Modeled authentication response. Captivate returns a Bearer token used for all subsequent requests; the exact envelope is not published.
properties:
success:
type: boolean
user:
type: object
token:
type: string
GenericObject:
type: object
description: Modeled response object. Captivate's public documentation describes requests and fields but does not publish full JSON response schemas, so response bodies are represented generically.
additionalProperties: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Bearer token obtained from POST /authenticate/token. Sent as Authorization: Bearer {token}.'