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: Acornonaut Playlists API
version: 1.0.0
description: 'API for Acornonaut — Convert YouTube playlists into spaced repetition flashcards for effective learning.
A **Model Context Protocol (MCP) server** is also available, letting you connect Claude Desktop or any MCP-compatible AI client directly to your Acornonaut account. See MCP documentation for setup instructions and the full list of 16 available tools.'
contact:
name: Acornonaut Support
url: https://acornonaut.app
servers:
- url: https://acornonaut.app/api/v1
description: Production server
- url: http://localhost:3000/api/v1
description: Development server
tags:
- name: Playlists
paths:
/playlists:
get:
summary: List playlists
description: Returns all playlists for the authenticated user.
operationId: listPlaylists
tags:
- Playlists
security:
- BearerAuth: []
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: limit
in: query
schema:
type: integer
default: 20
maximum: 100
- name: status
in: query
schema:
type: string
enum:
- pending
- processing
- completed
- failed
- cancelled
responses:
'200':
description: Playlist list
content:
application/json:
schema:
$ref: '#/components/schemas/PlaylistListResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
summary: Create playlist
description: Create a new playlist from a YouTube URL and queue video processing.
operationId: createPlaylist
tags:
- Playlists
security:
- BearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePlaylistRequest'
responses:
'201':
description: Playlist created
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/playlists/{id}:
get:
summary: Get playlist
operationId: getPlaylist
tags:
- Playlists
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Playlist object
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
summary: Delete playlist
operationId: deletePlaylist
tags:
- Playlists
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/playlists/{id}/process:
post:
summary: Trigger playlist processing
operationId: processPlaylist
tags:
- Playlists
security:
- BearerAuth: []
parameters:
- name: id
in: path
required: true
schema:
type: string
responses:
'200':
description: Processing started
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'409':
description: Already processing
components:
schemas:
PlaylistListResponse:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
CreatePlaylistRequest:
type: object
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
responses:
NotFound:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
Forbidden:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
BadRequest:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true
Unauthorized:
description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
x-ae-placeholder: true