Overview
Playlists organize songs for worship services, rehearsals, and special events. Each playlist belongs to a church and optionally to a specific team. Access control ensures members only see playlists relevant to their teams.Authentication
All endpoints require authentication:- Read:
calendar.read(playlists are part of the calendar/scheduling system) - Create: Requires
pastor,leader, orcoordinatorrole
List Playlists
GET /api/playlists
Retrieve playlists for a church
calendar.read
Query Parameters
Filter playlists by church ID. Defaults to authenticated user’s church.
Alternative parameter for church_id
Filter playlists by team/group ID
Alternative parameter for group_id
Access Control
- Pastors, Leaders, Coordinators: See all playlists for their church
- Regular Members: Only see playlists for teams they belong to
- Super Admins: See all playlists across all churches
Request
Response
Indicates if the request was successful
Array of playlist objects
Get Playlist Details
GET /api/playlists/{id}
Retrieve detailed playlist information including all songs
calendar.read
Request Parameters
The unique identifier of the playlist
Request
Response
Error Response
Not Found (404)Create Playlist
POST /api/playlists
Create a new playlist
calendar.read + role in [pastor, leader, coordinator]
Request Body
The name of the playlist
The church ID this playlist belongs to
Alternative parameter for church_id
Optional description of the playlist
Team/group ID this playlist is associated with
Alternative parameter for group_id
Array of song IDs to add to the playlist (in order)
Request
Response
Process Details
- Creates the playlist record
- Adds songs in the specified order
- Logs activity in the system
- Returns the new playlist ID
Error Responses
Missing Required Fields (400)Playlist Visibility
Team-Specific Playlists
Whengroup_id is set:
- Only members of that team can see the playlist (unless they’re pastors/leaders)
- Useful for rehearsals and team-specific services
Church-Wide Playlists
Whengroup_id is null:
- Visible to all authorized members of the church
- Useful for main services and general planning
Song Order
Songs in a playlist maintain their order:- The
songsarray index determines display order - Songs appear in the
itemsarray in the same order - Reordering requires updating the playlist (future endpoint)
Activity Logging
Playlist creation automatically logs an activity:Role Requirements
To create playlists, users must have one of these roles:pastor- Senior leadershipleader- Ministry leaderscoordinator- Service coordinators
Regular members (
member role) can view playlists but cannot create them.Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Missing church_id or name |
| 401 | Unauthorized - Invalid or missing token |
| 403 | Forbidden - Insufficient role permissions |
| 404 | Not Found - Playlist doesn’t exist |
| 500 | Internal Server Error |
Use Cases
Sunday Service Planning
Special Event
Team Rehearsal
Related APIs
Songs
Manage the song library
Calendar
Schedule services and assign playlists
Teams
Manage worship teams