Download OpenAPI specification:Download
Test the API with Swagger at https://api.cdn.vindral.com/api-docs
The /v1/packagers endpoints additionally require the packager control plane to be enabled for your organization.,
The API key used for authentication is tied to a user and shares the permissions of that user which is configured in the Vindral Portal. In addition to the user level permissions each API key has a scope of either read-only or read-write.
Read more about permissions here
Get a list of channels that the provided api key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "channelId" "name" "streamKey" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}
], - "total": 0
}Create a new channel. Requires a read-write scoped API key with sufficient permissions.
| name required | string [ 2 .. 50 ] characters Name of the channel. |
| authRequired | boolean Default: false
|
| notes | string <= 500 characters Default: "" Notes for the channel. |
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Transcoding profile to use for this channel. |
object | |
object Recording configuration. | |
Array of objects Restreaming configuration. | |
object Browser overlay configuration. A web page rendered on top of the video. Only the source's primary video and audio track are used. Changes take effect when transcoding restarts, such as on the next ingest. A page larger than the source, or faster than its frame rate, is rendered at the source's size and rate. Always send enabled; other fields left out keep their stored value, or take the default when the overlay is created. When enabled, url, width, height and frameRate are required. Requires the browser overlay feature on the organization and a transcoding profile on the channel. | |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization that the channel should be added to. |
| channelId | string ChannelId (public id) for the channel, required as: |
| streamKey | string Stream key (private id) for the channel, required as: |
{- "name": "string",
- "authRequired": false,
- "notes": "",
- "transcodingProfileId": "837bdf0e-3944-423b-9940-32e2c71da88b",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}, - "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "channelId": "string",
- "streamKey": "string"
}{- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}Get a list of channels belonging to a specific channel group.
| channelGroupId required | string The channel group id to get channels for. |
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "channelId" "name" "streamKey" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}
], - "total": 0
}Get a list of channels with a specific transcoding profile.
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... The transcoding profile id to get channels for. |
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "channelId" "name" "streamKey" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}
], - "total": 0
}Get a channel by channel id.
| channelId required | string ID of the channel to get. |
{- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}Update a channel by channel id. Requires a read-write scoped API key with sufficient permissions.
| channelId required | string ID of the channel to update. |
| name | string [ 2 .. 50 ] characters Name of the channel. |
| authRequired | boolean
|
| notes | string <= 500 characters Notes for the channel. |
| transcodingProfileId | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Transcoding profile to use for this channel. |
object | |
object Recording configuration. | |
Array of objects Restreaming configuration. | |
object Browser overlay configuration. A web page rendered on top of the video. Only the source's primary video and audio track are used. Changes take effect when transcoding restarts, such as on the next ingest. A page larger than the source, or faster than its frame rate, is rendered at the source's size and rate. Always send enabled; other fields left out keep their stored value, or take the default when the overlay is created. When enabled, url, width, height and frameRate are required. Requires the browser overlay feature on the organization and a transcoding profile on the channel. |
{- "name": "string",
- "authRequired": true,
- "notes": "string",
- "transcodingProfileId": "837bdf0e-3944-423b-9940-32e2c71da88b",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}{- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}Creates or updates a channel by channelId.
If the channelId exists, it will be updated - otherwise created.
channelId, streamKey or organizationId will not be changed on an existing channel, but are required to match.
Requires a read-write scoped API key with sufficient permissions.
| channelId required | string ChannelId (public id) for the channel, required as: |
| name required | string [ 2 .. 50 ] characters Name of the channel. |
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Transcoding profile to use for this channel. |
| authRequired | boolean Default: false
|
| notes | string <= 500 characters Default: "" Notes for the channel. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization that the channel should be added to. Will not update on existing channel. |
required | object |
required | object or null Recording configuration, passing |
required | Array of objects Restreaming configuration. |
object Browser overlay configuration. Omitting it leaves the stored overlay unchanged; pass | |
| streamKey required | string Stream key (private id) for the channel, required as: |
{- "name": "string",
- "transcodingProfileId": "837bdf0e-3944-423b-9940-32e2c71da88b",
- "authRequired": false,
- "notes": "",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}, - "streamKey": "string"
}{- "authRequired": true,
- "channelId": "string",
- "name": "string",
- "notes": "string",
- "streamKey": "string",
- "suspended": true,
- "isLive": true,
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "transcodingProfileId": "string",
- "viewerCountryLimitation": {
- "mode": "allow",
- "limited": [
- "string"
]
}, - "restreaming": [
- {
- "enabled": true,
- "url": "string"
}
], - "recording": {
- "enabled": true,
- "retentionDays": 1
}, - "browserOverlay": {
- "enabled": true,
- "width": 1920,
- "height": 1080,
- "x": 0,
- "y": 0,
- "frameRate": 30,
- "transparentBackground": true,
- "audioCapture": false,
- "audioMixWeight": 0.3
}
}Get one channel group by id.
| channelGroupId required | string ID of the channel group to get. |
{- "channelGroupId": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}Update a channel group with by channel group id. If the channel array is passed in the whole array will be updated with the new array. Requires a read-write scoped API key with sufficient permissions.
| channelGroupId required | string ID of the channel group to update. |
| name | string <= 50 characters Name of the channel group. |
| channelIds | Array of strings List of channel IDs that should be part of the group. |
{- "name": "string",
- "channelIds": [
- "string"
]
}{- "channelGroupId": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}Get a list of channel groups that the provided api key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "name" "channelGroupId" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "channelGroupId": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}
], - "total": 0
}Create a new channel group for a specified name and organization. Optionally add a list of channel ids that should belong to the new channel group. Requires a read-write scoped API key with sufficient permissions.
| name required | string <= 50 characters Name of the channel group. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization that the channel group should be added to. |
| channelIds | Array of strings List of channel IDs that should be part of the group. |
{- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "channelIds": [
- "string"
]
}{- "channelGroupId": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}Add one channel to a channel group. Specify a channelGroupId and a channelId you wish to add to the channel group. Requires a read-write scoped API key with sufficient permissions.
| channelGroupId required | string ID of the channel group to add channel to. |
| channelId required | string ID of the channel that should be added to the channel group. |
nullRemove one channel from a channel group. Specify a channelGroupId and a channelId you wish to remove from the channel group. Requires a read-write scoped API key with sufficient permissions.
| channelGroupId required | string ID of the channel group to remove channel from. |
| channelId required | string ID of the channel to remove from the channel group. |
nullGet a list of transcoding profiles that the provided api key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Value: "name" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "id": "string",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "string",
- "bitRate": 8000,
- "codec": "string",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}
], - "total": 0
}Create a new transcoding profile. Requires a read-write scoped API key with sufficient permissions.
| name required | string |
| notes required | string |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
required | object |
{- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "type": "audio",
- "renditions": [
- {
- "bitRate": 96000,
- "codec": "opus",
- "sampleRate": -9007199254740991,
- "channels": 1
}
], - "passthrough": true,
- "matchSource": {
- "streamId": 0
}
}
]
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "id": "string",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "string",
- "bitRate": 8000,
- "codec": "string",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}Get a transcoding profile by id.
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the transcoding profile to get. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "id": "string",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "string",
- "bitRate": 8000,
- "codec": "string",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}Update a transcoding profile by id. Requires a read-write scoped API key with sufficient permissions.
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
| id | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
| name | string |
| notes | string |
object |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "config": {
- "streams": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "bitRate": 96000,
- "codec": "opus",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "id": "string",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "string",
- "bitRate": 8000,
- "codec": "string",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}Delete a transcoding profile by id. Channels that referenced the deleted transcoding profile will be unusable until assigned a new transcoding profile. Requires a read-write scoped API key with sufficient permissions.
| transcodingProfileId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
nullGet the transcoding profile configured for the specific channel.
| channelId required | string ID of the channel to get the transcoding profile for. |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "string",
- "notes": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "streams": [
- {
- "id": "string",
- "passthrough": true,
- "matchSource": {
- "streamId": 0
}, - "type": "audio",
- "renditions": [
- {
- "id": "string",
- "bitRate": 8000,
- "codec": "string",
- "sampleRate": -9007199254740991,
- "channels": 1
}
]
}
]
}
}Get profile info based on the api token used to make the request.
{- "apiKey": {
- "name": "string",
- "scope": "read"
}, - "user": {
- "name": "string",
- "email": "string"
}, - "organizations": [
- {
- "name": "string",
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "role": "administrator"
}
]
}Get live status and viewers for all channels in an organization.
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the organization to get analytics data for. |
{- "viewersTotal": 0,
- "ingressBps": 0,
- "egressBps": 0,
- "channels": [
- {
- "channelId": "string",
- "viewers": 0,
- "isLive": true
}
]
}Get the current ingest of every channel in an organization that has one: protocol, ingress bitrate, keyframe delta, packet arrival delta and the tracks reported by the encoder.
A channel that is not listed has nothing being ingested.
Use the optional query parameters channelId and channelGroupId to filter the channels.
Values are at most 15 seconds old.
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the organization to get ingest status for. |
| channelId | string Comma separated list of channel IDs to limit the response to. |
| channelGroupId | string Only return channels in this channel group. |
{- "channels": [
- {
- "channelId": "string",
- "protocol": "string",
- "startedAt": "string",
- "ingressBps": 0,
- "video": {
- "keyframeDeltaMs": 0,
- "packetArrivalDeltaAvgMs": 0,
- "packetArrivalDeltaMaxMs": 0
}, - "audio": {
- "packetArrivalDeltaAvgMs": 0,
- "packetArrivalDeltaMaxMs": 0
}, - "tracks": [
- {
- "type": "video",
- "codec": "string",
- "width": 0,
- "height": 0,
- "frameRate": 0,
- "bitRate": 0
}
]
}
]
}Get current number of viewers for an organization.
Use the optional query parameters channelId, countryCode and continent to filter the results.
Use the optional query parameter groupBy to group the results by country or channel.
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the organization to get analytics data for. |
| channelId | string Filters for the specific channel. |
| countryCode | string Country code (ISO 3166-1 alpha-2) to filter the data on a specific country. Special code Example: |
| continent | string Continent code to filter the data for a specific continent. Valid continent codes:
Example: |
| groupBy | string Enum: "channel" "country" Optionally group by channel or country. Default is no grouping. Valid values: |
{- "channels": [
- {
- "channelId": "string",
- "viewers": 0
}
]
}Get metrics.
Use the optional query parameters channelId, countryCode and continent to filter the results.
Metrics are calculated for the time range between from and to.
By default all available metrics are returned, to limit the response use the optional query parameter fields to specify which metrics to return.
Note that viewerBitrateAverage, totalIngressBytes, restartCount, hlsEgressBytes, clippingBytes, rtmpEgressBytes and restreamBytes disregards country and continent filters!
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the organization to get analytics data for. |
| channelId | string Filters for the specific channel. |
| countryCode | string Country code (ISO 3166-1 alpha-2) to filter the data on a specific country. Special code Example: |
| continent | string Continent code to filter the data for a specific continent. Valid continent codes:
Example: |
| fields | string Limit the response by selecting specific fields as a comma separated list. Available fields are:
Example: |
| groupBy | string Enum: "channel" "country" Optionally group by channel or country. Default is no grouping. Valid values: |
| from required | string Date in ISO 8601 format. Example: |
| to required | string Date in ISO 8601 format. Example: |
{- "viewerSessions": 0,
- "viewerSeconds": 0,
- "viewerSessionsAvgDurationSeconds": 0,
- "viewerBitrateAverage": 0,
- "totalEgressBytes": 0,
- "totalIngressBytes": 0,
- "restartCount": 0,
- "hlsEgressBytes": 0,
- "clippingBytes": 0,
- "rtmpEgressBytes": 0,
- "restreamBytes": 0,
- "timeToFirstFrameMedianMs": 0,
- "roundTripTimeMedianMs": 0,
- "browserDistribution": [
- {
- "key": "string",
- "value": 100
}
], - "osDistribution": [
- {
- "key": "string",
- "value": 100
}
], - "deviceDistribution": [
- {
- "key": "string",
- "value": 100
}
]
}Get time series.
Use the optional query parameters channelId, countryCode and continent to filter the results.
Time series are calculated for the time range between from and to (rounded to the nearest minute).
By default all available time series are returned, to limit the response use the optional query parameter fields to specify which metrics to return.
Note that ingressBps, keyframeDelta, averagePacketArrivalTime and highestPacketArrivalTime disregards country and continent filters and is not returned when grouped by country!
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... ID of the organization to get analytics data for. |
| channelId | string Filters for the specific channel. |
| countryCode | string Country code (ISO 3166-1 alpha-2) to filter the data on a specific country. Special code Example: |
| continent | string Continent code to filter the data for a specific continent. Valid continent codes:
Example: |
| fields | string Limit the response by selecting specific fields as a comma separated list. Available fields are:
Example: |
| from required | string Date in ISO 8601 format. Example: |
| to required | string Date in ISO 8601 format. Example: |
{- "viewers": [
- {
- "timestamp": "string",
- "value": 0
}
], - "egressBps": [
- {
- "timestamp": "string",
- "value": 0
}
], - "ingressBps": [
- {
- "timestamp": "string",
- "value": 0
}
], - "keyframeDeltaVideo": [
- {
- "timestamp": "string",
- "value": 0
}
], - "averagePacketArrivalTimeVideo": [
- {
- "timestamp": "string",
- "value": 0
}
], - "highestPacketArrivalTimeVideo": [
- {
- "timestamp": "string",
- "value": 0
}
], - "keyframeDeltaAudio": [
- {
- "timestamp": "string",
- "value": 0
}
], - "averagePacketArrivalTimeAudio": [
- {
- "timestamp": "string",
- "value": 0
}
], - "highestPacketArrivalTimeAudio": [
- {
- "timestamp": "string",
- "value": 0
}
]
}Creates a custom clip of a recorded live stream.
This endpoint will return a m3u8 playlist which can be used in any HLS-compatible video player.
Please note that the response will be a 302 redirect, with the Location header set to the URL of your clip.
| channelId required | string ID of the channel |
| from required | string Date in ISO 8601 format. Example: |
| to required | string Date in ISO 8601 format. Example: |
nullCreates a custom clip of a recorded live stream.
This endpoint will return a mp4 which can be used in any compatible video player.
Please note that the response will be a 302 redirect, with the Location header set to the URL of your clip.
| channelId required | string ID of the channel |
| from required | string Date in ISO 8601 format. Example: |
| to required | string Date in ISO 8601 format. Example: |
nullGet a list of workspaces that the provided API key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "id" "name" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| organizationId | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerImage": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "total": 0
}Create a new workspace. Requires a read-write scoped API key with sufficient permissions.
| name required | string [ 1 .. 256 ] characters Name of the workspace. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization to create the workspace in. |
{- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerImage": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Get a workspace by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the workspace to get. |
{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerImage": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Update a workspace by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the workspace to update. |
| name | string [ 1 .. 256 ] characters Name of the workspace. |
string or null Docker image used for the packager in this workspace. Set to null to clear. |
{- "name": "string",
- "packagerImage": "string"
}{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerImage": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Delete a workspace by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the workspace to delete. |
nullGet a list of connect keys that the provided API key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "id" "name" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| workspaceId | string <nanoid> ^[a-zA-Z0-9_-]{21}$ |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "active": true,
- "workspaceId": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "lastUsedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "total": 0
}Create a new connect key. Requires a read-write scoped API key with sufficient permissions.
| name required | string [ 1 .. 256 ] characters Name of the connect key. |
| workspaceId required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ Workspace the connect key belongs to. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization to create the connect key in. |
{- "name": "string",
- "workspaceId": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9"
}{- "id": "string",
- "name": "string",
- "active": true,
- "workspaceId": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "lastUsedAt": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "key": "string"
}Get a connect key by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the connect key to get. |
{- "id": "string",
- "name": "string",
- "active": true,
- "workspaceId": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "lastUsedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Update a connect key by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the connect key to update. |
| name | string [ 1 .. 256 ] characters Name of the connect key. |
| active | boolean Whether the connect key is active. |
{- "name": "string",
- "active": true
}{- "id": "string",
- "name": "string",
- "active": true,
- "workspaceId": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "lastUsedAt": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Delete a connect key by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the connect key to delete. |
nullGet a list of transcoder instances that the provided API key has access to. A transcoder instance is a transcoder task running on a packager; they are read-only here.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "createdAt" Enum: "createdAt" "taskId" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| packagerId | string |
{- "items": [
- {
- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "transcoderConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "device": "cpu",
- "tracks": [
- {
- "type": "video",
- "id": "string",
- "name": "string",
- "track_selector": {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}, - "passthrough": true,
- "renditions": [
- {
- "id": "string",
- "size": {
- "width": null,
- "height": null,
- "property1": null,
- "property2": null
}, - "codec": "string",
- "gop_size_ms": 9007199254740991,
- "bit_rate": 9007199254740991,
- "frame_skipping": "none",
- "property1": null,
- "property2": null
}
], - "property1": null,
- "property2": null
}
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "pipelines": [
- {
- "track_config_id": "string",
- "source_id": "string",
- "source_track_index": -9007199254740991,
- "info": {
- "type": "transcoded",
- "decoder": {
- "name": "string",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- null
], - "sample_format": {
- "u8": null
}, - "channel_layout": "string",
- "sample_rate": 0,
- "block_align": 0,
- "frame_size": 0,
- "initial_padding": 0,
- "trailing_padding": 0,
- "seek_preroll": 0,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "type": "audio"
}, - "options": [
- [
- null,
- { }
]
], - "frame_rate": [
- 0,
- 0
]
}, - "encoders": [
- {
- "rendition_id": "string",
- "name": "string",
- "options": [
- [ ]
], - "parameters": {
- "codec": null,
- "bit_rate": null,
- "extradata": null,
- "sample_format": null,
- "channel_layout": null,
- "sample_rate": null,
- "block_align": null,
- "frame_size": null,
- "initial_padding": null,
- "trailing_padding": null,
- "seek_preroll": null,
- "bits_per_coded_sample": null,
- "bits_per_raw_sample": null,
- "profile": null,
- "level": null,
- "type": null
}, - "gop_size": 0,
- "track_index": -9007199254740991,
- "frame_rate": [
- null,
- null
]
}
]
}
}
], - "start_time": 0
}
}
], - "total": 0
}Get a transcoder instance by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the transcoder instance to get. |
{- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "transcoderConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "device": "cpu",
- "tracks": [
- {
- "type": "video",
- "id": "string",
- "name": "string",
- "track_selector": {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}, - "passthrough": true,
- "renditions": [
- {
- "id": "string",
- "size": {
- "width": 9007199254740991,
- "height": 9007199254740991,
- "property1": null,
- "property2": null
}, - "codec": "string",
- "gop_size_ms": 9007199254740991,
- "bit_rate": 9007199254740991,
- "frame_skipping": "none",
- "property1": null,
- "property2": null
}
], - "property1": null,
- "property2": null
}
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "pipelines": [
- {
- "track_config_id": "string",
- "source_id": "string",
- "source_track_index": -9007199254740991,
- "info": {
- "type": "transcoded",
- "decoder": {
- "name": "string",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "sample_format": {
- "u8": "string"
}, - "channel_layout": "string",
- "sample_rate": 0,
- "block_align": 0,
- "frame_size": 0,
- "initial_padding": 0,
- "trailing_padding": 0,
- "seek_preroll": 0,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "type": "audio"
}, - "options": [
- [
- "string",
- {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
]
], - "frame_rate": [
- 0,
- 0
]
}, - "encoders": [
- {
- "rendition_id": "string",
- "name": "string",
- "options": [
- [
- "string",
- {
- "type": null,
- "value": null,
- "property1": null,
- "property2": null
}
]
], - "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "sample_format": {
- "u8": "string"
}, - "channel_layout": "string",
- "sample_rate": 0,
- "block_align": 0,
- "frame_size": 0,
- "initial_padding": 0,
- "trailing_padding": 0,
- "seek_preroll": 0,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "type": "audio"
}, - "gop_size": 0,
- "track_index": -9007199254740991,
- "frame_rate": [
- 0,
- 0
]
}
]
}
}
], - "start_time": 0
}
}Get a list of compositor instances that the provided api key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "createdAt" Enum: "createdAt" "taskId" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| packagerId | string |
{- "items": [
- {
- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "compositorConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "video": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "audio": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "passthrough": {
- "sources": [ ],
- "property1": null,
- "property2": null
}, - "property1": null,
- "property2": null
}, - "start_time": 0
}
}
], - "total": 0
}Get a compositor instance by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the compositor instance to get. |
{- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "compositorConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "video": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "audio": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "passthrough": {
- "sources": [ ],
- "property1": null,
- "property2": null
}, - "property1": null,
- "property2": null
}, - "start_time": 0
}
}Get a list of source instances that the provided API key has access to. A source instance is a source task running on a packager; they are read-only here.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "createdAt" Enum: "createdAt" "taskId" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| packagerId | string |
{- "items": [
- {
- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "sourceConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "id": "string",
- "name": "string",
- "source_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "demuxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "interleave_buffer": {
- "max_buffer_size_ms": 9007199254740991,
- "property1": null,
- "property2": null
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "demuxer_options": { },
- "protocol_options": { },
- "start_time": 0
}
}
], - "total": 0
}Get a source instance by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the source instance to get. |
{- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "sourceConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "id": "string",
- "name": "string",
- "source_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "demuxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "interleave_buffer": {
- "max_buffer_size_ms": 9007199254740991,
- "property1": null,
- "property2": null
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "demuxer_options": { },
- "protocol_options": { },
- "start_time": 0
}
}Get a list of packager configs that the provided API key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "id" "name" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| workspaceId | string <nanoid> ^[a-zA-Z0-9_-]{21}$ |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "revision": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "sources": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "transcoders": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "compositors": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "sinks": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
]
}
], - "total": 0
}Create a new packager config. Requires a read-write scoped API key with sufficient permissions.
| name required | string [ 1 .. 256 ] characters Name of the packager config. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization to create the packager config in. |
| workspaceId required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ Workspace the packager config belongs to. |
| description | string <= 512 characters Default: "" Description of the packager config. |
Array of objects Source task configurations. | |
Array of objects Default: [] Transcoder task configurations. | |
Array of objects Default: [] Compositor task configurations. | |
Array of objects Sink task configurations. |
{- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "description": "",
- "sources": [
- {
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "id": "string",
- "name": "string",
- "source_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "demuxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "interleave_buffer": {
- "max_buffer_size_ms": 9007199254740991,
- "property1": null,
- "property2": null
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}
}
], - "transcoders": [ ],
- "compositors": [ ],
- "sinks": [
- {
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "sink_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "muxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "wait_for_all_sources": true,
- "idle_timeout_ms": 9007199254740991,
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}
}
]
}{- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "revision": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "sources": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "transcoders": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "compositors": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "sinks": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
]
}Get a packager config by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the packager config to get. |
{- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "revision": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "sources": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "transcoders": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "compositors": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "sinks": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
]
}Fully replaces a packager config. The request body must include all sources, transcoders, compositors, and sinks you want to keep — any tasks omitted from the payload will be permanently deleted. Fetch the current config first, apply your changes, then submit the complete config. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the packager config to update. |
| name required | string [ 1 .. 256 ] characters Name of the packager config. |
| description required | string <= 512 characters Description of the packager config. |
required | Array of objects Source task configurations. |
required | Array of objects Transcoder task configurations. |
required | Array of objects Compositor task configurations. |
required | Array of objects Sink task configurations. |
| changeReason | string <= 512 characters Reason for this update. |
| restoredFromRevision | integer ( 0 .. 9007199254740991 ] Revision this update restores, when it replays an earlier revision's contents. |
{- "name": "string",
- "description": "string",
- "sources": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "id": "string",
- "name": "string",
- "source_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "demuxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "interleave_buffer": {
- "max_buffer_size_ms": 9007199254740991,
- "property1": null,
- "property2": null
}, - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}
}
], - "transcoders": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "device": "cpu",
- "tracks": [
- {
- "type": "video",
- "id": "string",
- "name": "string",
- "track_selector": {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}, - "passthrough": true,
- "renditions": [
- {
- "id": "string",
- "size": {
- "width": 9007199254740991,
- "height": 9007199254740991,
- "property1": null,
- "property2": null
}, - "codec": "string",
- "gop_size_ms": 9007199254740991,
- "bit_rate": 9007199254740991,
- "frame_skipping": "none",
- "property1": null,
- "property2": null
}
], - "property1": null,
- "property2": null
}
], - "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}
}
], - "compositors": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "id": "string",
- "name": "string",
- "description": "string",
- "target_state": "started",
- "video": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "audio": {
- "sources": [ ],
- "nodes": [ ],
- "property1": null,
- "property2": null
}, - "passthrough": {
- "sources": [ ],
- "property1": null,
- "property2": null
}, - "property1": null,
- "property2": null
}
}
], - "sinks": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "sink_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "muxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "wait_for_all_sources": true,
- "idle_timeout_ms": 9007199254740991,
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}
}
], - "changeReason": "string",
- "restoredFromRevision": 9007199254740991
}{- "id": "string",
- "name": "string",
- "description": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "revision": 0,
- "createdAt": "string",
- "updatedAt": "string",
- "sources": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "transcoders": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "compositors": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
], - "sinks": [
- {
- "id": "string",
- "name": "string",
- "description": "string",
- "previewEnabled": true,
- "config": null
}
]
}Delete a packager config by id, together with its sources, transcoders, compositors and sinks. Refused while the config has deployments. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the packager config to delete. |
nullGet a list of sink instances that the provided API key has access to. A sink instance is a sink task running on a packager; they are read-only here.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "createdAt" Enum: "createdAt" "taskId" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| packagerId | string |
{- "items": [
- {
- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "sinkConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "sink_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "muxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "wait_for_all_sources": true,
- "idle_timeout_ms": 9007199254740991,
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "muxer_options": { },
- "protocol_options": { },
- "mappings": [ ],
- "start_time": 0
}
}
], - "total": 0
}Get a sink instance by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the sink instance to get. |
{- "id": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerId": "string",
- "resourceId": "string",
- "sinkConfigId": "string",
- "taskId": "string",
- "info": {
- "target_state": "started",
- "state": "starting",
- "tracks": {
- "all": [
- {
- "id": 0,
- "index": 0,
- "is_transcoded": true,
- "is_parameters_provisional": true,
- "pts_wrap_bits": 0,
- "start_time": 0,
- "metadata": {
- "property1": "string",
- "property2": "string"
}, - "variant_uid": "b56a39eb-c910-4268-a6be-10647915937c",
- "content_uid": "0db9ec60-88e1-47bb-b574-89ee0aba03d3",
- "type": "video",
- "parameters": {
- "codec": "string",
- "bit_rate": 0,
- "extradata": [
- 0
], - "hw_pixel_format": "string",
- "pixel_format": "string",
- "width": 0,
- "height": 0,
- "color_range": "string",
- "color_space": "string",
- "color_primaries": "string",
- "color_trc": "string",
- "chroma_location": "string",
- "field_order": "string",
- "separated_fields": true,
- "bits_per_coded_sample": 0,
- "bits_per_raw_sample": 0,
- "profile": 0,
- "level": 0,
- "sample_aspect_ratio": [
- 0
]
}, - "avg_frame_rate": [
- 0,
- 0
], - "gop_size": 0,
- "time_base": [
- 0,
- 0
]
}
]
}, - "config": {
- "source_ids": [
- "string"
], - "id": "string",
- "name": "string",
- "sink_type": "string",
- "description": "string",
- "target_state": "started",
- "track_selectors": [
- {
- "type": "track-kind",
- "kind": "unknown",
- "codec": "string",
- "criteria": "all",
- "language": "string",
- "is_required": true,
- "property1": null,
- "property2": null
}
], - "muxer_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "protocol_options": {
- "property1": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}, - "property2": {
- "type": "string",
- "value": "string",
- "property1": null,
- "property2": null
}
}, - "reconnect_delay_ms": 9007199254740991,
- "connect_timeout_ms": 9007199254740991,
- "wait_for_all_sources": true,
- "idle_timeout_ms": 9007199254740991,
- "annotations": {
- "property1": "string",
- "property2": "string"
}, - "property1": null,
- "property2": null
}, - "muxer_options": { },
- "protocol_options": { },
- "mappings": [ ],
- "start_time": 0
}
}Get a list of deployment adapters that the provided API key has access to.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "id" "name" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. | |
| organizationId | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}, - "createdAt": "string",
- "updatedAt": "string"
}
], - "total": 0
}Create a new deployment adapter. Requires a read-write scoped API key with sufficient permissions.
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization to create the deployment adapter in. |
| name required | string [ 1 .. 256 ] characters Name of the deployment adapter. |
required | object or object Configuration for the deployment adapter. |
{- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "name": "string",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}
}{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}, - "createdAt": "string",
- "updatedAt": "string"
}Get a deployment adapter by id.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the deployment adapter to get. |
{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}, - "createdAt": "string",
- "updatedAt": "string"
}Update a deployment adapter by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the deployment adapter |
| name | string [ 1 .. 256 ] characters Name of the deployment adapter. |
object or object Configuration for the deployment adapter. |
{- "name": "string",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}
}{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "config": {
- "type": "manual",
- "image": "string",
- "url": "string",
- "dockerRunTemplate": "string"
}, - "createdAt": "string",
- "updatedAt": "string"
}Delete a deployment adapter by id. Requires a read-write scoped API key with sufficient permissions.
| id required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ ID of the deployment adapter to delete. |
nullGet a list of packagers that the provided API key has access to. A packager created in the portal or through this API is listed as pending until it registers; a connect-key packager is listed once it first registers.
| skip | number Default: 0 Omits the specified number of returned records. This is useful, for example, to paginate responses. |
| take | number Default: 100 Specifies how many records to include in the response. |
| orderBy | string Default: "name" Enum: "id" "name" "hostname" "status" Specifies which column to sort the response by. |
"asc" (string) or "desc" (string) Default: "asc" How to sort the response records, either in ascending or descending order. |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "hostname": "string",
- "packagerConfigId": "string",
- "packagerConfigRevision": -9007199254740991,
- "deploymentAdapterId": "string",
- "version": "string",
- "status": "string",
- "createdAt": "string",
- "updatedAt": "string"
}
], - "total": 0
}Create a packager that runs a packager config. The adapter must be manual. The response carries the registration token once; it cannot be retrieved again. It also carries command, which starts the packager with that token; to start it another way, pass the token to the packager yourself. Requires a read-write scoped API key with sufficient permissions.
| name required | string [ 2 .. 256 ] characters Name of the packager. Chosen when it is created in the portal; a connect-key packager is named after its id. |
| organizationId required | string <uuid> ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA... Organization to create the packager in. |
| packagerConfigId required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ Packager config the packager runs. |
| deploymentAdapterId required | string <nanoid> ^[a-zA-Z0-9_-]{21}$ Deployment adapter used to start the packager. |
{- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "packagerConfigId": "string",
- "deploymentAdapterId": "string"
}{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "hostname": "string",
- "packagerConfigId": "string",
- "packagerConfigRevision": -9007199254740991,
- "deploymentAdapterId": "string",
- "version": "string",
- "status": "string",
- "createdAt": "string",
- "updatedAt": "string",
- "token": "string",
- "command": "string"
}Get a packager by id.
| id required | string ID of the packager to get. |
{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "hostname": "string",
- "packagerConfigId": "string",
- "packagerConfigRevision": -9007199254740991,
- "deploymentAdapterId": "string",
- "version": "string",
- "status": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Pushes the newest revision of the packager's config to it. Packager configs are versioned; each edit produces a new revision. A connected packager also picks up the newest revision whenever it reconnects. Requires a read-write scoped API key with sufficient permissions.
| id required | string^[A-Za-z0-9_-]{1,100}$ ID of the packager to update. |
{- "id": "string",
- "name": "string",
- "organizationId": "7bc05553-4b68-44e8-b7bc-37be63c6d9e9",
- "workspaceId": "string",
- "hostname": "string",
- "packagerConfigId": "string",
- "packagerConfigRevision": -9007199254740991,
- "deploymentAdapterId": "string",
- "version": "string",
- "status": "string",
- "createdAt": "string",
- "updatedAt": "string"
}Asks a packager to stop itself. The packager shuts down cleanly and exits; whether it starts again is decided by however it is being run, for example a container restart policy. Requires a read-write scoped API key with sufficient permissions. Fails if the packager is not currently connected.
| id required | string^[A-Za-z0-9_-]{1,100}$ |
| force | boolean Default: false Best-effort fast stop. The packager still shuts down cleanly, but does not wait for running tasks to confirm they stopped. |
{- "force": false
}{- "status": "Kill requested"
}