List Cast Members
curl --request GET \
--url https://api.example.com/cast-membersimport requests
url = "https://api.example.com/cast-members"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/cast-members', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/cast-members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/cast-members"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/cast-members")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/cast-members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"cast_members": [
{
"id": "<string>",
"person_id": "<string>",
"production_id": "<string>",
"role_id": "<string>",
"role_type": "<string>",
"billing_order": 123,
"person": {},
"production": {},
"role": {}
}
]
}Cast Members
List Cast Members
Retrieve all cast member assignments
GET
/
cast-members
List Cast Members
curl --request GET \
--url https://api.example.com/cast-membersimport requests
url = "https://api.example.com/cast-members"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/cast-members', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/cast-members",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/cast-members"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/cast-members")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/cast-members")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"cast_members": [
{
"id": "<string>",
"person_id": "<string>",
"production_id": "<string>",
"role_id": "<string>",
"role_type": "<string>",
"billing_order": 123,
"person": {},
"production": {},
"role": {}
}
]
}Overview
Returns a list of all cast member assignments linking people to productions. Includes nested data for the person, production, and role. Optionally filter by person ID.Query Parameters
Filter cast members by person ID to see all their roles
Request
# Get all cast members
curl https://entertheatre.com/api/cast-members
# Filter by person
curl https://entertheatre.com/api/cast-members?person_id=person-001
// Get all cast members
const response = await fetch('https://entertheatre.com/api/cast-members');
const castMembers = await response.json();
// Filter by person
const filtered = await fetch('https://entertheatre.com/api/cast-members?person_id=person-001');
const personRoles = await filtered.json();
import requests
# Get all cast members
response = requests.get('https://entertheatre.com/api/cast-members')
cast_members = response.json()
# Filter by person
response = requests.get('https://entertheatre.com/api/cast-members', params={'person_id': 'person-001'})
person_roles = response.json()
Response
Array of cast member objects
Show Cast Member Object
Show Cast Member Object
Unique identifier for the cast member assignment
ID of the person
ID of the production
ID of the role/character (if applicable)
Type of role:
principal, ensemble, understudy, swing, standby, alternateOrder in the billing (1 = top billing)
Nested person object with name, bio, and image
Nested production object with show details
Nested role object with character name
Example Response
[
{
"id": "cast-001",
"person_id": "person-001",
"production_id": "prod-001",
"role_id": "role-001",
"role_type": "principal",
"billing_order": 1,
"person": {
"id": "person-001",
"name": "Elaine Paige",
"bio": "Legendary West End star...",
"image": "https://example.com/elaine.jpg"
},
"production": {
"id": "prod-001",
"show": {
"name": "Cats",
"type": "musical"
}
},
"role": {
"id": "role-001",
"name": "Grizabella"
}
},
{
"id": "cast-002",
"person_id": "person-002",
"production_id": "prod-002",
"role_id": "role-005",
"role_type": "principal",
"billing_order": 1,
"person": {
"id": "person-002",
"name": "Michael Ball",
"bio": "Award-winning musical theatre actor...",
"image": "https://example.com/michael.jpg"
},
"production": {
"id": "prod-002",
"show": {
"name": "Les Miserables",
"type": "musical"
}
},
"role": {
"id": "role-005",
"name": "Marius"
}
}
]
Status Codes
| Status | Description |
|---|---|
200 | Success - returns array of cast members |
500 | Server error |
⌘I