API Reference
Introduction
Build podcast publishing, account, organization, OAuth client, and UFW Cloud integrations over HTTP. Every method has its own focused reference page.
Base URL
All endpoints use HTTPS and return JSON unless noted. The production base URL is:
Authentication
Use OAuth 2.1 authorization code with PKCE for user-facing apps, or a personal access token for your own account. Send the token as a bearer credential:
Each protected operation lists the one scope it requires.
Products
Scopes
A token carries only the scopes it was granted.
- podcasts.read
- Read podcasts, seasons, episodes, feeds, and analytics.
- podcasts.write
- Create and update podcasts, seasons, and episodes.
- podcasts.delete
- Delete podcasts, seasons, and episodes.
- podcasts.artwork.write
- Upload podcast artwork.
- podcasts.audio.write
- Upload episode audio masters.
- podcasts.publish
- Publish, unpublish, schedule, and retry episodes.
- account.profile.read
- Read the current account profile.
- account.profile.write
- Update profile details and profile picture.
- account.email.read
- Read account email addresses.
- account.email.write
- Add, verify, and remove email addresses.
- account.security.read
- Read security factors and sessions.
- account.security.write
- Change password and manage security factors.
- account.sessions.write
- Revoke account sessions.
- organizations.read
- Read organizations.
- organizations.write
- Update organizations and logos.
- organizations.delete
- Delete organizations.
- oauth.clients.read
- Read OAuth clients and activity.
- oauth.clients.write
- Create and update OAuth clients, secrets, and icons.
- oauth.clients.delete
- Delete OAuth clients.
- cloud.read
- Read Cloud usage, storage, billing, and orders.
- cloud.write
- Create orders and manage a Pro subscription.
Response codes
- 200
- The request succeeded
- 201
- The resource was created
- 204
- The resource was deleted; no body is returned
- 400
- The request is invalid
- 401
- Authentication is missing or invalid
- 403
- The token does not have the required scope
- 429
- Rate limit exceeded
Errors include a stable code, a message, and an optional request ID. Rate-limited responses use HTTP 429 and a Retry-After header.
Machine-readable spec
The OpenAPI 3.1 document describes all 80 operations. Use it to generate clients, validate requests, or import the API into your own tooling.