Skip to main content

REST API Quick Reference

A compact reference for the WackyPod REST API. For full details on each endpoint, see the API Reference.

Base URL

https://api.wackypod.com

Authentication

Authorization: Bearer <access-token-or-api-key>

API keys are prefixed with wp_ and do not expire. JWT access tokens expire after 15 minutes.

Endpoints at a glance

Authentication

MethodEndpointDescription
POST/api/auth/registerCreate account
POST/api/auth/loginLogin
POST/api/auth/refreshRefresh token
POST/api/auth/logoutLogout
POST/api/auth/request-password-resetRequest reset email
POST/api/auth/reset-passwordReset password

Episodes

MethodEndpointDescription
POST/api/episodesCreate from text or URL
POST/api/episodes/uploadCreate from file upload
GET/api/episodesList episodes
GET/api/episodes/:idGet episode
GET/api/episodes/:id/streamSSE progress stream
DELETE/api/episodes/:idDelete episode
GET/api/episodes/:id/transcriptGet transcript
GET/api/episodes/:id/show-notesGet show notes
GET/api/episodes/:id/transcript/searchSearch transcript

Playlists

MethodEndpointDescription
POST/api/playlistsCreate playlist
GET/api/playlistsList playlists
GET/api/playlists/:idGet playlist
PUT/api/playlists/:idUpdate playlist
DELETE/api/playlists/:idDelete playlist
POST/api/playlists/:id/episodesAdd episode
DELETE/api/playlists/:id/episodes/:episodeIdRemove episode
PUT/api/playlists/:id/reorderReorder episodes

User Profile

MethodEndpointDescription
GET/api/user/profileGet profile
PUT/api/user/profileUpdate profile
GET/api/user/quotaGet quota status
GET/api/user/usageUsage history
GET/api/user/statsAggregate stats
GET/api/user/exportGDPR data export
POST/api/user/api-keyGenerate API key
DELETE/api/user/api-keyRevoke API key
POST/api/user/change-passwordChange password
DELETE/api/user/accountDelete account

Webhooks

MethodEndpointDescription
POST/api/webhooksCreate webhook
GET/api/webhooksList webhooks
GET/api/webhooks/:idGet webhook
PATCH/api/webhooks/:idUpdate webhook
DELETE/api/webhooks/:idDelete webhook
POST/api/webhooks/:id/testSend test event
GET/api/webhooks/:id/deliveriesDelivery history

RSS

MethodEndpointDescription
GET/api/rss/:userIdGet RSS feed (public)

Briefings

MethodEndpointDescription
GET/api/briefingsList briefings
GET/api/briefings/:idGet briefing
POST/api/briefingsCreate briefing
PATCH/api/briefings/:idUpdate briefing
DELETE/api/briefings/:idDelete briefing
POST/api/briefings/:id/runTrigger run
GET/api/briefings/:id/runsRun history
POST/api/briefings/:id/sourcesAdd source
DELETE/api/briefings/:id/sources/:sourceIdRemove source

Billing

MethodEndpointDescription
GET/api/billing/pricingGet pricing (public)
POST/api/billing/create-checkoutStart checkout
GET/api/billing/subscriptionGet subscription
POST/api/billing/cancel-subscriptionCancel subscription
POST/api/billing/reactivate-subscriptionReactivate
POST/api/billing/update-payment-methodUpdate payment
GET/api/billing/invoicesInvoice history

Error format

All errors follow this structure:

{
"success": false,
"error": "Error type",
"message": "Human-readable description"
}

Rate limits

TierRequests/HourEpisodes/Month
Free103
Creator5025
Professional200100
Enterprise1,000Unlimited