Cast

Generated cast operations.

POST/v1/cast/bootstrapManage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
Session only; API keys and personal access tokens are refused
OpenAPI operation ID
social_post_v1_cast_bootstrap
Max body
256 KiB

Request body application/json · required

Example
{
  "capabilities": [
    "string"
  ],
  "displayName": "Fargo",
  "protocolVersion": "string",
  "receiverId": "id_8h2k4q",
  "source": {
    "entryId": "id_8h2k4q",
    "generation": 0,
    "queueId": "id_8h2k4q",
    "queueRevision": "r12",
    "sessionId": "id_8h2k4q"
  }
}
Schema
  • capabilitiesarray of string
  • displayNamestring
  • protocolVersionstringrequired
  • receiverIdstring
  • sourceobject
    • entryIdstringrequired
    • generationintegerrequired
    • queueIdstringrequired
    • queueRevisionstringrequired
    • sessionIdstringrequired

Responses

201Successapplication/json

Example
{
  "bootstrap": {
    "applicationId": "id_8h2k4q",
    "capabilities": [
      "string"
    ],
    "code": "string",
    "displayName": "Fargo",
    "expiresAt": "2026-10-18T19:30:00Z",
    "id": "id_8h2k4q",
    "receiverUrl": "https://example.com/…",
    "state": "string",
    "transfer": {
      "id": "id_8h2k4q",
      "itemId": "id_8h2k4q",
      "playbackState": "string",
      "state": "string"
    }
  },
  "protocolVersion": "string",
  "serverTime": "2026-10-18T19:30:00Z"
}
Schema
  • bootstrapobjectrequired
    • applicationIdstringrequired
    • capabilitiesarray of stringrequired
    • codestringrequired
    • displayNamestringrequired
    • expiresAtstringrequired
    • idstringrequired
    • receiverUrlstringrequired
    • statestringrequired
    • transferobject
      • idstringrequired
      • itemIdstring
      • playbackStatestring
      • statestringrequired
  • protocolVersionstringrequired
  • serverTimestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/bootstrap" \
  -H "Authorization: Bearer $PORTICO_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "capabilities": [
    "string"
  ],
  "displayName": "Fargo",
  "protocolVersion": "string",
  "receiverId": "id_8h2k4q",
  "source": {
    "entryId": "id_8h2k4q",
    "generation": 0,
    "queueId": "id_8h2k4q",
    "queueRevision": "r12",
    "sessionId": "id_8h2k4q"
  }
}'
DELETE/v1/cast/bootstrap/{id}Manage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
Session only; API keys and personal access tokens are refused
OpenAPI operation ID
social_delete_v1_cast_bootstrap_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "bootstrap": {
    "applicationId": "id_8h2k4q",
    "capabilities": [
      "string"
    ],
    "code": "string",
    "displayName": "Fargo",
    "expiresAt": "2026-10-18T19:30:00Z",
    "id": "id_8h2k4q",
    "receiverUrl": "https://example.com/…",
    "state": "string",
    "transfer": {
      "id": "id_8h2k4q",
      "itemId": "id_8h2k4q",
      "playbackState": "string",
      "state": "string"
    }
  },
  "protocolVersion": "string",
  "serverTime": "2026-10-18T19:30:00Z"
}
Schema
  • bootstrapobjectrequired
    • applicationIdstringrequired
    • capabilitiesarray of stringrequired
    • codestringrequired
    • displayNamestringrequired
    • expiresAtstringrequired
    • idstringrequired
    • receiverUrlstringrequired
    • statestringrequired
    • transferobject
      • idstringrequired
      • itemIdstring
      • playbackStatestring
      • statestringrequired
  • protocolVersionstringrequired
  • serverTimestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/bootstrap/{id}" \
  -H "Authorization: Bearer $PORTICO_ACCESS_TOKEN"
GET/v1/cast/bootstrap/{id}Manage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
Session only; API keys and personal access tokens are refused
OpenAPI operation ID
social_get_v1_cast_bootstrap_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

200Successapplication/json

Example
{
  "bootstrap": {
    "applicationId": "id_8h2k4q",
    "capabilities": [
      "string"
    ],
    "code": "string",
    "displayName": "Fargo",
    "expiresAt": "2026-10-18T19:30:00Z",
    "id": "id_8h2k4q",
    "receiverUrl": "https://example.com/…",
    "state": "string",
    "transfer": {
      "id": "id_8h2k4q",
      "itemId": "id_8h2k4q",
      "playbackState": "string",
      "state": "string"
    }
  },
  "protocolVersion": "string",
  "serverTime": "2026-10-18T19:30:00Z"
}
Schema
  • bootstrapobjectrequired
    • applicationIdstringrequired
    • capabilitiesarray of stringrequired
    • codestringrequired
    • displayNamestringrequired
    • expiresAtstringrequired
    • idstringrequired
    • receiverUrlstringrequired
    • statestringrequired
    • transferobject
      • idstringrequired
      • itemIdstring
      • playbackStatestring
      • statestringrequired
  • protocolVersionstringrequired
  • serverTimestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/bootstrap/{id}" \
  -H "Authorization: Bearer $PORTICO_ACCESS_TOKEN"
GET/v1/cast/configurationManage 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_cast_configuration

Responses

200Successapplication/json

Example
{
  "applicationId": "id_8h2k4q",
  "protocolVersion": "string",
  "receiverUrl": "https://example.com/…"
}
Schema
  • applicationIdstringrequired
  • protocolVersionstringrequired
  • receiverUrlstringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/configuration" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
PUT/v1/cast/configurationManage shared playback for the signed-in profileadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
social_put_v1_cast_configuration
Max body
256 KiB

Request body application/json · required

Example
{
  "applicationId": "id_8h2k4q",
  "protocolVersion": "string"
}
Schema
  • applicationIdstringrequired
  • protocolVersionstringrequired

Responses

200Successapplication/json

Example
{
  "applicationId": "id_8h2k4q",
  "protocolVersion": "string",
  "receiverUrl": "https://example.com/…"
}
Schema
  • applicationIdstringrequired
  • protocolVersionstringrequired
  • receiverUrlstringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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 PUT "http://127.0.0.1:32500/v1/cast/configuration" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"applicationId":"id_8h2k4q","protocolVersion":"string"}'
POST/v1/cast/controllers/checkManage 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_cast_controllers_check
Max body
256 KiB

Request body application/json · required

Example
{
  "attemptId": "id_8h2k4q",
  "bindingId": "id_8h2k4q",
  "controlToken": "string",
  "ticket": "string"
}
Schema
  • attemptIdstringpattern ^$|^[A-Za-z0-9_-]{1,128}$
  • bindingIdstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
  • controlTokenstringrequiredlength 1–48
  • ticketstringlength 0–256

Responses

200Successapplication/json

Example
{
  "attemptId": "id_8h2k4q",
  "binding": {
    "bootstrapId": "id_8h2k4q",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "scope": {
      "accountId": "id_8h2k4q",
      "authority": "string",
      "profileId": "id_8h2k4q",
      "senderDeviceId": "id_8h2k4q",
      "senderFamilyId": "id_8h2k4q",
      "serverId": "id_8h2k4q"
    },
    "targetFamilyId": "id_8h2k4q",
    "targetGeneration": "string",
    "targetId": "id_8h2k4q"
  },
  "ticket": "string"
}
Schema
  • attemptIdstringpattern ^[A-Za-z0-9_-]{1,128}$
  • bindingobjectrequired
    • bootstrapIdstringrequired
    • idstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
    • receiverIdstringrequired
    • scopeobjectrequired
      • accountIdstringrequired
      • authoritystringrequired
      • profileIdstringrequired
      • senderDeviceIdstringrequired
      • senderFamilyIdstringrequired
      • serverIdstringrequired
    • targetFamilyIdstringrequired
    • targetGenerationstringrequired
    • targetIdstringrequired
  • ticketstringlength 43–43

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/controllers/check" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"attemptId":"id_8h2k4q","bindingId":"id_8h2k4q","controlToken":"string","ticket":"string"}'
POST/v1/cast/controllers/registerManage 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_cast_controllers_register
Max body
256 KiB

Request body application/json · required

Example
{
  "bootstrapId": "id_8h2k4q",
  "controlToken": "string"
}
Schema
  • bootstrapIdstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
  • controlTokenstringrequiredlength 1–48

Responses

200Successapplication/json

Example
{
  "attemptId": "id_8h2k4q",
  "binding": {
    "bootstrapId": "id_8h2k4q",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "scope": {
      "accountId": "id_8h2k4q",
      "authority": "string",
      "profileId": "id_8h2k4q",
      "senderDeviceId": "id_8h2k4q",
      "senderFamilyId": "id_8h2k4q",
      "serverId": "id_8h2k4q"
    },
    "targetFamilyId": "id_8h2k4q",
    "targetGeneration": "string",
    "targetId": "id_8h2k4q"
  },
  "ticket": "string"
}
Schema
  • attemptIdstringpattern ^[A-Za-z0-9_-]{1,128}$
  • bindingobjectrequired
    • bootstrapIdstringrequired
    • idstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
    • receiverIdstringrequired
    • scopeobjectrequired
      • accountIdstringrequired
      • authoritystringrequired
      • profileIdstringrequired
      • senderDeviceIdstringrequired
      • senderFamilyIdstringrequired
      • serverIdstringrequired
    • targetFamilyIdstringrequired
    • targetGenerationstringrequired
    • targetIdstringrequired
  • ticketstringlength 43–43

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/controllers/register" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bootstrapId":"id_8h2k4q","controlToken":"string"}'
POST/v1/cast/controllers/validateManage 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_cast_controllers_validate
Max body
256 KiB

Request body application/json · required

Example
{
  "attemptId": "id_8h2k4q",
  "binding": {
    "bootstrapId": "id_8h2k4q",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "scope": {
      "accountId": "id_8h2k4q",
      "authority": "string",
      "profileId": "id_8h2k4q",
      "senderDeviceId": "id_8h2k4q",
      "senderFamilyId": "id_8h2k4q",
      "serverId": "id_8h2k4q"
    },
    "targetFamilyId": "id_8h2k4q",
    "targetGeneration": "string",
    "targetId": "id_8h2k4q"
  }
}
Schema
  • attemptIdstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
  • bindingobjectrequired
    • bootstrapIdstringrequired
    • idstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
    • receiverIdstringrequired
    • scopeobjectrequired
      • accountIdstringrequired
      • authoritystringrequired
      • profileIdstringrequired
      • senderDeviceIdstringrequired
      • senderFamilyIdstringrequired
      • serverIdstringrequired
    • targetFamilyIdstringrequired
    • targetGenerationstringrequired
    • targetIdstringrequired

Responses

200Successapplication/json

Example
{
  "attemptId": "id_8h2k4q",
  "binding": {
    "bootstrapId": "id_8h2k4q",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "scope": {
      "accountId": "id_8h2k4q",
      "authority": "string",
      "profileId": "id_8h2k4q",
      "senderDeviceId": "id_8h2k4q",
      "senderFamilyId": "id_8h2k4q",
      "serverId": "id_8h2k4q"
    },
    "targetFamilyId": "id_8h2k4q",
    "targetGeneration": "string",
    "targetId": "id_8h2k4q"
  },
  "ticket": "string"
}
Schema
  • attemptIdstringpattern ^[A-Za-z0-9_-]{1,128}$
  • bindingobjectrequired
    • bootstrapIdstringrequired
    • idstringrequiredpattern ^[A-Za-z0-9_-]{1,128}$
    • receiverIdstringrequired
    • scopeobjectrequired
      • accountIdstringrequired
      • authoritystringrequired
      • profileIdstringrequired
      • senderDeviceIdstringrequired
      • senderFamilyIdstringrequired
      • serverIdstringrequired
    • targetFamilyIdstringrequired
    • targetGenerationstringrequired
    • targetIdstringrequired
  • ticketstringlength 43–43

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/controllers/validate" \
  -H "Authorization: Bearer $PORTICO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "attemptId": "id_8h2k4q",
  "binding": {
    "bootstrapId": "id_8h2k4q",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "scope": {
      "accountId": "id_8h2k4q",
      "authority": "string",
      "profileId": "id_8h2k4q",
      "senderDeviceId": "id_8h2k4q",
      "senderFamilyId": "id_8h2k4q",
      "serverId": "id_8h2k4q"
    },
    "targetFamilyId": "id_8h2k4q",
    "targetGeneration": "string",
    "targetId": "id_8h2k4q"
  }
}'
DELETE/v1/cast/devices/{id}Manage shared playback for the signed-in profileadmin
Audience
Clients · Native API
Authorization
API key or personal access token with the admin scope, or a signed-in session
OpenAPI operation ID
social_delete_v1_cast_devices_id

Parameters

NameInTypeDescription
idrequiredpathstring

Responses

204Success

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/devices/{id}" \
  -H "Authorization: Bearer $PORTICO_API_KEY"
POST/v1/cast/previewManage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
No credential needed
OpenAPI operation ID
social_post_v1_cast_preview
Max body
256 KiB

Request body application/json · required

Example
{
  "code": "string",
  "deviceId": "id_8h2k4q",
  "protocolVersion": "string"
}
Schema
  • codestringrequired
  • deviceIdstringrequired
  • protocolVersionstringrequired

Responses

200Successapplication/json

Example
{
  "controllerBootstrapId": "id_8h2k4q",
  "expiresAt": "2026-10-18T19:30:00Z",
  "protocolVersion": "string",
  "scope": {
    "accountId": "id_8h2k4q",
    "authority": "string",
    "profileId": "id_8h2k4q"
  },
  "serverTime": "2026-10-18T19:30:00Z"
}
Schema
  • controllerBootstrapIdstringrequired
  • expiresAtstringrequired
  • protocolVersionstringrequired
  • scopeobjectrequired
    • accountIdstringrequired
    • authoritystringrequired
    • profileIdstringrequired
  • serverTimestringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/preview" \
  -H "Content-Type: application/json" \
  -d '{"code":"string","deviceId":"id_8h2k4q","protocolVersion":"string"}'
POST/v1/cast/reconnectManage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
No credential needed
OpenAPI operation ID
social_post_v1_cast_reconnect
Max body
256 KiB

Request body application/json · required

Example
{
  "deviceId": "id_8h2k4q",
  "deviceToken": "string",
  "protocolVersion": "string"
}
Schema
  • deviceIdstring
  • deviceTokenstringrequired
  • protocolVersionstringrequired

Responses

200Successapplication/json

Example
{
  "applicationId": "id_8h2k4q",
  "controllerBootstrapId": "id_8h2k4q",
  "device": {
    "deviceId": "id_8h2k4q",
    "displayName": "Fargo",
    "expiresAt": "2026-10-18T19:30:00Z",
    "generation": "string",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "state": "string"
  },
  "deviceToken": "string",
  "grantSemantics": "string",
  "protocolVersion": "string",
  "scope": {
    "accountId": "id_8h2k4q",
    "authority": "string",
    "capabilities": [
      "string"
    ],
    "profileId": "id_8h2k4q"
  },
  "serverTime": "2026-10-18T19:30:00Z",
  "session": {
    "accessToken": "string",
    "expiresAt": "2026-10-18T19:30:00Z"
  }
}
Schema
  • applicationIdstringrequired
  • controllerBootstrapIdstring
  • deviceobjectrequired
    • deviceIdstringrequired
    • displayNamestringrequired
    • expiresAtstringrequired
    • generationstringrequired
    • idstringrequired
    • receiverIdstringrequired
    • statestringrequired
  • deviceTokenstringrequired
  • grantSemanticsstringrequired
  • protocolVersionstringrequired
  • scopeobjectrequired
    • accountIdstringrequired
    • authoritystringrequired
    • capabilitiesarray of stringrequired
    • profileIdstringrequired
  • serverTimestringrequired
  • sessionobjectrequired
    • accessTokenstringrequired
    • expiresAtstringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/reconnect" \
  -H "Content-Type: application/json" \
  -d '{"deviceId":"id_8h2k4q","deviceToken":"string","protocolVersion":"string"}'
POST/v1/cast/redeemManage shared playback for the signed-in profilesession
Audience
Clients · Native API
Authorization
No credential needed
OpenAPI operation ID
social_post_v1_cast_redeem
Max body
256 KiB

Request body application/json · required

Example
{
  "code": "string",
  "deviceId": "id_8h2k4q",
  "displayName": "Fargo",
  "expectedBootstrapId": "id_8h2k4q",
  "protocolVersion": "string"
}
Schema
  • codestringrequired
  • deviceIdstringrequired
  • displayNamestring
  • expectedBootstrapIdstringrequired
  • protocolVersionstringrequired

Responses

200Successapplication/json

Example
{
  "applicationId": "id_8h2k4q",
  "controllerBootstrapId": "id_8h2k4q",
  "device": {
    "deviceId": "id_8h2k4q",
    "displayName": "Fargo",
    "expiresAt": "2026-10-18T19:30:00Z",
    "generation": "string",
    "id": "id_8h2k4q",
    "receiverId": "id_8h2k4q",
    "state": "string"
  },
  "deviceToken": "string",
  "grantSemantics": "string",
  "protocolVersion": "string",
  "scope": {
    "accountId": "id_8h2k4q",
    "authority": "string",
    "capabilities": [
      "string"
    ],
    "profileId": "id_8h2k4q"
  },
  "serverTime": "2026-10-18T19:30:00Z",
  "session": {
    "accessToken": "string",
    "expiresAt": "2026-10-18T19:30:00Z"
  }
}
Schema
  • applicationIdstringrequired
  • controllerBootstrapIdstring
  • deviceobjectrequired
    • deviceIdstringrequired
    • displayNamestringrequired
    • expiresAtstringrequired
    • generationstringrequired
    • idstringrequired
    • receiverIdstringrequired
    • statestringrequired
  • deviceTokenstringrequired
  • grantSemanticsstringrequired
  • protocolVersionstringrequired
  • scopeobjectrequired
    • accountIdstringrequired
    • authoritystringrequired
    • capabilitiesarray of stringrequired
    • profileIdstringrequired
  • serverTimestringrequired
  • sessionobjectrequired
    • accessTokenstringrequired
    • expiresAtstringrequired

defaultRequest refused or unavailableapplication/json

Example
{
  "error": {
    "code": "string",
    "message": "string"
  }
}
Schema
  • 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/cast/redeem" \
  -H "Content-Type: application/json" \
  -d '{"code":"string","deviceId":"id_8h2k4q","displayName":"Fargo","expectedBootstrapId":"id_8h2k4q","protocolVersion":"string"}'