AV mixers
The AV Mixer API is the released Callaba 8.8 reference for creating saved mixers, preparing Preview, starting Program, taking a scene, and reading runtime or audio state.
Choose this whenA Callaba 8.8 AV Mixer workflow is already proven in the UI and a developer needs bounded automation for Preview, Program, outputs, recording, or observation.
Use another module whenUse the remote-production workflow guidance when the production design is not yet proven; do not use public methods as a general administration path.
/api/av-mixers/createChoose the right operation
- Use
createorupdateto store mixer configuration. Neither route starts Program. - Use
updateStateto prepare Preview, thenstartwhen the mixer is enabled and Preview has a configured video layer. - Use
taketo move Preview to Program withCUTorFADE. - Use
runtime, statistics, meters, output, recording, and diagnostic methods to operate or observe the running mixer.
Owner and public access
Owner routes use x-access-token. Most single-session operational mutations also require x-av-mixer-session and x-av-mixer-control-epoch; the method pages identify those cases. Create, update, enable, disable, remove, start, and stop can use the documented temporary management-lease exception when no operator lease is active. Do not infer a client-side claim flow from this reference: the live API does not publish /control/*.
The separately labelled /api/av-mixers-public read routes do not use the owner API key; they require PUBLIC visibility and an enabled mixer. Public take and update also require the relevant saved public permission. A public link is not a general administration credential. The invitation-redemption route instead uses its opaque invite token as the credential.
Related references
Read Authorization for owner authentication. Use Video calls when assigning conference tracks, and SRT servers for transport endpoints. Phone and browser token responses are credentials: use placeholders in requests and never publish returned values.
Scope
This module documents the AV Mixer operations present in the released API reference. It does not document source-only /control/* or /studio/* routes.
Next steps
Choose a saved mixer, confirm its access boundary, then start with one narrowly scoped request. Keep returned browser, conference, and phone-publish credentials out of source control and logs.
Inspect a configured mixer before automating a take
Read the saved mixer and its runtime first, prepare Preview deliberately, then take only after Program is started and the configured control session is available.
- Read the saved mixerConfirm the selected mixer, its scenes, inputs, outputs, and saved Preview configuration.
POST /api/av-mixers/getById - Check the current runtimeUse runtime state to see whether Program is already running before changing prepared state.
POST /api/av-mixers/runtime - Prepare PreviewUpdate the intended Preview state without treating that preparation as a Program take.
POST /api/av-mixers/updateState - Take the prepared sceneOnly send the take when Preview has a configured video layer, Program is started, and the required control session is held.
POST /api/av-mixers/take - Inspect the resultRead runtime again and verify the resulting state in the operator workflow before the next automated action.
POST /api/av-mixers/runtime
This is an inspection and preparation sequence, not a live-execution recipe. A take needs a configured Preview video layer, a started Program, and the applicable control-session headers for a single-session mixer.
Create the saved mixer first. Creation stores configuration only; it does not start Program.
Configuration objects
| Field | Use |
|---|---|
inputs[] | Each input requires name and type. Reference existing input and source identifiers; source-specific settings are not a closed portable schema. |
scenes[] | Each scene requires id and name. Its layers[] use id, name, source_id, visible, and opacity (a number from 0 to 1) from the released schema. |
outputs[] | Output objects use id, name, type, enabled, and endpoint-specific settings. |
canvas_settings, performance_settings, audio_mixer_state | These objects remain open beyond their released properties. Use only properties supported by the request schema; do not copy dashboard prefills as server defaults. |
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Optional.
Human-readable mixer name. Required.
Saved access visibility: PRIVATE or PUBLIC. Optional.
Whether the saved mixer is enabled for operation. Optional.
Input definitions to store with the mixer. Optional.
Scene definitions to store with the mixer. Optional.
Output definitions to store with the mixer. Optional.
Scene currently assigned to Program. Optional.
Scene currently assigned to Preview. Optional.
Canvas configuration object; use only fields supported by the released schema. Optional.
Performance configuration object; use only fields supported by the released schema. Optional.
Saved audio mixer state object. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/create' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"name": "Example mixer",
"visibility": "PRIVATE"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Read one mixer available to the authenticated owner.
Success
Returns 201 with the mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/getById' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}List mixer records available to the authenticated owner. Use limit and skip for pagination.
Success
Returns 201 with the endpoint’s documented result object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Maximum number of mixer records to return. Optional.
Number of records to skip before returning results. Optional.
Sort specification for the mixer list. Optional.
Filter specification for the mixer list. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/getAll' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"limit": 10,
"skip": 0,
"sort": {},
"filter": {}
}'[
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}
]Return the number of owner-visible records matching an optional filter.
Success
Returns 201 with the endpoint’s documented result object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Filter specification for the mixer list. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/getCount' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"filter": {}
}'Number of records matching the request.
{
"count": 1
}Update persisted configuration. Use take, rather than this route, to move Preview to Program.
Configuration objects
| Field | Use |
|---|---|
inputs[] | Each input requires name and type. Reference existing input and source identifiers; source-specific settings are not a closed portable schema. |
scenes[] | Each scene requires id and name. Its layers[] use id, name, source_id, visible, and opacity (a number from 0 to 1) from the released schema. |
outputs[] | Output objects use id, name, type, enabled, and endpoint-specific settings. |
canvas_settings, performance_settings, audio_mixer_state | These objects remain open beyond their released properties. Use only properties supported by the request schema; do not copy dashboard prefills as server defaults. |
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Human-readable mixer name. Required.
Saved access visibility: PRIVATE or PUBLIC. Optional.
Whether the saved mixer is enabled for operation. Optional.
Input definitions to store with the mixer. Optional.
Scene definitions to store with the mixer. Optional.
Output definitions to store with the mixer. Optional.
Scene currently assigned to Program. Optional.
Scene currently assigned to Preview. Optional.
Canvas configuration object; use only fields supported by the released schema. Optional.
Performance configuration object; use only fields supported by the released schema. Optional.
Saved audio mixer state object. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/update' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>",
"name": "Renamed mixer"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Enable a stored mixer for operation.
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/enable' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Disable a stored mixer; the service stops and releases owned media resources.
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/disable' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Remove a mixer by identifier after the service fences its media cleanup.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request DELETE \
--url 'https://your-callaba-server.example/api/av-mixers/remove' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Apply or persist the supplied focused state. Setting preview_scene_id with prepare_engine prepares Preview; it does not itself take Program.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Configuration objects
| Field | Use |
|---|---|
inputs[] | Each input requires name and type. Reference existing input and source identifiers; source-specific settings are not a closed portable schema. |
scenes[] | Each scene requires id and name. Its layers[] use id, name, source_id, visible, and opacity (a number from 0 to 1) from the released schema. |
outputs[] | Output objects use id, name, type, enabled, and endpoint-specific settings. |
canvas_settings, performance_settings, audio_mixer_state | These objects remain open beyond their released properties. Use only properties supported by the request schema; do not copy dashboard prefills as server defaults. |
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Whether to synchronize the engine while applying this state. Optional.
Whether to prepare the engine while applying this state. Optional.
Scene currently assigned to Program. Optional.
Scene currently assigned to Preview. Optional.
Input definitions to store with the mixer. Optional.
Scene definitions to store with the mixer. Optional.
Output definitions to store with the mixer. Optional.
Saved audio mixer state object. Optional.
Canvas configuration object; use only fields supported by the released schema. Optional.
Performance configuration object; use only fields supported by the released schema. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/updateState' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"preview_scene_id": "<scene_id>",
"prepare_engine": true
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Start Program from the configured Preview. The mixer must be enabled and the scene must have a configured video layer.
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/start' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Move the prepared Preview scene to Program. CUT is immediate; FADE uses duration_ms.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Configuration objects
| Field | Use |
|---|---|
inputs[] | Each input requires name and type. Reference existing input and source identifiers; source-specific settings are not a closed portable schema. |
scenes[] | Each scene requires id and name. Its layers[] use id, name, source_id, visible, and opacity (a number from 0 to 1) from the released schema. |
outputs[] | Output objects use id, name, type, enabled, and endpoint-specific settings. |
canvas_settings, performance_settings, audio_mixer_state | These objects remain open beyond their released properties. Use only properties supported by the request schema; do not copy dashboard prefills as server defaults. |
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the scene to target. Optional.
Program transition: CUT changes immediately; FADE uses duration_ms. Optional.
Transition duration in milliseconds; must be zero or greater. Optional.
Scene currently assigned to Preview. Optional.
Scene definitions to store with the mixer. Optional.
Input definitions to store with the mixer. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/take' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"scene_id": "<preview_scene_id>",
"transition": "CUT"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Stop Program and finalize the owned runtime, ingress, recording, and monitor resources.
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/stop' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Control a file source in prepared Preview. This route does not alter Program.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the scene to target. Required.
Identifier of the source to target. Required.
Playback position in milliseconds; must be zero or greater. Optional.
Whether the targeted Preview file source is paused. Optional.
Preview-control generation used to reject stale controls. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/previewPlayback' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"scene_id": "<scene_id>",
"source_id": "<source_id>",
"paused": true
}'True when the operation completed successfully.
{
"success": true
}Request the published source scan. Dashboard-only refresh settings are not part of this request contract.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/scanSources' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}List video-call rooms, participants, and tracks that can be selected as mixer inputs.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/videoCalls' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Prepare or refresh one input without altering Program.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer input to target. Optional.
Identifier of the source to target. Optional.
Participant identity to associate with an input. Optional.
Video-call room name to associate with an input. Optional.
Whether to restart an already prepared input worker. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/primeInput' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"input_id": "<input_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Request timing information for a source or layer before alignment work.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the scene layer to target. Optional.
Identifier of the source to target. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/detectSync' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"source_id": "<source_id>"
}'True when the operation completed successfully.
{
"success": true
}Request a short-lived browser token. Never expose a returned token in examples, source control, or logs.
Single-session control
For a single-session mixer, a token request other than subscribe_only: true needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Optional participant identifier for a browser token. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/browserToken' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"subscribe_only": true
}'True when the operation completed successfully.
{
"success": true
}Request a short-lived token for the specified video-call conference. Treat returned credentials as secrets.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the video-call conference. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/videoCallToken' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"conference_id": "<conference_id>"
}'True when the operation completed successfully.
{
"success": true
}Create a PREVIEW or LIBRARY phone-publish invitation. The invitation token, publisher path, and publish URL are credentials.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the phone-publish session object; handle invitation and publishing values as secrets. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Caller-supplied or returned phone-publish operation identifier. Optional.
Control target selected by the endpoint. Optional.
Identifier of the scene to target. Optional.
Whether the phone-publish session should take its target automatically. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/createPhonePublishSession' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"target": "PREVIEW",
"scene_id": "<scene_id>",
"auto_take": false
}'True when the operation completed successfully.
Caller-supplied or returned phone-publish operation identifier.
Opaque phone-publish invitation token. Treat it as a secret.
Whether the returned phone invitation remains persistent.
Scope of the returned phone-publish session.
Publisher path returned for the phone-publish session.
Display name assigned to the phone participant.
Participant identity to associate with an input.
Identifier of the mixer input to target.
Control target selected by the endpoint.
Identifier of the scene to target.
Whether the phone-publish session should take its target automatically.
Mixer object associated with the phone-publish session.
Publishing URL returned by the phone-publish session. Treat it as sensitive.
{
"success": true,
"operation_id": "<operation_id>",
"invite_token": "<one_time_invite_token>"
}Cancel the named phone-publish operation. The service may report cancellation already in progress or complete.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Caller-supplied or returned phone-publish operation identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/cancelPhonePublishSession' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"operation_id": "<operation_id>"
}'True when the operation completed successfully.
{
"success": true
}Read current audio-meter data.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audioMeters' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Configure monitor output routing and optional monitor suspension.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Audio route shape
| Object | Fields |
|---|---|
routes[] | Each route requires channel_id and source_id; it may also carry gain, muted, pan, delay_ms, and buffer_ms. |
master | Master gain/mute settings when supported by the selected method. |
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer output to target. Optional.
Whether monitor output is suspended. Optional.
Whether to apply monitor configuration to the selected output. Optional.
Audio-route definitions. Each route identifies a channel and source. Optional.
Master audio settings object. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audioMonitor' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"suspended": true
}'True when the operation completed successfully.
{
"success": true
}Apply monitor route and master volume values.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Audio route shape
| Object | Fields |
|---|---|
routes[] | Each route requires channel_id and source_id; it may also carry gain, muted, pan, delay_ms, and buffer_ms. |
master | Master gain/mute settings when supported by the selected method. |
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer output to target. Optional.
Whether monitor output is suspended. Optional.
Whether to apply monitor configuration to the selected output. Optional.
Audio-route definitions. Each route identifies a channel and source. Optional.
Master audio settings object. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audioMonitorVolumes' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"master": {
"muted": true
}
}'True when the operation completed successfully.
{
"success": true
}Apply the provided audio-mixer state to the Program graph.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Saved audio mixer state object. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/programAudio' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"audio_mixer_state": {}
}'True when the operation completed successfully.
{
"success": true
}Set one output’s publish state without replacing the rest of the mixer configuration.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer output to target. Required.
Whether the saved mixer is enabled for operation. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/outputs/publishState' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"output_id": "<output_id>",
"enabled": true
}'True when the operation completed successfully.
{
"success": true
}Start recording Program or the selected output.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer output to target. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/recording/start' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"output_id": "<output_id>"
}'True when the operation completed successfully.
{
"success": true
}Stop and finalize recording for Program or the selected output.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer output to target. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/recording/stop' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"output_id": "<output_id>"
}'True when the operation completed successfully.
{
"success": true
}Read owner-visible runtime information.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/runtime' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Read owner-visible mixer statistics.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/getStat' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Request a camera reset; a label may identify the target.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Optional camera-reset label. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/cameraReset' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"label": "<camera_label>"
}'True when the operation completed successfully.
{
"success": true
}Request wake-up for the source attached to the named mixer input.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the mixer input to target. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/wakeSource' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"input_id": "<input_id>"
}'True when the operation completed successfully.
{
"success": true
}Tell the engine which existing inputs currently demand their sources. input_ids must contain actual input identifiers.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Non-empty list of mixer input identifiers that currently demand their sources. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/sourceDemand' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"input_ids": [
"<input_id>"
]
}'True when the operation completed successfully.
{
"success": true
}Remove the specified file from a mixer project.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Identifier of the project file to remove. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/projectFiles/remove' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>",
"file_id": "<file_id>"
}'True when the operation completed successfully.
{
"success": true
}Read recent audio log entries.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier to query for audio log entries. Required.
Maximum number of recent entries to return; must be at least 1. Optional.
curl --request GET \
--url 'https://your-callaba-server.example/api/av-mixers/audioLogs?id=%3Cmixer_id%3E&tail=100' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>'True when the operation completed successfully.
{
"success": true
}Read recent audio log entries using a JSON request.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Maximum number of recent log entries to return; must be at least 1. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audioLogs' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>",
"tail": 20
}'True when the operation completed successfully.
{
"success": true
}Read recent audio log entries through the audio-log alias.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier to query for audio log entries. Required.
Maximum number of recent entries to return; must be at least 1. Optional.
curl --request GET \
--url 'https://your-callaba-server.example/api/av-mixers/audio-controller/logs?id=%3Cmixer_id%3E&tail=100' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>'True when the operation completed successfully.
{
"success": true
}Read recent audio log entries through the audio-log alias.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
Maximum number of recent log entries to return; must be at least 1. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audio-controller/logs' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>",
"tail": 20
}'True when the operation completed successfully.
{
"success": true
}Clear audio log entries.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audioLogs/clear' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Clear audio log entries through the audio-log alias.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/audio-controller/logs/clear' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Read the mixer request-log result.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/requestLog' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--data '{
"id": "<mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Record a concise owner-authenticated client event. detail is limited to 256 characters.
Single-session control
For a single-session mixer, this owner mutation needs the configured operator lease: send x-av-mixer-session and the current x-av-mixer-control-epoch with owner authentication. A missing or stale lease can return 423 AV_MIXER_VIEW_ONLY. The published API does not expose the lease-claim endpoints. A stored multi-session mixer does not require client lease headers.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Review Authorization before sending owner requests. For mixer lifecycle and scene operations, continue with the related method in this AV Mixer reference.
Mixer identifier associated with the client event. Required.
Client event name. Required.
Optional event detail, limited to 256 characters. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers/clientEvent' \
--header 'Content-Type: application/json' \
--header 'x-access-token: <your_api_token>' \
--header 'x-av-mixer-session: <operator_session>' \
--header 'x-av-mixer-control-epoch: <control_epoch>' \
--data '{
"mixer_id": "<mixer_id>",
"event": "<event_name>",
"detail": "<brief_detail>"
}'True when the operation completed successfully.
{
"success": true
}Read the visibility-filtered state for a PUBLIC mixer.
Public-access boundary
This read path has no owner API-key header. It requires PUBLIC visibility and an enabled mixer; saved public-control permissions do not gate this read.
Success
Returns 200 with the mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Verify the mixer’s PUBLIC visibility and enabled state before making this public read request.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers-public/getById' \
--header 'Content-Type: application/json' \
--data '{
"id": "<public_mixer_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Redeem an opaque phone-publish invitation. The invite token is the credential for this request; do not retain it in documentation or logs. This route does not use an owner API-key header.
Success
Returns 201 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Use a fresh invitation token only for its intended phone-publish session. Keep returned connection credentials out of logs and source control.
Opaque phone-publish invitation token. Treat it as a secret. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers-public/redeemPhonePublishSession' \
--header 'Content-Type: application/json' \
--data '{
"invite_token": "<phone_publish_invite_token>"
}'True when the operation completed successfully.
{
"success": true
}Read visibility-filtered runtime information for a PUBLIC mixer.
Public-access boundary
This read path has no owner API-key header. It requires PUBLIC visibility and an enabled mixer; saved public-control permissions do not gate this read.
Success
Returns 200 with the endpoint’s documented result object. OperationResult is intentionally open beyond its documented success flag; do not depend on undeclared response properties. The displayed response example is illustrative.
Next steps
Verify the mixer’s PUBLIC visibility and enabled state before making this public read request.
Mixer identifier. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers-public/runtime' \
--header 'Content-Type: application/json' \
--data '{
"id": "<public_mixer_id>"
}'True when the operation completed successfully.
{
"success": true
}Take the named scene only when the mixer’s saved public permission allows scene switching.
Public-access boundary
This path has no owner API-key header, but it is not open administration. It is evaluated against the mixer’s PUBLIC visibility, enabled state, and saved public permissions for the requested action.
Success
Returns 200 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Verify the mixer’s PUBLIC visibility, enabled state, and saved permission for this action before making a public request.
Mixer identifier. Required.
Identifier of the scene to target. Required.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers-public/take' \
--header 'Content-Type: application/json' \
--data '{
"id": "<public_mixer_id>",
"scene_id": "<scene_id>"
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}Change one input, output, audio, or transition property only when the saved public permission allows that category.
Public-access boundary
This path has no owner API-key header, but it is not open administration. It is evaluated against the mixer’s PUBLIC visibility, enabled state, and saved public permissions for the requested action.
Success
Returns 200 with the updated mixer object. The displayed response example is illustrative; rely only on fields declared in the response table.
Next steps
Verify the mixer’s PUBLIC visibility, enabled state, and saved permission for this action before making a public request.
Mixer identifier. Required.
Public-control category allowed by the saved permission set. Required.
Identifier of the scene to target. Optional.
Identifier of the scene layer to target. Optional.
Identifier of the mixer output to target. Optional.
Identifier of the audio channel to target. Optional.
Control target selected by the endpoint. Optional.
Requested visibility for the targeted input layer. Optional.
Requested opacity for the targeted input layer. Optional.
Whether the saved mixer is enabled for operation. Optional.
Requested mute state. Optional.
Requested audio gain. Optional.
Program transition: CUT changes immediately; FADE uses duration_ms. Optional.
Transition duration in milliseconds; must be zero or greater. Optional.
curl --request POST \
--url 'https://your-callaba-server.example/api/av-mixers-public/update' \
--header 'Content-Type: application/json' \
--data '{
"id": "<public_mixer_id>",
"category": "inputs",
"scene_id": "<scene_id>",
"layer_id": "<layer_id>",
"visible": true
}'Mixer identifier.
Human-readable mixer name.
Saved access visibility: PRIVATE or PUBLIC.
Whether the saved mixer is enabled for operation.
Whether the mixer is currently active.
Persisted mixer lifecycle status.
Identifier of the assigned engine when one is present.
Scene currently assigned to Program.
Scene currently assigned to Preview.
Saved layout preset name.
Canvas configuration object; use only fields supported by the released schema.
Performance configuration object; use only fields supported by the released schema.
Input definitions to store with the mixer.
Scene definitions to store with the mixer.
Output definitions to store with the mixer.
Saved audio mixer state object.
Saved synchronization presets.
Current or saved engine state object when returned.
Current or saved recording state object when returned.
Creation timestamp supplied by the service.
Last-modified timestamp supplied by the service.
{
"id": "64f1c2e77393ab0012345678",
"name": "Studio mixer"
}