createAirplaySession
POST
/api/v1/airplay/sessions
const url = 'https://example.com/api/v1/airplay/sessions';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"targetType":"screen","targetId":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","durationMinutes":0,"transport":"auto","audioMode":"gateway_only"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/v1/airplay/sessions \ --header 'Content-Type: application/json' \ --data '{ "targetType": "screen", "targetId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "durationMinutes": 0, "transport": "auto", "audioMode": "gateway_only" }'Start a temporary AirPlay Present session on a screen or screen group. Requires an Owner or Administrator with the write scope. Cookie-authenticated unsafe requests require X-CSRF-Token.
Parameters
Section titled “ Parameters ”Header Parameters
Section titled “Header Parameters”X-CSRF-Token
string
Cookie-backed browser requests only, and only on unsafe methods. Bearer grants never send it.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
targetType
required
string
targetId
required
string format: uuid
durationMinutes
Zero runs until stopped.
integer
transport
string
audioMode
string
Responses
Section titled “ Responses ”AirPlay session accepted
Media typeapplication/json
object
data
required
Temporary AirPlay Present session. The PIN appears only while the session is preparing, waiting, or active, and only when the server issued one. Null audio and network ids mean no audio screen and no Presentation Network, respectively.
object
id
required
string format: uuid
provider
required
string
status
required
string
targetType
required
string
targetId
required
string format: uuid
gatewayScreenId
required
string format: uuid
audioScreenId
required
string | null format: uuid
receiverName
required
string
pin
string
expiresAt
required
string format: date-time
createdAt
required
string format: date-time
endedAt
string | null format: date-time
endReason
required
string
transport
required
string
videoProfile
required
string
audioMode
required
string
presentationNetworkId
required
string | null format: uuid
presentationNetworkName
required
string
screenCount
required
integer
readyCount
required
integer
connectedCount
required
integer
failedCount
required
integer
screens
required
Array<object>
object
screenId
required
string format: uuid
screenName
required
string
role
required
string
state
required
string
lastUpdatedAt
required
string format: date-time
failureCode
string
failureMessage
string
presentationNetworkState
string
Example
{ "data": { "provider": "airplay", "status": "preparing", "targetType": "screen", "transport": "auto", "audioMode": "gateway_only" }}Invalid request body
Dashboard authentication required
Insufficient role or screen scope
Selected displays already have an active session
Target, duration, transport, or readiness invalid