Groups
Generated groups operations.
POST/v1/groupsManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups- Max body
- 256 KiB
Request body application/json · required
{
"displayName": "Fargo",
"hostAuthority": "string",
"name": "Fargo",
"protocolVersion": "string"
}- displayNamestring
- hostAuthoritystring
- namestringrequired
- protocolVersionstringrequired
Responses
201Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"displayName":"Fargo","hostAuthority":"string","name":"Fargo","protocolVersion":"string"}'GET/v1/groups/{id}Manage shared playback for the signed-in profileread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
social_get_v1_groups_id
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/groups/{id}" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/groups/{id}/endManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_end- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedRevision": "r12",
"protocolVersion": "string"
}- expectedRevisionstringrequired
- protocolVersionstringrequired
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/end" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":"r12","protocolVersion":"string"}'GET/v1/groups/{id}/eventsManage shared playback for the signed-in profileread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
social_get_v1_groups_id_events
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"events": [
{
"data": null,
"event": "string",
"id": "id_8h2k4q"
}
]
}eventsarray of objectrequired
- dataanyrequired
- eventstringrequired
- idstringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/groups/{id}/events" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/groups/{id}/heartbeatManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_heartbeat
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/heartbeat" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/groups/{id}/host-transferManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_host_transfer- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedRevision": "r12",
"memberId": "id_8h2k4q",
"protocolVersion": "string"
}- expectedRevisionstringrequired
- memberIdstringrequired
- protocolVersionstringrequired
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/host-transfer" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":"r12","memberId":"id_8h2k4q","protocolVersion":"string"}'POST/v1/groups/{id}/invitesManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_invites- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expiresInMs": 1800000,
"maxUses": 0,
"protocolVersion": "string",
"recipientProfileId": "id_8h2k4q"
}- expiresInMsintegerrequired
- maxUsesintegerrequired
- protocolVersionstringrequired
- recipientProfileIdstringrequired
Responses
201Successapplication/json
{
"invite": {
"code": "string",
"expiresAt": "2026-10-18T19:30:00Z",
"groupId": "id_8h2k4q",
"id": "id_8h2k4q",
"maxUses": 0,
"recipientProfileId": "id_8h2k4q",
"uses": 0
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}inviteobjectrequired
- codestringrequired
- expiresAtstringrequired
- groupIdstringrequired
- idstringrequired
- maxUsesintegerrequired
- recipientProfileIdstringrequired
- usesintegerrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/invites" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"expiresInMs":1800000,"maxUses":0,"protocolVersion":"string","recipientProfileId":"id_8h2k4q"}'DELETE/v1/groups/{id}/invites/{inviteId}Manage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_delete_v1_groups_id_invites_inviteId
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string | |
inviteIdrequired | path | string |
Responses
204Success
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X DELETE "http://127.0.0.1:32500/v1/groups/{id}/invites/{inviteId}" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/groups/{id}/leaveManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_leave
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/leave" \
-H "Authorization: Bearer $PORTICO_API_KEY"GET/v1/groups/{id}/queueManage shared playback for the signed-in profileread
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the read scope, or a signed-in session
- OpenAPI operation ID
social_get_v1_groups_id_queue
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Responses
200Successapplication/json
{
"groupId": "id_8h2k4q",
"protocolVersion": "string",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{
"blockedEntryIds": [],
"displayName": "Fargo",
"memberId": "id_8h2k4q"
}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"serverTime": "2026-10-18T19:30:00Z"
}- groupIdstringrequired
- protocolVersionstringrequired
queueobjectrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busy
Example request
curl -X GET "http://127.0.0.1:32500/v1/groups/{id}/queue" \
-H "Authorization: Bearer $PORTICO_API_KEY"POST/v1/groups/{id}/queueManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_queue- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"destinationEntryId": "id_8h2k4q",
"entryId": "id_8h2k4q",
"expectedRevision": "r12",
"idempotencyKey": "string",
"itemIds": [
"string"
],
"operation": "string",
"placement": "string",
"protocolVersion": "string"
}- destinationEntryIdstringrequired
- entryIdstringrequired
- expectedRevisionstringrequired
- idempotencyKeystringrequired
- itemIdsarray of stringrequired
- operationstringrequired
- placementstringrequired
- protocolVersionstringrequired
Responses
200Successapplication/json
{
"groupId": "id_8h2k4q",
"protocolVersion": "string",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{
"blockedEntryIds": [],
"displayName": "Fargo",
"memberId": "id_8h2k4q"
}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"serverTime": "2026-10-18T19:30:00Z"
}- groupIdstringrequired
- protocolVersionstringrequired
queueobjectrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/queue" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"destinationEntryId": "id_8h2k4q",
"entryId": "id_8h2k4q",
"expectedRevision": "r12",
"idempotencyKey": "string",
"itemIds": [
"string"
],
"operation": "string",
"placement": "string",
"protocolVersion": "string"
}'POST/v1/groups/{id}/readinessManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_readiness- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"ended": true,
"playbackRevision": "r12",
"positionUs": "string",
"protocolVersion": "string",
"readiness": "string"
}- endedboolean
- playbackRevisionstringrequired
- positionUsstring
- protocolVersionstringrequired
- readinessstringrequired
Responses
200Successapplication/json
{
"groupId": "id_8h2k4q",
"playbackRevision": "r12",
"protocolVersion": "string",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"revision": "r12",
"serverTime": "2026-10-18T19:30:00Z",
"state": "string"
}- groupIdstringrequired
- playbackRevisionstringrequired
- protocolVersionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- revisionstringrequired
- serverTimestringrequired
- statestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/readiness" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"ended":true,"playbackRevision":"r12","positionUs":"string","protocolVersion":"string","readiness":"string"}'POST/v1/groups/{id}/settingsManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_settings- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"expectedRevision": "r12",
"idempotencyKey": "string",
"protocolVersion": "string",
"repeatMode": "string",
"shuffleEnabled": true
}- expectedRevisionstringrequired
- idempotencyKeystringrequired
- protocolVersionstringrequired
- repeatModestring
- shuffleEnabledboolean
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/settings" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"expectedRevision":"r12","idempotencyKey":"string","protocolVersion":"string","repeatMode":"string","shuffleEnabled":true}'POST/v1/groups/{id}/transportManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_id_transport- Max body
- 256 KiB
Parameters
| Name | In | Type | Description |
|---|---|---|---|
idrequired | path | string |
Request body application/json · required
{
"allowUnavailable": true,
"command": "string",
"entryId": "id_8h2k4q",
"expectedRevision": "r12",
"idempotencyKey": "string",
"positionUs": "string",
"protocolVersion": "string",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
}
}- allowUnavailableboolean
- commandstringrequired
- entryIdstring
- expectedRevisionstringrequired
- idempotencyKeystringrequired
- positionUsstring
- protocolVersionstringrequired
- queuePositioninteger
rateobject
- denominatorstringrequired
- numeratorstringrequired
Responses
200Successapplication/json
{
"command": "string",
"disposition": "string",
"groupId": "id_8h2k4q",
"groupState": "string",
"idempotencyKey": "string",
"override": {
"blockedMemberIds": [
"string"
],
"reason": "string"
},
"playbackRevision": "r12",
"protocolVersion": "string",
"queueRevision": "r12",
"recordedAt": "2026-10-18T19:30:00Z",
"revision": "r12",
"serverTime": "2026-10-18T19:30:00Z",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
}
}- commandstringrequired
- dispositionstringrequired
- groupIdstringrequired
- groupStatestringrequired
- idempotencyKeystringrequired
overrideobject | any | nullrequired
- blockedMemberIdsarray of stringrequired
- reasonstringrequired
- playbackRevisionstringrequired
- protocolVersionstringrequired
- queueRevisionstringrequired
- recordedAtstringrequired
- revisionstringrequired
- serverTimestringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/{id}/transport" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"allowUnavailable": true,
"command": "string",
"entryId": "id_8h2k4q",
"expectedRevision": "r12",
"idempotencyKey": "string",
"positionUs": "string",
"protocolVersion": "string",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
}
}'POST/v1/groups/joinManage shared playback for the signed-in profileplayback
- Audience
- Clients · Native API
- Authorization
- API key or personal access token with the playback scope, or a signed-in session
- OpenAPI operation ID
social_post_v1_groups_join- Max body
- 256 KiB
Request body application/json · required
{
"code": "string",
"displayName": "Fargo",
"protocolVersion": "string"
}- codestringrequired
- displayNamestring
- protocolVersionstringrequired
Responses
200Successapplication/json
{
"group": {
"authority": {
"deviceId": "id_8h2k4q",
"playbackId": "id_8h2k4q",
"state": "string"
},
"createdAt": "2026-10-18T19:30:00Z",
"endedReason": "string",
"eventOrdinal": "string",
"governanceRevision": "r12",
"host": {
"endAt": "2026-10-18T19:30:00Z",
"lastSeenAt": "2026-10-18T19:30:00Z",
"pauseAt": "2026-10-18T19:30:00Z",
"presence": "string"
},
"hostAuthority": "string",
"hostMemberId": "id_8h2k4q",
"id": "id_8h2k4q",
"lastCommand": "string",
"lastCommandId": "id_8h2k4q",
"members": [
{
"displayName": "Fargo",
"id": "id_8h2k4q",
"joinedAt": "2026-10-18T19:30:00Z",
"positionUs": "string",
"presence": "string",
"private": true,
"readiness": "string",
"reportedAt": "2026-10-18T19:30:00Z",
"role": "string",
"state": "string",
"username": "Fargo"
}
],
"name": "Fargo",
"permissions": {
"canClaimHost": true,
"canControl": true,
"canManageQueue": true,
"isHost": true
},
"playbackRevision": "r12",
"queue": {
"eligibility": {
"blockedEntries": 0,
"currentEntryBlocked": true,
"members": [
{}
]
},
"entries": [
{
"addedBy": "string",
"entryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"position": 0,
"unavailable": true
}
],
"position": 0,
"revision": "r12"
},
"queueRevision": "r12",
"readiness": {
"aggregate": "string",
"buffering": 0,
"lagging": 0,
"memberCount": 0,
"ready": 0,
"stale": 0
},
"reconnectGeneration": "string",
"revision": "r12",
"settings": {
"repeatMode": "string",
"shuffleEnabled": true
},
"settingsRevision": "r12",
"state": "string",
"sync": {
"noCorrectionUnderMs": 1800000,
"rateCorrectionMaxMs": 1800000,
"rateCorrectionMaximum": "string",
"rateCorrectionMinimum": "string",
"seekAtOrOverMs": 1800000
},
"timeline": {
"anchorAt": "2026-10-18T19:30:00Z",
"anchorPositionUs": "string",
"currentEntryId": "id_8h2k4q",
"itemId": "id_8h2k4q",
"queuePosition": 0,
"rate": {
"denominator": "string",
"numerator": "string"
},
"state": "string",
"waitUntil": "string"
},
"updatedAt": "2026-10-18T19:30:00Z",
"viewerMemberId": "id_8h2k4q"
},
"protocolVersion": "string",
"serverTime": "2026-10-18T19:30:00Z"
}groupobjectrequired
authorityobjectrequired
- deviceIdstringrequired
- playbackIdstring | any | nullrequired
- statestringrequired
- createdAtstringrequired
- endedReasonstringrequired
- eventOrdinalstringrequired
- governanceRevisionstringrequired
hostobjectrequired
- endAtstring | any | nullrequired
- lastSeenAtstringrequired
- pauseAtstring | any | nullrequired
- presencestringrequired
- hostAuthoritystringrequired
- hostMemberIdstringrequired
- idstringrequired
- lastCommandstringrequired
- lastCommandIdstringrequired
membersarray of objectrequired
- displayNamestringrequired
- idstringrequired
- joinedAtstringrequired
- positionUsstringrequired
- presencestringrequired
- privatebooleanrequired
- readinessstringrequired
- reportedAtstring | any | nullrequired
- rolestringrequired
- statestringrequired
- usernamestring
- namestringrequired
permissionsobjectrequired
- canClaimHostboolean
- canControlbooleanrequired
- canManageQueuebooleanrequired
- isHostbooleanrequired
- playbackRevisionstringrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
- blockedEntriesintegerrequired
- currentEntryBlockedbooleanrequired
membersarray of objectrequired
- blockedEntryIdsarray of stringrequired
- displayNamestringrequired
- memberIdstringrequired
entriesarray of objectrequired
- addedBystringrequired
- entryIdstringrequired
- itemIdstring | any | nullrequired
- positionintegerrequired
- unavailablebooleanrequired
- positionintegerrequired
- revisionstringrequired
- queueRevisionstringrequired
readinessobjectrequired
- aggregatestringrequired
- bufferingintegerrequired
- laggingintegerrequired
- memberCountintegerrequired
- readyintegerrequired
- staleintegerrequired
- reconnectGenerationstringrequired
- revisionstringrequired
settingsobjectrequired
- repeatModestringrequired
- shuffleEnabledbooleanrequired
- settingsRevisionstringrequired
- statestringrequired
syncobjectrequired
- noCorrectionUnderMsintegerrequired
- rateCorrectionMaxMsintegerrequired
- rateCorrectionMaximumstringrequired
- rateCorrectionMinimumstringrequired
- seekAtOrOverMsintegerrequired
timelineobjectrequired
- anchorAtstringrequired
- anchorPositionUsstringrequired
- currentEntryIdstringrequired
- itemIdstringrequired
- queuePositionintegerrequired
rateobjectrequired
- denominatorstringrequired
- numeratorstringrequired
- statestringrequired
- waitUntilstring | any | nullrequired
- updatedAtstringrequired
- viewerMemberIdstringrequired
- protocolVersionstringrequired
- serverTimestringrequired
defaultRequest refused or unavailableapplication/json
{
"error": {
"code": "string",
"message": "string"
}
}errorobjectrequired
- codestringrequired
- messagestringrequired
Error codesunauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busywriter_capacity
Example request
curl -X POST "http://127.0.0.1:32500/v1/groups/join" \
-H "Authorization: Bearer $PORTICO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"code":"string","displayName":"Fargo","protocolVersion":"string"}'No operations match that filter.
GET
/v1/groupsManage shared playback for the signed-in profilereadsocial_get_v1_groupsResponses
200Successapplication/json
groupsarray of objectrequired
authorityobjectrequired
hostobjectrequired
membersarray of objectrequired
permissionsobjectrequired
queueobject | any | nullrequired
eligibilityobject | any | nullrequired
membersarray of objectrequired
entriesarray of objectrequired
readinessobjectrequired
settingsobjectrequired
syncobjectrequired
timelineobjectrequired
rateobjectrequired
defaultRequest refused or unavailableapplication/json
errorobjectrequired
Error codes
unauthorizednot_permittedinternalreceiver_requiredcapacity_reachedcast_access_endedcast_code_consumedcast_code_expiredcast_code_not_foundcast_code_revokedcast_device_expiredcast_device_not_foundcast_device_revokedcast_unavailabledevice_requiredentry_not_foundgrant_not_acceptedgrant_not_pendinggroup_endedgroup_fullhandoff_expiredhandoff_in_progresshandoff_not_readyhandoff_source_conflicthandoff_source_revision_conflicthandoff_state_conflicthost_requiredidempotency_key_reusedinvalid_requestinvite_consumedinvite_expiredinvite_not_foundinvite_revokedinvite_wrong_recipientmedia_no_longer_accessiblemember_not_foundmembership_revokednot_foundparticipant_incompatibleplayback_authority_unavailablequeue_fullrate_limitedreceiver_key_mismatchrevision_conflicttarget_unavailabledatabase_busyExample request