Developer Portal
Quick StartsComposition scriptingAPIs and SDKsSupport
  • Portal overview
  • Quick start
  • REST API
    • Introduction
    • Rate limits
    • Authorization
    • How-to guides
      • Get a control app's API token
      • Get a composition's sub-composition IDs and names and their payload structures
      • Get a control app's model
      • Get a control app's metadata
      • Update a sub-composition's content
      • Update a sub-composition's animation state
      • Update a sub-composition's content and animation state in one call
      • Update multiple sub-compositions in one call
    • API reference
      • Get control app details
        • Get a control app's metadata
        • Get a control app's model
        • Get a control app's control data
      • Send data to a control app
        • Update a control app's content
        • Update a control app's animation state
      • Take out all of an app's output
  • Data stream API
    • Introduction
    • Rate limits
    • Authorization
    • How-to guides
      • Create a data stream
      • Link a data stream to a composition
      • Send data to an app using the data stream API
    • API reference
  • Composition scripting
    • Introduction
    • Overview
    • Quick start
      • Find sub-compositions and widgets
      • Read and update control nodes
      • Set text widget text properties
      • Read and update widget properties
      • Read control nodes and update widget properties
      • Set image widget URL property
      • Set table widget content property
    • Cheat sheets
      • Fundamentals
      • Interactive overlays
      • Best practices
    • Use cases
      • Read control nodes and generate HTML text
      • Read control nodes, generate HTML text with background
      • Text Ticker - Start ticker on "In" animation
    • Composition script editor reference
  • Software development kits
    • Graphics SDK
      • Getting started
      • Reference
        • SDK functions
        • Composition object
        • Sequencer object
      • Guides and examples
        • Load a composition with its token
        • Load a composition with its URL
        • Get the composition URL of an app instance
        • Sequencer VOD example
        • Control local preview of app
        • Load app instance output
    • Overlay SDK
      • Getting started
      • SDK functions
      • Use case examples
    • Widget SDK
      • Preparing your environment
      • Getting started
      • Reference
        • Widget UI definition
        • Widget callback functions
        • Time control object
        • Composition instance
      • Guides and examples
        • Widget example: CSS patterns
    • App SDK
  • Singular Basics
    • Overview of Singular
    • Managing overlays in the Dashboard
      • How to create a new composition
      • How to open a new app template
      • How to create an app for a composition
      • How to extract a composition from an app
      • How to find an app's shared app token and shared API URL
      • Dashboard reference
    • Building overlays in Composer
      • How to build a composition
      • How to set up layer logic to automate overlay transitions
      • How to set up control nodes to make widget properties available to a control app
      • Animating overlays
        • How to create timeline animations
        • How to create behavior animations
        • How to create update animations
      • How to make overlays interactive
      • How to adapt overlays to various screen sizes
      • Composer reference
    • Controlling overlays in Studio and UNO
      • How to use Studio
      • Studio reference
      • UNO reference
  • Support
    • Singular status
    • Support resources
    • Singular terminology
    • Performance Testing
Powered by GitBook
On this page

Was this helpful?

  1. REST API
  2. How-to guides

Update multiple sub-compositions in one call

PreviousUpdate a sub-composition's content and animation state in one callNextAPI reference

Last updated 2 years ago

Was this helpful?

To update multiple sub-compositions in one API call, you'll need two things:

  • The for the particular instance of the control app you're using

  • The of the overlays you want to update

With that data on hand

  1. Prepare a PATCH request to https://app.singular.live/apiv2/controlapps/:appToken/control, which is the endpoint to .

  2. Replace :appToken with the actual app token for your app instance.

  3. Add a request body with the actual sub-composition IDs and payload structures, and include the updates you'd like to make. The request body should look like this, but with sub-composition IDs and payload data filled in.

[
    {
        "subCompositionName": "your-subcomposition-name-1",
        "payload": {
           "controlnode-field": "control node content"
         },
    },
    {
        "subCompositionName": "your-subcomposition-name-2",
        "payload": {
           "controlnode-field": "control node content"
         },
        "state": "<toState>"
    }
]
[
    {
        "subCompositionId": "your-subcomposition-id-1",
        "payload": {
           "controlnode-field": "control node content"
         },
    },
    {
        "subCompositionId": "your-subcomposition-id-2",
        "payload": {
           "controlnode-field": "control node content"
         },
        "state": "<toState>"
    }
]

You can also send the final sub-composition in the list to its In or Out state with this request.

After sending the request, you should get a 200 OK response with a payload of { "success": true }.

app token
sub-composition IDs and payload structures
update a control app