Base URL
All API endpoints are served under the/api/ path:
The API base path includes a trailing slash. Both
/api and /api/ are valid, with automatic redirects in place.API Structure
The Dispatcharr API is organized into the following modules:Core Modules
/api/accounts/- User authentication, API keys, user management, and permissions/api/channels/- Channel management, streams, logos, groups, and profiles/api/epg/- Electronic Program Guide data and management/api/m3u/- M3U playlist accounts and configuration/api/core/- Core settings, user agents, and stream profiles
Additional Modules
/api/hdhr/- HDHomeRun integration endpoints/api/vod/- Video-on-Demand content management/api/backups/- System backup and restore operations/api/connect/- Client connection management/api/plugins/- Plugin system integration
Response Format
All API responses use JSON format with consistent structure:Success Response
List Response (Paginated)
Error Response
HTTP Status Codes
The API uses standard HTTP status codes:| Code | Description |
|---|---|
200 OK | Request succeeded |
201 Created | Resource successfully created |
204 No Content | Request succeeded with no response body (typically DELETE) |
400 Bad Request | Invalid request data or parameters |
401 Unauthorized | Authentication required or failed |
403 Forbidden | Authenticated but lacking required permissions |
404 Not Found | Resource not found |
500 Internal Server Error | Server-side error occurred |
Interactive API Documentation
Dispatcharr includes interactive API documentation powered by Swagger UI and ReDoc:Swagger UI
Access the interactive Swagger UI at:- Full endpoint documentation with request/response schemas
- Try-it-out functionality to test endpoints directly
- Authentication support (JWT tokens and API keys)
- Request/response examples
ReDoc
Access the alternative ReDoc documentation at:OpenAPI Schema
Download the raw OpenAPI 3.0 schema:The OpenAPI schema can be imported into tools like Postman, Insomnia, or used to generate client libraries.
Common API Patterns
ViewSet Endpoints
Most resources use Django REST Framework ViewSets with standard CRUD operations:GET /api/resource/- List all resources (paginated)POST /api/resource/- Create a new resourceGET /api/resource/{id}/- Retrieve a specific resourcePUT /api/resource/{id}/- Update a resource (full)PATCH /api/resource/{id}/- Partially update a resourceDELETE /api/resource/{id}/- Delete a resource
Filtering and Search
Many list endpoints support filtering via query parameters:Pagination
List endpoints return paginated results by default:Example Requests
Here are some common API operations:List All Channels
Create a Channel
Update a Channel
Delete a Channel
Rate Limiting
WebSocket Support
Dispatcharr provides real-time updates via WebSockets for certain events. WebSocket connections use the same authentication mechanism as the REST API. See the WebSocket documentation for details on available channels and event formats.Next Steps
- Authentication - Learn how to authenticate API requests
- Interactive API Docs - Explore all available endpoints