Introduction
Ichos is an API-first podcast hosting infrastructure platform, built for developers. It is designed for platforms and developers who need to build podcast hosting features into their own applications.
How Ichos can help you
Ichos is built as a scalable solution for podcast production. You can use it to:
- Automate production workflows by integrating directly with our API.
- Build your own podcast hosting platform using our API as the white-label backend.
- Create custom production tools tailored to your organization’s needs.
Core Concepts
1. Multi-tenancy & The Virtual User
Unlike traditional APIs where resources belong directly to the API Key owner, Ichos is designed for multi-tenancy.
- Organization: This is you, the API consumer.
- Virtual User: The end-user you are acting on behalf of.
You don’t need to create separate accounts for your users. Instead, you utilize the x-virtual-user header with every request. This ensures all resources (podcasts, episodes) are siloed and owned by that specific user ID.
The hierarchy is structured as:
organization -> user -> podcast -> episode
2. Audio-First Architecture
To ensure high reliability and feed validation, the audio entity is decoupled from the episode.
organization -> audio
The Audio entity represents the file itself (including processing, duration, and bitrate checks). An Episode references an Audio ID. This prevents “broken” episodes from ever appearing in an RSS feed, as you upload and process audio before attaching it to an episode.
Example Workflow
Assuming you have an API key, you can create a published podcast in just 5 steps:
- POST /v1/podcasts - Create a new podcast. Pass in the
x-virtual-userheader, and the user will be implicitly created if they don’t already exist. - POST /v1/audio - Upload an audio file (or import from URL) and receive an audio ID.
- POST /v1/episodes - Create a new episode, referencing the audio ID from the previous step.
- POST /v1/episodes/{episode_id}/publish - Mark the episode as published.
- POST /v1/podcasts/{podcast_id}/publish - Publish the podcast, making it available to listeners via RSS.
Base URL
All API requests should be made to:
https://api.ichos.dev/v1