Bitmovin Outputs API
The Outputs API from Bitmovin — 20 operation(s) for outputs.
The Outputs API from Bitmovin — 20 operation(s) for outputs.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/bitmovin-outputs-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Bitmovin Encoding Config Outputs API
description: REST API for cloud-based VOD and live video encoding. Supports H.264, H.265/HEVC, VP9, AV1 and more, along with adaptive bitrate packaging (HLS/DASH/Smooth Streaming), DRM (Widevine, PlayReady, FairPlay), and per-title encoding optimisation.
version: '3.0'
termsOfService: https://bitmovin.com
contact:
name: Bitmovin Inc
url: https://bitmovin.com
email: support@bitmovin.com
servers:
- url: https://api.bitmovin.com/v1
description: Bitmovin Server
variables: {}
security:
- ApiKeyAuth: []
- ApiKeyAuth: []
TenantOrgId: []
tags:
- name: Outputs
paths:
/encoding/outputs/akamai-msl/{output_id}:
delete:
tags:
- Outputs
summary: Delete Akamai MSL Output
operationId: DeleteEncodingOutputsAkamaiMslByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: 05edf91d-05f3-4ecd-998f-b28f75027b5e
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/BitmovinResponse'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/akamai-netstorage/{output_id}:
delete:
tags:
- Outputs
summary: Delete Akamai NetStorage Output
operationId: DeleteEncodingOutputsAkamaiNetStorageByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: 05edf91d-05f3-4ecd-998f-b28f75027b5e
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/AkamaiNetStorageOutput'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/azure/{output_id}:
delete:
tags:
- Outputs
summary: Delete Azure Output
operationId: DeleteEncodingOutputsAzureByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/AzureOutput'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/ftp/{output_id}:
delete:
tags:
- Outputs
summary: Delete FTP Output
operationId: DeleteEncodingOutputsFtpByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/FtpOutput'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/gcs/{output_id}:
delete:
tags:
- Outputs
summary: Delete GCS Output
operationId: DeleteEncodingOutputsGcsByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GcsOutput'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/gcs-service-account/{output_id}:
delete:
tags:
- Outputs
summary: Delete Service Account based GCS Output
operationId: DeleteEncodingOutputsGcsServiceAccountByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: cb90b80c-8867-4e3b-8479-174aa2843f62
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GcsServiceAccountOutput'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/generic-s3/{output_id}:
delete:
tags:
- Outputs
summary: Delete Generic S3 Output
operationId: DeleteEncodingOutputsGenericS3ByOutputId
parameters:
- name: output_id
in: path
description: Id of the output
style: simple
required: true
schema:
type: string
example: 1a56e6d6-69e9-4e4d-a004-1f85a2b8cc92
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GenericS3Output'
- description: Id of the output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/akamai-msl:
post:
tags:
- Outputs
summary: Create Akamai MSL Output
operationId: PostEncodingOutputsAkamaiMsl
requestBody:
description: The Akamai MSL output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/AkamaiMslOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/AkamaiMslOutput'
- description: Akamai MSL output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/akamai-netstorage:
post:
tags:
- Outputs
summary: Create Akamai NetStorage Output
operationId: PostEncodingOutputsAkamaiNetStorage
requestBody:
description: The Akamai NetStorage output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/AkamaiNetStorageOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/AkamaiNetStorageOutput'
- description: Akamai NetStorage output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/azure:
post:
tags:
- Outputs
summary: Create Azure Output
operationId: PostEncodingOutputsAzure
requestBody:
description: The Azure output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/AzureOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/AzureOutput'
- description: Azure output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/{output_id}/check-permissions:
post:
tags:
- Outputs
summary: Check output permissions (S3 only)
operationId: PostEncodingOutputsCheckPermissionsByOutputId
x-bitmovin:
isRpc: true
operationName: checkPermissions
optionalRequestBody: true
parameters:
- name: output_id
in: path
description: Id of the output to be checked. Currently limited to S3 outputs. The access credentials that have been provided for this Output still need to be valid, otherwise the request will fail. If they are not valid any more, create a new Output with new credentials (resources are immutable).
style: simple
required: true
schema:
type: string
example: 4ae91f43-e78b-44c4-a9e3-890001c4bd07
requestBody:
description: Additional parameters for the permissions check
content:
application/json:
schema:
$ref: '#/components/schemas/CheckOutputPermissionsRequest'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/CheckOutputPermissionsResponse'
- description: Permissions check result
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/ftp:
post:
tags:
- Outputs
summary: Create FTP Output
operationId: PostEncodingOutputsFtp
requestBody:
description: The FTP output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/FtpOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/FtpOutput'
- description: FTP output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/gcs:
post:
tags:
- Outputs
summary: Create GCS Output
operationId: PostEncodingOutputsGcs
requestBody:
description: The GCS output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/GcsOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GcsOutput'
- description: GCS output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/gcs-service-account:
post:
tags:
- Outputs
summary: Create Service Account based GCS Output
operationId: PostEncodingOutputsGcsServiceAccount
requestBody:
description: The GCS output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/GcsServiceAccountOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GcsServiceAccountOutput'
- description: GCS output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/generic-s3:
post:
tags:
- Outputs
summary: Create Generic S3 Output
operationId: PostEncodingOutputsGenericS3
requestBody:
description: The Generic S3 output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/GenericS3Output'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/GenericS3Output'
- description: Generic S3 output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/live-media-ingest:
post:
tags:
- Outputs
summary: Create Live Media Ingest Output
operationId: PostEncodingOutputsLiveMediaIngest
requestBody:
description: The Live Media Ingest output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/LiveMediaIngestOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/LiveMediaIngestOutput'
- description: Live Media Ingest output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/local:
post:
tags:
- Outputs
summary: Create Local Output
operationId: PostEncodingOutputsLocal
requestBody:
description: The Local output to be created
content:
application/json:
schema:
$ref: '#/components/schemas/LocalOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/LocalOutput'
- description: Local output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/s3:
post:
tags:
- Outputs
summary: Create S3 Output
operationId: PostEncodingOutputsS3
requestBody:
description: "The S3 output to be created\n\nThe following permissions are required for S3 output:\n * s3:PutObject\n * s3:PutObjectAcl\n * s3:ListBucket\n * s3:GetBucketLocation\n"
content:
application/json:
schema:
$ref: '#/components/schemas/S3Output'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/S3Output'
- description: S3 output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/s3-role-based:
post:
tags:
- Outputs
summary: Create S3 Role-based Output
operationId: PostEncodingOutputsS3RoleBased
requestBody:
description: "The S3 Role-based output to be created\n\nThe following permissions are required for S3 Role-based output:\n * s3:PutObject\n * s3:PutObjectAcl\n * s3:ListBucket\n * s3:GetBucketLocation\n"
content:
application/json:
schema:
$ref: '#/components/schemas/S3RoleBasedOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/S3RoleBasedOutput'
- description: S3 Role-based Output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
/encoding/outputs/sftp:
post:
tags:
- Outputs
summary: Create SFTP Output
operationId: PostEncodingOutputsSftp
requestBody:
description: The SFTP output to be created.
content:
application/json:
schema:
$ref: '#/components/schemas/SftpOutput'
responses:
'201':
description: Successful response.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/ResponseEnvelope'
- properties:
data:
properties:
result:
allOf:
- $ref: '#/components/schemas/SftpOutput'
- description: SFTP output
default:
description: Error response.
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseError'
components:
schemas:
AkamaiMslVersion:
title: AkamaiMslVersion
type: string
enum:
- MSL4
default: MSL4
AzureServicePrincipal:
title: AzureServicePrincipal
type: object
description: Azure service principal credentials for Microsoft Entra ID authentication. This authentication method is usable from encoder version 2.273.0 onwards.
required:
- tenantId
- clientId
oneOf:
- title: Authenticate with Client Secret
required:
- clientSecret
- title: Authenticate with Client Certificate
required:
- clientCertificate
allOf:
- properties:
tenantId:
type: string
description: Tenant ID (Directory ID) of the Azure service principal
writeOnly: true
clientId:
type: string
description: Client ID of the Azure service principal
writeOnly: true
clientSecret:
type: string
description: Client secret of the Azure service principal
writeOnly: true
clientCertificate:
type: string
description: PEM-encoded client certificate and private key of the Azure service principal. Newline symbols must be preserved.
example: '-----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDAMn/1SpomwntO ... (truncated) ... Qu6eQUtTE/RCuArarGuOtE0= -----END PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIDDTCCAfWgAwIBAgIUX5jXOu6RNVC5MAfi9L/PiIhADMQwDQYJKoZIhvcNAQEL ... (truncated) ... 28mdG3XdDAQfClkhhArMktQ= -----END CERTIFICATE-----
'
writeOnly: true
ResultWrapper:
title: ResultWrapper
properties:
result:
type: object
readOnly: true
LocalOutput:
title: LocalOutput
required:
- path
allOf:
- $ref: '#/components/schemas/Output'
- properties:
path:
type: string
description: Path to your local storage
example: /mnt/my_local_storage/
GcsServiceAccountOutput:
title: GcsServiceAccountOutput
required:
- bucketName
- serviceAccountCredentials
allOf:
- $ref: '#/components/schemas/Output'
- properties:
serviceAccountCredentials:
type: string
description: GCS projectId
example: "{\n \"type\": \"service_account\",\n \"project_id\": \"bitmovin\",\n \"private_key_id\": \"dfgsgfdsgsgargdf\",\n \"private_key\": \"-----BEGIN PRIVATE KEY-----\\nOwdXyjRT9F4A==\\n-----END PRIVATE KEY-----\\n\",\n \"client_email\": \"bitmovin@bitmovin.iam.gserviceaccount.com\",\n \"client_id\": \"10440564562784234997\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://oauth2.googleapis.com/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"https://www.googleapis.com/robot/v1/metadata/x509/bitmovin%40bitmovin.iam.gserviceaccount.com\"\n}\n"
writeOnly: true
bucketName:
type: string
description: Name of the bucket
example: video-bucket
cloudRegion:
description: The cloud region in which the bucket is located. Is used to determine the ideal location for your encodings automatically.
allOf:
- $ref: '#/components/schemas/GoogleCloudRegion'
SftpOutput:
title: SftpOutput
required:
- host
allOf:
- $ref: '#/components/schemas/Output'
- properties:
host:
type: string
description: Host Url or IP of the SFTP server
example: bitmovin.com
port:
type: integer
description: 'Port to use, standard for SFTP: 22'
example: 22
passive:
type: boolean
description: Use passive mode. Default is true.
example: true
username:
type: string
description: Your SFTP Username
example: encodingInputUser
writeOnly: true
password:
type: string
description: Your SFTP password
example: 3nc0d3d!
writeOnly: true
transferVersion:
description: Controls which transfer version should be used
allOf:
- $ref: '#/components/schemas/TransferVersion'
maxConcurrentConnections:
type: integer
description: Restrict maximum concurrent connections. Requires at least version 1.1.0.
example: 20
AzureOutput:
title: AzureOutput
required:
- container
- accountName
oneOf:
- title: Authenticate with Entra ID Service Principal
required:
- servicePrincipal
- title: Authenticate with Account Key
required:
- accountKey
allOf:
- $ref: '#/components/schemas/Output'
- properties:
accountName:
type: string
description: Azure Account Name
example: devstoreaccount1
writeOnly: true
accountKey:
type: string
description: Azure Account Key
example: Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==
writeOnly: true
deprecated: true
servicePrincipal:
allOf:
- $ref: '#/components/schemas/AzureServicePrincipal'
container:
type: string
description: Name of the bucket
example: video-container
AkamaiNetStorageOutput:
title: AkamaiNetStorageOutput
required:
- host
- username
- password
allOf:
- $ref: '#/components/schemas/Output'
- properties:
host:
type: string
description: Host to use for Akamai NetStorage transfers
example: youraccount.akamaihd.net
username:
type: string
description: Your Akamai NetStorage Username
example: encodingInputUser
writeOnly: true
password:
type: string
description: Your Akamai NetStorage password
example: myUncrackablePassword
writeOnly: true
FtpOutput:
title: FtpOutput
required:
- host
allOf:
- $ref: '#/components/schemas/Output'
- properties:
host:
type: string
description: Host URL or IP of the FTP server
example: bitmovin.com
port:
type: integer
description: 'Port to use, standard for FTP: 21'
example: 21
passive:
type: boolean
description: Use passive mode. Default is true.
example: true
username:
type: string
description: Your FTP Username
example: encodingInputUser
writeOnly: true
password:
type: string
description: Your FTP password
example: 3nc0d3d!
writeOnly: true
transferVersion:
description: Controls which transfer version should be used
allOf:
- $ref: '#/components/schemas/TransferVersion'
maxConcurrentConnections:
type: integer
description: Restrict maximum concurrent connections. Requires at least version 1.1.0.
example: 20
AkamaiMslOutput:
title: AkamaiMslOutput
required:
- streamId
- eventName
- streamFormat
- mslVersion
allOf:
- $ref: '#/components/schemas/Output'
- properties:
streamId:
type: integer
description: The Akamai stream ID
example: 3124
eventName:
type: string
description: The Akamai event name
example: myEvent
streamFormat:
description: '- DASH: configure the Encoding with fMP4 or CMAF muxings and a DASH manifest.
- HLS: configure the Encoding with TS muxings and an HLS manifest.
- CMAF: configure the Encoding with fMP4 or CMAF muxings with both DASH and HLS manifests.
'
example: DASH
allOf:
- $ref: '#/components/schemas/AkamaiMslStreamFormat'
mslVersion:
description: The Akamai MSL Version. Only MSL4 is supported at the moment.
example: MSL4
allOf:
- $ref: '#/components/schemas/AkamaiMslVersion'
S3RoleBasedOutput:
title: S3RoleBasedOutput
required:
- bucketName
- roleArn
allOf:
- $ref: '#/components/schemas/Output'
- properties:
bucketName:
type: string
description: Amazon S3 bucket name
example: myS3Bucket
roleArn:
type: string
description: "Amazon ARN of the IAM Role (Identity and Access Management Role) that will be assumed for S3 access.\n\nThis role has to be created by the owner of the account with the S3 bucket (i.e., you as a customer). For Bitmovin to be able to assume this role, the following has to be added\nto the trust policy of the role:\n\n```\n{\n \
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bitmovin/refs/heads/main/openapi/bitmovin-outputs-api-openapi.yml