Media API
Overview
The MK.IO Media API is the project-level REST API for managing media processing and delivery workflows in MK.IO. It provides endpoints for managing assets and storage, transforms and jobs, live events and outputs, streaming publication, filtering, and content protection.
Authentication
All endpoints require a bearer token in the Authorization header:
Authorization: Bearer <your_token>
You can create and manage your tokens in your profile settings under Your personal API tokens. Follow the API tokens guide for more information.
Usage
Base URL: https://app.mk.io
Typical usage pattern:
- Create or reference core resources such as storage, assets, and transforms.
- Run VOD or live workflows, then monitor resource state until processing is ready.
- Publish playback by creating a streaming locator and retrieving playback paths.
Endpoints
Asset Filters 8 endpoints
get List Account Filters /api/v1/projects/{project_name}/media/accountFilters get Get Account filter /api/v1/projects/{project_name}/media/accountFilters/{filter_name} put Create or Update Account Filter /api/v1/projects/{project_name}/media/accountFilters/{filter_name} del Delete Account Filter /api/v1/projects/{project_name}/media/accountFilters/{filter_name} get List Asset Filters /api/v1/projects/{project_name}/media/assets/{asset_name}/assetFilters get Get Asset Filter /api/v1/projects/{project_name}/media/assets/{asset_name}/assetFilters/{filter_name} put Create or Update Asset Filter /api/v1/projects/{project_name}/media/assets/{asset_name}/assetFilters/{filter_name} del Delete Asset Filter /api/v1/projects/{project_name}/media/assets/{asset_name}/assetFilters/{filter_name}
Assets 8 endpoints
get List Assets /api/v1/projects/{project_name}/media/assets get Get Asset /api/v1/projects/{project_name}/media/assets/{asset_name} put Create or Update Asset /api/v1/projects/{project_name}/media/assets/{asset_name} del Delete Asset /api/v1/projects/{project_name}/media/assets/{asset_name} post Get file access information /api/v1/projects/{project_name}/media/assets/{asset_name}/getFileAccessInfo post List Streaming Locators /api/v1/projects/{project_name}/media/assets/{asset_name}/listStreamingLocators get Get resource state /api/v1/projects/{project_name}/media/assets/{asset_name}/state get Retrieve tracks. /api/v1/projects/{project_name}/media/assets/{asset_name}/storage/
Content Key Policies 7 endpoints
get List Content Key Policies /api/v1/projects/{project_name}/media/contentKeyPolicies get Get /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name} put Create /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name} patch Update /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name} del Delete /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name} post Get Secrets /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name}/getPolicyPropertiesWithSecrets get Get resource state /api/v1/projects/{project_name}/media/contentKeyPolicies/{policy_name}/state
Jobs 8 endpoints
get List Jobs /api/v1/projects/{project_name}/media/jobs get List Jobs /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs get Get Job /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name} put Create a Job /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name} patch Update a Job /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name} del Delete a Job /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name} post Cancel a Job /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name}/cancelJob get Get resource state /api/v1/projects/{project_name}/media/transforms/{transform_name}/jobs/{job_name}/state
Live Events 11 endpoints
get List Live Events /api/v1/projects/{project_name}/media/liveEvents get Retrieve a live event /api/v1/projects/{project_name}/media/liveEvents/{event_name} put Create a live event /api/v1/projects/{project_name}/media/liveEvents/{event_name} patch Update a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name} del Delete a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name} post Allocate a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name}/allocate get Get resource state /api/v1/projects/{project_name}/media/liveEvents/{event_name}/liveOutputs/{output_name}/state post Reset a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name}/reset post Start a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name}/start get Get resource state /api/v1/projects/{project_name}/media/liveEvents/{event_name}/state post Stop a Live Event /api/v1/projects/{project_name}/media/liveEvents/{event_name}/stop
Live Outputs 4 endpoints
get List Live Outputs /api/v1/projects/{project_name}/media/liveEvents/{event_name}/liveOutputs get Get /api/v1/projects/{project_name}/media/liveEvents/{event_name}/liveOutputs/{output_name} put Create /api/v1/projects/{project_name}/media/liveEvents/{event_name}/liveOutputs/{output_name} del Delete /api/v1/projects/{project_name}/media/liveEvents/{event_name}/liveOutputs/{output_name}
Storage 9 endpoints
get List Storage instances /api/v1/projects/{project_name}/media/storage get Get Storage instance /api/v1/projects/{project_name}/media/storage/{storage_name} put Create or Update Storage instance /api/v1/projects/{project_name}/media/storage/{storage_name} patch Patch Storage instance /api/v1/projects/{project_name}/media/storage/{storage_name} del Delete Storage instance /api/v1/projects/{project_name}/media/storage/{storage_name} get List Storage Credentials /api/v1/projects/{project_name}/media/storage/{storage_name}/credentials post Create Storage Credential /api/v1/projects/{project_name}/media/storage/{storage_name}/credentials get Get Storage Credential /api/v1/projects/{project_name}/media/storage/{storage_name}/credentials/{credential_id} del Delete Storage Credential /api/v1/projects/{project_name}/media/storage/{storage_name}/credentials/{credential_id}
Streaming Endpoints 11 endpoints
get List Streaming Endpoints /api/v1/projects/{project_name}/media/streamingEndpoints get Get Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name} put Create Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name} patch Update Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name} del Delete Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name} post Restart Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/restart post Scale Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/scale get List Streaming Endpoint SKUs /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/skus post Start Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/start get Get resource state /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/state post Stop Streaming Endpoint /api/v1/projects/{project_name}/media/streamingEndpoints/{endpoint_name}/stop
Streaming Locators 7 endpoints
get List Streaming Locators /api/v1/projects/{project_name}/media/streamingLocators get Get Streaming Locator /api/v1/projects/{project_name}/media/streamingLocators/{locator_name} put Create or update Streaming Locator /api/v1/projects/{project_name}/media/streamingLocators/{locator_name} del Delete Streaming Locator /api/v1/projects/{project_name}/media/streamingLocators/{locator_name} post List Content Keys /api/v1/projects/{project_name}/media/streamingLocators/{locator_name}/listContentKeys post List URL paths /api/v1/projects/{project_name}/media/streamingLocators/{locator_name}/listPaths get Get resource state /api/v1/projects/{project_name}/media/streamingLocators/{locator_name}/state
Streaming Policies 4 endpoints
get List Streaming Policies /api/v1/projects/{project_name}/media/streamingPolicies get Get /api/v1/projects/{project_name}/media/streamingPolicies/{policy_name} put Create or Update /api/v1/projects/{project_name}/media/streamingPolicies/{policy_name} del Delete /api/v1/projects/{project_name}/media/streamingPolicies/{policy_name}
Transforms 4 endpoints
get List Transforms /api/v1/projects/{project_name}/media/transforms get Get Transform /api/v1/projects/{project_name}/media/transforms/{transform_name} put Create or Update Transform /api/v1/projects/{project_name}/media/transforms/{transform_name} del Delete a Transform /api/v1/projects/{project_name}/media/transforms/{transform_name}