Download OpenAPI specification:Download
This is API specification of the M2A Workflows API
Workflows handle the orchestration of live stream resources of a scheduled event.
Workflows use Templates to define how a workflow will be executed. A Template specifies the resources, configuration desired states and order that resources are to be utilized.
You can create many workflow instances from 1 workflow template. The macros in the workflow templates will allow you to have different configuration per workflow instance:
Currently, only programmatic access via the API endpoints is available. The API requests and responses use the JSON:API specification https://jsonapi.org/.
A workflow instance represents a collection of media processing resources and their configuration that needs to be managed to achieve the video processing objectives.
Workflow instance is enrolled to an M2A scheduled event, and the system will update a workflow instance when completing a workflow for an event.
Gets a workflow instance by ID
instance-id required | string <uuid> (Resource identifier) Example: c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the workflow instance to retrieve |
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
fields[instance] | string Example: fields[instance]=metadata Return only a subset of the instances data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "data": {
- "attributes": {
- "state": "STARTING",
- "id": "00000000-0000-0000-0000-000000000005",
- "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "00000000-1000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaPackage1",
- "node-id": "00000000-1000-0000-0000-000000000001"
}, - {
- "desired-state": "RUNNING",
- "id": "00000000-2000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaLiveEncoder1",
- "node-id": "00000000-2000-0000-0000-000000000001"
}
]
}
]
}, - {
- "events": [
- "POST-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "STOPPED",
- "id": "00000000-1000-0000-0000-000000000001",
- "internal-state": "IDLE",
- "name": "MediaLiveEncoder1",
- "node-id": "00000000-2000-0000-0000-000000000001"
}, - {
- "desired-state": "STOPPED",
- "id": "00000000-1000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaPackage1",
- "node-id": "00000000-1000-0000-0000-000000000001"
}
]
}
]
}
], - "metadata": {
- "created": "2023-07-03T14:24:25.164293+00:00",
- "labels": [ ],
- "updated": "2023-07-03T14:24:25.164308+00:00"
}, - "nodes": [
- {
- "id": "00000000-1000-0000-0000-000000000001",
- "input-values": {
- "name": "MediaPackage1",
- "template-configuration": {
- "reference-id": "WF Test",
- "values": { }
}
}, - "name": "MediaPackage1",
- "node-type": "packager"
}, - {
- "id": "00000000-2000-0000-0000-000000000001",
- "input-values": {
- "configuration": {
- "assemblies": [
- {
- "destination": "EncoderDestination",
- "filter": "efe6a621-0ee0-4c0d-b558-de1ce026575e",
- "input": "ConnectSource1",
- "output": "40f2cdd1-6dfa-4dae-bc9a-df1a59cbdad3",
- "rendition": "442346e5-b5c5-4b2a-8ba4-2893ff8b86fe",
- "selector": "f83d26c4-1e0c-47fd-ac32-52203f0ca18f"
}
], - "base": "f47cba84-1e9d-425d-819c-33130d4de1c7"
}, - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "EncoderDestination",
- "packager-id": "{{ nodes.MediaPackage1.packager-id }}"
}
], - "encoder-type": "medialive",
- "medialive-role-arn": "arn:aws:iam::168760559311:role/MediaLiveAccessRole",
- "name": "{{ nodes.Enocder-Node-1.name }}",
- "region": "eu-west-1",
- "slate-control": false,
- "sources": [
- {
- "class": "STANDARD",
- "mode": "primary",
- "name": "ConnectSource1",
- "source-id": "02b8131c-bc47-4df4-a47d-511d46dca073",
- "source-type": "connect"
}
]
}, - "name": "Encoder-Node-1",
- "node-type": "encoder"
}
], - "signals-received": [ ],
}, - "id": "00000000-0000-0000-0000-000000000003",
- "links": {
- "self": "/api/workflows/v1/instances/b73d68e2-8995-4bbb-9e8f-2eb329916db4"
}, - "relationships": {
- "template": {
- "data": {
- "type": "workflow-template",
- "id": "PAL"
}
}, - "owner": {
- "data": {
- "id": "5e4fb584-f094-426e-be90-4c74dd1dbb40",
- "type": "target-account"
}
}
}, - "type": "workflow-instance"
}
}
Create a Workflow Instance that will track the state of a workflow execution. If the specified Workflow Template requires input parameters, these will have to be supplied in the request. Note that in order to execute the workflow, the instance will need to be associated with a Schedule Event after the instance has been created.
fields[instance] | string Example: fields[instance]=metadata Return only a subset of the instances data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
The workflow instance payload
required | object |
{- "data": {
- "type": "workflow-instance",
- "attributes": {
- "config": {
- "m2a:name": "test"
}
}, - "relationships": {
- "owner": {
- "data": {
- "id": "00000000-0000-0000-0000-000000000001",
- "type": "target-account"
}
}, - "template": {
- "data": {
- "type": "workflow-template",
- "id": "PAL"
}
}
}
}
}
{- "data": {
- "attributes": {
- "state": "STARTING",
- "id": "00000000-0000-0000-0000-000000000005",
- "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "00000000-1000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaPackage1",
- "node-id": "00000000-1000-0000-0000-000000000001"
}, - {
- "desired-state": "RUNNING",
- "id": "00000000-2000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaLiveEncoder1",
- "node-id": "00000000-2000-0000-0000-000000000001"
}
]
}
]
}, - {
- "events": [
- "POST-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "STOPPED",
- "id": "00000000-1000-0000-0000-000000000001",
- "internal-state": "IDLE",
- "name": "MediaLiveEncoder1",
- "node-id": "00000000-2000-0000-0000-000000000001"
}, - {
- "desired-state": "STOPPED",
- "id": "00000000-1000-0000-0000-000000000000",
- "internal-state": "IDLE",
- "name": "MediaPackage1",
- "node-id": "00000000-1000-0000-0000-000000000001"
}
]
}
]
}
], - "metadata": {
- "created": "2023-07-03T14:24:25.164293+00:00",
- "labels": [ ],
- "updated": "2023-07-03T14:24:25.164308+00:00"
}, - "nodes": [
- {
- "id": "00000000-1000-0000-0000-000000000001",
- "input-values": {
- "name": "MediaPackage1",
- "template-configuration": {
- "reference-id": "WF Test",
- "values": { }
}
}, - "name": "MediaPackage1",
- "node-type": "packager"
}, - {
- "id": "00000000-2000-0000-0000-000000000001",
- "input-values": {
- "configuration": {
- "assemblies": [
- {
- "destination": "EncoderDestination",
- "filter": "efe6a621-0ee0-4c0d-b558-de1ce026575e",
- "input": "ConnectSource1",
- "output": "40f2cdd1-6dfa-4dae-bc9a-df1a59cbdad3",
- "rendition": "442346e5-b5c5-4b2a-8ba4-2893ff8b86fe",
- "selector": "f83d26c4-1e0c-47fd-ac32-52203f0ca18f"
}
], - "base": "f47cba84-1e9d-425d-819c-33130d4de1c7"
}, - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "EncoderDestination",
- "packager-id": "{{ nodes.MediaPackage1.packager-id }}"
}
], - "encoder-type": "medialive",
- "medialive-role-arn": "arn:aws:iam::168760559311:role/MediaLiveAccessRole",
- "name": "{{ nodes.Enocder-Node-1.name }}",
- "region": "eu-west-1",
- "slate-control": false,
- "sources": [
- {
- "class": "STANDARD",
- "mode": "primary",
- "name": "ConnectSource1",
- "source-id": "02b8131c-bc47-4df4-a47d-511d46dca073",
- "source-type": "connect"
}
]
}, - "name": "Encoder-Node-1",
- "node-type": "encoder"
}
], - "signals-received": [ ],
}, - "id": "00000000-0000-0000-0000-000000000003",
- "links": {
- "self": "/api/workflows/v1/instances/b73d68e2-8995-4bbb-9e8f-2eb329916db4"
}, - "relationships": {
- "template": {
- "data": {
- "type": "workflow-template",
- "id": "PAL"
}
}, - "owner": {
- "data": {
- "id": "5e4fb584-f094-426e-be90-4c74dd1dbb40",
- "type": "target-account"
}
}
}, - "type": "workflow-instance"
}
}
Internal use only
Defines the resources and the video flows between them to fulfil a customer’s live video workflow.
Workflow templates allows you to use macros, which can then be overriden per workflow instance.
Example: Workflow template that allows you to create encoder in different regions
"region": "{{ region }}"
When creating a workflow instance you can replace {{ region }}
.
Retrieves a workflow template using Template ID
.
template-id required | string <uuid> (Resource identifier) Example: c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the workflow template id to retrieve |
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
fields[template] | string Example: fields[template]=metadata Return only a subset of the template's data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "workflow-template",
- "attributes": {
- "resource-name": "Example_Template_1",
- "state": "active",
- "metadata": {
- "labels": [
- {
- "key": "m2amedia.tv:name",
- "value": "{{meta.labels.0.value}}"
}
]
}, - "nodes": [
- {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "name": "{{ node_name }}",
- "node-type": "encoder",
- "input-values": {
- "name": "My encoder",
- "medialive-role-arn": "{{ medialive_arn }}",
- "slate-control": true,
- "region": "{{ region }}",
- "encoder-type": "medialive",
- "sources": [
- {
- "source-type": "connect",
- "name": "{{ primary_source_name }}",
- "source-id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "class": "{{ encoeder_class }}",
- "mode": "{{ source_mode }}"
}
], - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "TestChannel",
- "channel-id": "channel-id-test"
}
], - "configuration": {
- "base": "a136776e-f1ea-42bf-865f-e7074c517001",
- "assemblies": [
- {
- "input": "EncoderInput",
- "destination": "EncoderDestination",
- "filter": "a136776e-f1ea-42bf-865f-e7074c517003",
- "selector": "a136776e-f1ea-42bf-865f-e7074c517004",
- "rendition": "a136776e-f1ea-42bf-865f-e7074c517005",
- "output": "a136776e-f1ea-42bf-865f-e7074c517006",
- "failover": "a136776e-f1ea-42bf-865f-e7074c517006",
- "set": "a136776e-f1ea-42bf-865f-e7074c517006"
}
]
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36794",
- "name": "packager node name",
- "node-type": "packager",
- "input-values": {
- "name": "{{ packager_name }}",
- "template-configuration": {
- "reference-id": "{{ packager_template_reference }}",
- "values": { }
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36733",
- "name": "connect source node name",
- "node-type": "connect_source",
- "input-values": {
- "source-id": "{{primary-source}}"
}
}
], - "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8",
- "internal-state": "IDLE",
- "name": "{{ node_event_handler_1 }}",
- "node-id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8"
}
]
}
]
}
]
}, - "relationships": {
- "owner": {
- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "target-account"
}
}
}
}
}
Deletes a workflow template using Template ID
.
template-id required | string <uuid> (Resource identifier) Example: c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the workflow template id to retrieve |
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "errors": [
- {
- "status": "400",
- "title": "Bad Request",
- "detail": "Missing parameter required: owner"
}
]
}
Retrieves a workflow template using the specified resource-name
.
resource-name required | string <string> (Resource name) Example: my template The name of the workflow template |
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
fields[template] | string Example: fields[template]=metadata Return only a subset of the template's data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "workflow-template",
- "attributes": {
- "resource-name": "Example_Template_1",
- "state": "active",
- "metadata": {
- "labels": [
- {
- "key": "m2amedia.tv:name",
- "value": "{{meta.labels.0.value}}"
}
]
}, - "nodes": [
- {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "name": "{{ node_name }}",
- "node-type": "encoder",
- "input-values": {
- "name": "My encoder",
- "medialive-role-arn": "{{ medialive_arn }}",
- "slate-control": true,
- "region": "{{ region }}",
- "encoder-type": "medialive",
- "sources": [
- {
- "source-type": "connect",
- "name": "{{ primary_source_name }}",
- "source-id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "class": "{{ encoeder_class }}",
- "mode": "{{ source_mode }}"
}
], - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "TestChannel",
- "channel-id": "channel-id-test"
}
], - "configuration": {
- "base": "a136776e-f1ea-42bf-865f-e7074c517001",
- "assemblies": [
- {
- "input": "EncoderInput",
- "destination": "EncoderDestination",
- "filter": "a136776e-f1ea-42bf-865f-e7074c517003",
- "selector": "a136776e-f1ea-42bf-865f-e7074c517004",
- "rendition": "a136776e-f1ea-42bf-865f-e7074c517005",
- "output": "a136776e-f1ea-42bf-865f-e7074c517006",
- "failover": "a136776e-f1ea-42bf-865f-e7074c517006",
- "set": "a136776e-f1ea-42bf-865f-e7074c517006"
}
]
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36794",
- "name": "packager node name",
- "node-type": "packager",
- "input-values": {
- "name": "{{ packager_name }}",
- "template-configuration": {
- "reference-id": "{{ packager_template_reference }}",
- "values": { }
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36733",
- "name": "connect source node name",
- "node-type": "connect_source",
- "input-values": {
- "source-id": "{{primary-source}}"
}
}
], - "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8",
- "internal-state": "IDLE",
- "name": "{{ node_event_handler_1 }}",
- "node-id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8"
}
]
}
]
}
]
}, - "relationships": {
- "owner": {
- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "target-account"
}
}
}
}
}
Deletes a workflow template using the specified resource-name
.
resource-name required | string <string> (Resource name) Example: my template The name of the workflow template |
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "errors": [
- {
- "status": "400",
- "title": "Bad Request",
- "detail": "Missing parameter required: owner"
}
]
}
Gets a list of workflow templates for a target account. The workflow template list is paginated.
Each page contains up to 50 templates.
The following structure is used for the response where data
contains
a list of event objects and next
contains an url of the next page of
events:
{
'data': [ ... ],
'links': {
'next': ...
}
}
owner required | string <uuid> (Resource identifier) Example: owner=c49c499b-4e7e-4acb-ae83-f528b6ed194d The id of the target account |
fields[template] | string Example: fields[template]=metadata Return only a subset of the template's data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
{- "links": {
- "next": "/api/workflows/v1/templates/?next=eyJwayI6IHsiUyI6ICIwOThjNzM0NC05N jQ5LTQyYWUtYTA5Ny0xMzJjN2ZiYWZjNTMjYTM3OWIzYmYtNGFmMi00ZThkLWE4N mEtZGY0MjRmNGY3YmUwIn0sICJzayI6IHsiUyI6ICJvd25lciMwOThjNzM0NC05N jQ5LTQyYWUtYTA5Ny0xMzJjN2ZiYWZjNTMifSwgImVuZF90aW1lIjogeyJTIjogI jIwMjItMDktMTNUMTg6MTQ6MTUuMzMwNDUzKzAwMDAifX0%3D&owner=098c7344 -9649-42ae-a097-132c7fbafc53"
}, - "data": [
- {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "workflow-template",
- "attributes": {
- "resource-name": "Example_Template_1",
- "state": "active",
- "metadata": {
- "labels": [
- {
- "key": "m2amedia.tv:name",
- "value": "{{meta.labels.0.value}}"
}
]
}, - "nodes": [
- {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "name": "{{ node_name }}",
- "node-type": "encoder",
- "input-values": {
- "name": "My encoder",
- "medialive-role-arn": "{{ medialive_arn }}",
- "slate-control": true,
- "region": "{{ region }}",
- "encoder-type": "medialive",
- "sources": [
- {
- "source-type": "connect",
- "name": "{{ primary_source_name }}",
- "source-id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "class": "{{ encoeder_class }}",
- "mode": "{{ source_mode }}"
}
], - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "TestChannel",
- "channel-id": "channel-id-test"
}
], - "configuration": {
- "base": "a136776e-f1ea-42bf-865f-e7074c517001",
- "assemblies": [
- {
- "input": "EncoderInput",
- "destination": "EncoderDestination",
- "filter": "a136776e-f1ea-42bf-865f-e7074c517003",
- "selector": "a136776e-f1ea-42bf-865f-e7074c517004",
- "rendition": "a136776e-f1ea-42bf-865f-e7074c517005",
- "output": "a136776e-f1ea-42bf-865f-e7074c517006",
- "failover": "a136776e-f1ea-42bf-865f-e7074c517006",
- "set": "a136776e-f1ea-42bf-865f-e7074c517006"
}
]
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36794",
- "name": "packager node name",
- "node-type": "packager",
- "input-values": {
- "name": "{{ packager_name }}",
- "template-configuration": {
- "reference-id": "{{ packager_template_reference }}",
- "values": { }
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36733",
- "name": "connect source node name",
- "node-type": "connect_source",
- "input-values": {
- "source-id": "{{primary-source}}"
}
}
], - "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8",
- "internal-state": "IDLE",
- "name": "{{ node_event_handler_1 }}",
- "node-id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8"
}
]
}
]
}
]
}, - "relationships": {
- "owner": {
- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "target-account"
}
}
}
}
]
}
POST a workflow template
fields[template] | string Example: fields[template]=metadata Return only a subset of the template's data attributes. Attributes is a comma delimited list of strings. Valid fields are:
|
Accept | string (JSON API) Value: "application/vnd.api+json" Content type (expressed as MIME types) the client is able to understand. |
Content-Type | string (JSON API) Value: "application/vnd.api+json" The original media type of the resource. |
The template payload
required | object |
{- "data": {
- "type": "workflow-template",
- "attributes": {
- "resource-name": "Example_Template_1",
- "state": "active",
- "metadata": {
- "labels": [
- {
- "key": "m2amedia.tv:name",
- "value": "{{meta.labels.0.value}}"
}
]
}, - "nodes": [
- {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "name": "{{ node_name }}",
- "node-type": "encoder",
- "input-values": {
- "name": "My encoder",
- "medialive-role-arn": "{{ medialive_arn }}",
- "slate-control": true,
- "region": "{{ region }}",
- "encoder-type": "medialive",
- "sources": [
- {
- "source-type": "connect",
- "name": "{{ primary_source_name }}",
- "source-id": "f2e56a74-a6db-4b02-800c-a729ddb36795",
- "class": "{{ encoeder_class }}",
- "mode": "{{ source_mode }}"
}
], - "destinations": [
- {
- "destination-type": "channel_id",
- "name": "TestChannel",
- "channel-id": "channel-id-test"
}
], - "configuration": {
- "base": "a136776e-f1ea-42bf-865f-e7074c517001",
- "assemblies": [
- {
- "input": "EncoderInput",
- "destination": "EncoderDestination",
- "filter": "a136776e-f1ea-42bf-865f-e7074c517003",
- "selector": "a136776e-f1ea-42bf-865f-e7074c517004",
- "rendition": "a136776e-f1ea-42bf-865f-e7074c517005",
- "output": "a136776e-f1ea-42bf-865f-e7074c517006",
- "failover": "a136776e-f1ea-42bf-865f-e7074c517006",
- "set": "a136776e-f1ea-42bf-865f-e7074c517006"
}
]
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36794",
- "name": "packager node name",
- "node-type": "packager",
- "input-values": {
- "name": "{{ packager_name }}",
- "template-configuration": {
- "reference-id": "{{ packager_template_reference }}",
- "values": { }
}
}
}, - {
- "id": "f2e56a74-a6db-4b02-800c-a729ddb36733",
- "name": "connect source node name",
- "node-type": "connect_source",
- "input-values": {
- "source-id": "{{ connect_source_id }}"
}
}
], - "event-handlers": [
- {
- "events": [
- "PRE-TX"
], - "sequence": [
- {
- "nodes": [
- {
- "desired-state": "RUNNING",
- "id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8",
- "internal-state": "IDLE",
- "name": "{{ node_event_handler_1 }}",
- "node-id": "ea8d5b8c-cf77-4653-b852-93f79cba21d8"
}
]
}
]
}
], - "workflow-settings": {
- "webhook": {
- "url": "{{webhook-url}}",
- "sequence-events": "all"
}
}
}, - "relationships": {
- "owner": {
- "data": {
- "id": "fafd9559-7686-4fb9-b828-6d360859da7b",
- "type": "target-account"
}
}
}
}
}
{- "data": {
- "id": "c49c499b-4e7e-4acb-ae83-f528b6ed194d",
- "type": "workflow-template",
- "attributes": {
- "metadata": {
- "labels": [
- {
- "key": "m2amedia.tv:name",
- "value": "NTSC"
}
], - "created": "2022-11-03T14:00:00+00:00",
- "updated": "2022-11-03T15:00:00+00:00"
}, - "resource-name": "string",
- "state": "active",
- "nodes": [
- {
- "id": "c49c499b-4e7e-4acb-ae83-f528b6ed194d",
- "name": "Encoder",
- "webhook-enabled": true,
- "input-values": {
- "source-id": "{{nodes.SomeOtherNode.id}}"
}, - "node-type": "connect_source",
- "state": "IDLE"
}
], - "event-handlers": [
- {
- "events": [
- "string"
], - "start-custom-state": "string",
- "end-custom-state": "string",
- "sequence": [
- {
- "nodes": [
- {
- "id": "c49c499b-4e7e-4acb-ae83-f528b6ed194d",
- "node-id": "66475cb1-da95-4ce9-ba31-3bcc330e7bb9",
- "name": "SequenceNode1",
- "desired-state": "ACTIVE",
- "internal-state": "ACTIVE",
- "progress-token": "string",
- "node-state": "IDLE",
- "error": {
- "code": null,
- "message": null
}, - "step-function-execution-arn": "string",
- "exec-start": 0,
- "exec-end": 0
}
]
}
]
}
], - "input-parameters": [
- {
- "key-name": "Incoming Media Framerate",
- "display-name": "string",
- "description": "string",
- "parameter-type": "dynamic",
- "dynamic-data-source": "all_connect_sources",
- "default": {
- "label-match": "string"
}, - "validation-required": true
}
], - "ui-layout": "string",
- "arcs": [
- {
- "output-from": "string",
- "input-to": "string"
}
], - "lookups": [
- { }
], - "workflow-settings": {
- "webhook": {
- "url": "{{webhook-url}}",
- "sequence-events": "all"
}
}
}, - "relationships": {
- "owner": {
- "data": {
- "id": "c49c499b-4e7e-4acb-ae83-f528b6ed194d",
- "type": "target-account"
}
}
}, - "links": {
- "self": "/api/workflows/v1/templates/c49c499b-4e7e-4acb-ae83-f528b6ed194d"
}
}
}