Netflix Backlot Source Requests & Delivery Management API
This is a working document of the Netflix Backlot Source Requests & Delivery Management API. Note that the API specifications are subject to change. Click here to launch full-screen in a new tab.
Authentication ¶
Partner should obtain the API key (client_id and client_secret) from the Backlot Account Management UI.
The client application should obtain an access_token using the API key and user credentials through the Authentication API and pass it in the Authorization header for all API calls.
Host: https://meechum.netflix.com
Authentication ¶
AuthenticatePOST/as/token.oauth2
Example URI
Authenticate using user/pwd. These are the parameters: grant_type, client_id, client_secret, username, password, validator_id, scope
Headers
Content-Type: application/x-www-form-urlencodedBody
grant_type=password&client_id=[client]&client_secret=[key]&username=[user]&password=[pwd]&validator_id=PartnerDirectoryProd&scope=sourcedelivery200Headers
Content-Type: application/jsonBody
{
"access_token": "8qobiJYvkzp…..RIuONxaxblANw2aUE",
"refresh_token": "ruD6CDRbAh6….Lz9tdV1YYBMGQyt0",
"token_type": "Bearer",
"expires_in": 7199
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"access_token": {
"description": "The access token",
"type": "string"
},
"refresh_token": {
"type": "string"
},
"token_type": {
"enum": [
"Bearer"
]
},
"expires_in": {
"description": "The lifetime in seconds of the access token",
"type": "integer"
}
}
}401Headers
Content-Type: application/jsonBody
{
"status": 401,
"error": "Unauthorized",
"message": "Authentication failed",
"errorCode": ""
}Authenticate by refreshing an already obtained token (before it expires). Parameters are grant_type, client_id, client_secret and refresh_token
Headers
Content-Type: application/x-www-form-urlencodedBody
grant_type=refresh_token&client_id=[client]&client_secret=[key]&refresh_token=[token]&validator_id=PartnerDirectoryProd&scope=sourcedelivery200Headers
Content-Type: application/jsonBody
{
"access_token": "bgBopBYNSnoOvaf1XJw279W83iN9",
"refresh_token": "zej2V35b0Ez66nxO4yVIV02RprT4KMhtsgyLuudjON",
"token_type": "Bearer",
"expires_in": 7199
}400Headers
Content-Type: application/jsonBody
{
"error": "invalid_grant",
"error_description": "unknown, invalid, or expired refresh token"
}Requests ¶
Host: https://backlot-api.prod.netflix.net
Request Collection ¶
List requestsGET/v1/requests{?state,country,title,packageId,sourceType,sourceLanguage,requestStatus,contentPartner,subAssignedFulfillmentPartner,since,until,inspectionStatus}
Example URI
- state
string(optional) Example: openThe pre-defined states to search
Choices:
openoverduefp_unassignedfp_assignedmaterials_not_receivedmaterials_receivedmaterials_acceptedredelivery_requesteddue_in_a_weekdue_in_2_weeksnewdeliveredrecently_cancelledprocessed- country
string(optional) Example: US,CAComma separated list of country codes (ISO 2 country code format) to search
- title
string(optional) Example: titleTitle to search
- packageId
number(optional) Example: 12345,22222Comma separated list of Netflix PackageIds to search
- sourceType
string(optional) Example: subsComma separated list of request asset types to search
Choices:
videovideo_av_muxedaudiosecondary_audiosubssdh_ccforced_subcommentary_audiocommentary_timed_textdescriptive_audiodub_card_textdub_card_imagelanguage_templateaudio_print_masteraudio_m_and_elocked_proxyfinal_scriptedit_pro_sessionmix_pro_sessionpremix_wavnear_field_print_master_secondarynear_field_dialogue_audio_stem_secondarytheatrical_print_master_secondarytheatrical_dialogue_audio_stem_secondarydub_scriptas_recorded_dubbing_scriptpivot_language_dialogue_listaudio_description_scriptnear_field_audio_description_audio_stem_secondarytheatrical_audio_description_audio_stem_secondaryaudio_description_mix_pro_tool_session- sourceLanguage
string(optional) Example: enComma separated list of language codes (BCP47 format).
- requestStatus
string(optional) Example: redelivery_requestedComma separated list of request status.
Choices:
opendeliveredprocessedcancelledredelivery_requestedupgraded- contentPartner
string(optional) Example: 1cf3dfc6-8a88-4efb-bd28-959d19fe074aComma separated list of content partner ids
- subAssignedFulfillmentPartner
string(optional) Example: 1cf3dfc6-8a88-4efb-bd28-959d19fe0742Comma separated list of sub assigned partner ids
- since
string(optional) Example: 2016-04-01T00:00:00.000+0000Datetime represented as string in the ISO 8601 format:
yyyy-MM-ddTHH:mm:ss.SSSZZ. Must be url encoded. If this parameter is specified, only requests with lastUpdated greater than or eqeual to the specified Datetime will be returned- until
string(optional) Example: 2016-04-15T00:00:00.000+0000Datetime represented as string in the ISO 8601 format:
yyyy-MM-ddnTHH:mm:ss.SSSZZ. Must be url encoded. If this parameter is specified, only requests with lastUpdated less than or eqeual to the specified Datetime will be returned- inspectionStatus
string(optional) Example: successComma separated list of inspection status.
Choices:
pendingwaiting_for_inspectioninspectingsuccesserror
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"packageId": 1234,
"contentPartnerId": "7833dfc6-8a88-4efb-bd28-959d19fe0741",
"contentPartner": "Disney",
"fulfillmentPartnerId": "67afdfc6-8a88-4efb-bd28-959d19fe0741",
"fulfillmentPartner": "Visual Data",
"subAssignedFulfillmentPartnerId": "6e0f0e30-86b1-11e2-b563-123139330741",
"subAssignedFulfillmentPartnerName": "Fotokem",
"translatorCreditWaiverPresent": false,
"catalogId": "",
"movieInfo": {
"movieId": 12345,
"movieType": "movie",
"movieTitle": "",
"releaseYear": 2015,
"showName": "",
"seasonName": "",
"episodeName": "",
"original": false,
"originalLanguage": "en"
},
"packageTags": [
"tag1",
"tag2"
],
"countries": [
"JP",
"US"
],
"dueOn": "2016-03-01",
"subAssignedDate": "2016-01-05",
"deliveredOn": "2016-02-28",
"lastUpdated": "2016-03-01",
"proxyState": "available",
"priority": "normal",
"sourceType": "video",
"sourceLanguage": "*",
"sourceStatus": "received",
"serviceType": "create",
"requestType": "new",
"requestStatus": "delivered",
"inspectionStatus": "success",
"billing": "to_content_partner",
"contractId": 23800,
"bucketData": {
"OVERDUE_UNDELIVERED": [
"OVERDUE_UNDELIVERED"
],
"ON_TRACK": [
"ON_TRACK"
]
},
"proxyStatus": "ACTIVE",
"issues": [
"error1",
"error2"
]
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"movieInfo": {
"type": "object",
"properties": {
"movieId": {
"type": "integer"
},
"movieType": {
"type": "string",
"enum": [
"movie",
"tv_episode",
"supplemental"
]
},
"movieTitle": {
"type": "string"
},
"releaseYear": {
"type": "integer"
},
"showName": {
"type": "string"
},
"seasonName": {
"type": "string"
},
"episodeName": {
"type": "string"
},
"original": {
"type": "boolean"
},
"originalLanguage": {
"type": "string",
"description": "Original language code in BCP47 format."
}
}
}
},
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "Netflix Request Id (UUID)"
},
"packageId": {
"type": "integer",
"description": "Netflix Package Id"
},
"contentPartnerId": {
"type": "string",
"description": "Content Partner Id"
},
"contentPartner": {
"type": "string",
"description": "Name of the Content Partner"
},
"fulfillmentPartnerId": {
"type": "string",
"description": "Fulfillment Partner Id"
},
"fulfillmentPartner": {
"type": "string",
"description": "Name of the Fulfillment Partner"
},
"subAssignedFulfillmentPartnerId": {
"type": "string",
"description": "Sub Assigned Fulfillment Partner Id"
},
"subAssignedFulfillmentPartnerName": {
"type": "string",
"description": "Name of the sub assigned fulfillment partner"
},
"translatorCreditPresent": {
"type": "boolean",
"description": "Is there a translator credit available"
},
"translatorCreditWaiverPresent": {
"type": "boolean",
"description": "Is a waiver for translator credit present on file"
},
"catalogId": {
"type": "string"
},
"movieInfo": {
"$ref": "#/definitions/movieInfo"
},
"packageTags": {
"type": "array",
"items": {
"type": "string"
}
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"dueOn": {
"type": "string",
"format": "date-time"
},
"subAssignedDate": {
"type": "string",
"format": "date-time"
},
"deliveredOn": {
"type": "string",
"format": "date-time"
},
"lastUpdated": {
"type": "string",
"format": "date-time"
},
"proxyState": {
"type": "string",
"enum": [
"new",
"available",
"unavailable"
]
},
"priority": {
"type": "string",
"enum": [
"high",
"normal"
]
},
"sourceType": {
"type": "string",
"enum": [
"video",
"video_av_muxed",
"audio",
"secondary_audio",
"subs",
"sdh_cc",
"forced_sub",
"commentary_audio",
"commentary_timed_text",
"descriptive_audio",
"dub_card_text",
"dub_card_image",
"audio_m_and_e",
"audio_print_master",
"dub_dialogue_list",
"language_template",
"locked_proxy",
"final_script",
"edit_pro_session",
"mix_pro_session",
"premix_wav",
"near_field_print_master_secondary",
"near_field_dialogue_audio_stem_secondary",
"theatrical_print_master_secondary",
"theatrical_dialogue_audio_stem_secondary",
"dub_script",
"as_recorded_dubbing_script",
"pivot_language_dialogue_list",
"audio_description_script",
"near_field_audio_description_audio_stem_secondary",
"theatrical_audio_description_audio_stem_secondary",
"audio_description_mix_pro_tool_session"
]
},
"sourceLanguage": {
"type": "string",
"description": "Language code in BCP47 format."
},
"materialStatus": {
"type": "string",
"enum": [
"not_received",
"received",
"rejected",
"accepted",
"cancelled",
"complete"
]
},
"serviceType": {
"type": "string",
"enum": [
"create",
"conform"
]
},
"bucket": {
"type": "string",
"enum": [
"OVERDUE_UNDELIVERED",
"REDELIVERY_REQUESTED",
"CRITICAL",
"AT_RISK",
"DELIVERED_WITH_INSPECTION_ERRORS",
"MATERIALS_AVAILABLE",
"AWAITING_MATERIALS",
"UNASSIGNED"
]
},
"requestType": {
"type": "string",
"enum": [
"new",
"share",
"replacement",
"existing",
"upgrade"
]
},
"requestStatus": {
"type": "string",
"enum": [
"open",
"delivered",
"processed",
"cancelled",
"redelivery_requested",
"upgraded"
]
},
"billing": {
"type": "string",
"enum": [
"to_content_partner",
"to_netflix"
]
},
"issues": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"status": 401,
"error": "Unauthorized",
"message": "Authentication failed",
"errorCode": ""
}404Headers
Content-Type: application/jsonBody
{
"message": "No matching requests were found."
}Request ¶
View Request DetailsGET/v1/requests/{request_id}
Example URI
- request_id
string(required)The UUID of the request
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE200Headers
Content-Type: application/jsonBody
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"packageId": 1234,
"contentPartnerId": "7833dfc6-8a88-4efb-bd28-959d19fe0741",
"contentPartner": "Disney",
"fulfillmentPartnerId": "67afdfc6-8a88-4efb-bd28-959d19fe0741",
"fulfillmentPartner": "Visual Data",
"subAssignedFulfillmentPartnerId": "6e0f0e30-86b1-11e2-b563-123139330741",
"subAssignedFulfillmentPartnerName": "Fotokem",
"translatorCreditPresent": true,
"catalogId": "",
"movieInfo": {
"movieId": 12345,
"movieType": "tv_episode",
"movieTitle": "Lost: Season 3: \"Through the Looking Glass: Part 1\"",
"releaseYear": 2006,
"showName": "Lost",
"seasonName": "Season 3",
"episodeName": "Through the Looking Glass: Part 1",
"original": false,
"originalLanguage": "en"
},
"countries": [
"US"
],
"dueOn": "2016-02-07T07:59:59.999+0000",
"subAssignedDate": "2016-01-05T02:37:35.000+0000",
"deliveredOn": "2016-02-05T02:37:35.000+0000",
"lastUpdated": "2016-03-11T04:18:02.917+0000",
"priority": "normal",
"requestType": "new",
"requestStatus": "redelivery_requested",
"inspectionStatus": "error",
"sourceType": "forced_sub",
"materialStatus": "accepted",
"serviceType": "conform",
"sourceLanguage": "en",
"packageTags": [
"tag"
],
"billing": "to_content_partner",
"proxyCreatedOn": "2016-02-05T10:43:14.321+0000",
"proxyLanguage": "en",
"deliveries": [
{
"transferId": "fa5b4ecc-1959-36fe-123c-6f7601ea745b",
"fileName": "LOST_forcedsubtitle_en.stl",
"overridingErrorsAllowed": false,
"status": "rejected",
"language": "en",
"deliveredOn": "2016-02-05T03:16:26.000+0000",
"processedOn": "2016-02-05T03:39:54.000+0000",
"manifest": "LOST.xml",
"issues": [
{
"code": "",
"message": ""
}
],
"qcResults": [
{
"assetType": "text",
"assetSubType": "forced_sub",
"comments": "",
"checkedOn": "2016-03-11T04:17:53.000+0000",
"result": "fail",
"severity": "severe",
"issues": [
{
"issueCode": "TEXT_INDICATORS",
"comments": "",
"timeStart": "00:01:04",
"timeStop": null
}
]
}
]
}
],
"inspectionDeliveries": [
{
"transferId": "0c39c398-fab7-482e-8f01-052337fb4a27",
"fileName": "70308278_Mission_Blue_Portrait-V2.mov",
"virtual": false,
"overridingErrorsAllowed": false,
"status": "rejected",
"language": null,
"method": "API",
"deliveredOn": "2017-04-26T18:09:29.000+0000",
"processedOn": "2017-04-26T18:12:51.000+0000",
"manifest": null,
"issues": [
{
"code": "ANALYZER-TelecineDetected",
"message": "Telecine has been detected",
"description": "Telecine=true NTSC: [Top 0.5854, 0.7769, 0.7535 Bottom 0.5854, 0.7769, 0.7535] PAL: [Top 0.0000, 0.0000, 0.8668 Bottom 0.0000, 0.0000, 0.8677]",
"times": null,
"severity": "ERROR"
}
],
"qcResults": [],
"hasInspectionFailed": true
}
],
"history": [
{
"user": "test@netflix.com",
"action": "created",
"timestamp": "2016-01-21T23:56:02.206+0000"
},
{
"user": "test@netflix.com",
"action": "dueOn updated",
"timestamp": "2016-01-21T23:57:01.820+0000"
},
{
"user": "test@test.com",
"action": "materialStatus updated to not_received",
"timestamp": "2016-01-22T19:21:46.745+0000"
},
{
"user": "abc",
"action": "delivered",
"timestamp": "2016-02-05T03:16:24.412+0000"
},
{
"user": "system",
"action": "processed",
"timestamp": "2016-02-05T03:39:53.732+0000"
}
],
"comments": [
{
"user": "disney_test@test.com",
"comment": "test",
"timestamp": "2016-03-16T00:18:07.262Z[Etc/UTC]"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestId" : {
"type": "string",
"description": "UUID of the request."
},
"packageId": {
"type": "integer",
"description": "Netflix package id."
},
"contentPartnerId": {
"type": "string",
"description": "Content Partner Id"
},
"contentPartner": {
"type": "string",
"description": "Name of the content partner"
},
"fulfillmentPartnerId": {
"type": "string",
"description": "Fulfillment Partner Id"
},
"fulfillmentPartner": {
"type": "string",
"description": "Name of the fulfillment partner"
},
"subAssignedFulfillmentPartnerId": {
"type": "string",
"description": "Sub Assigned Fulfillment Partner Id"
},
"subAssignedFulfillmentPartnerName": {
"type": "string",
"description": "Name of the sub assigned fulfillment partner"
},
"translatorCreditPresent": {
"type": "boolean",
"description": "Is there a translator credit available"
},
"translatorCreditWaiverPresent": {
"type": "boolean",
"description": "Is a waiver for translator credit present on file"
},
"catalogId": {
"type": "string"
},
"movieInfo": {
"type": "object",
"properties": {
"movieId": {
"type": "integer"
}.
"movieType": {
"type": "string",
"enum": ["movie", "tv_episode", "supplemental"]
},
"movieTitle": {
"type": "string"
},
"releaseYear": {
"type": "integer"
},
"showName": {
"type": "string"
},
"seasonName": {
"type": "string"
},
"episodeName": {
"type": "string"
},
"original": {
"type": "boolean"
},
"originalLanguage": {
"type": "string",
"description": "original language code in BCP47 format."
}
}
},
"countries": {
"type": "array",
"items": {
"type": "string"
}
},
"dueOn": {
"type": "string",
"format": "date-time"
},
"subAssignedDate": {
"type": "string",
"format": "date-time"
},
"deliveredOn": {
"type": "string",
"format": "date-time"
},
"lastUpdated": {
"type": "string",
"format": "date-time"
},
"priority": {
"type": "string",
"enum": ["high", "normal"]
},
"requestType": {
"type": "string",
"enum": ["new",
"share",
"replacement",
"existing",
"upgrade"]
},
"requestStatus": {
"type": "string",
"enum": ["open",
"delivered",
"processed",
"cancelled",
"redelivery_requested",
"upgraded"]
},
"inspectionStatus": {
"type":"string",
"enum": ["pending",
"waiting_for_inspection",
"inspecting",
"success",
"error"]
}
"sourceType": {
"type": "string",
"enum": ["video",
"video_av_muxed",
"audio",
"secondary_audio",
"subs",
"sdh_cc",
"forced_sub",
"commentary_audio",
"commentary_timed_text",
"descriptive_audio",
"dub_card_text",
"dub_card_image",
"audio_m_and_e",
"audio_print_master",
"dub_dialogue_list",
"language_template",
"locked_proxy",
"final_script",
"edit_pro_session",
"mix_pro_session",
"premix_wav",
"near_field_print_master_secondary",
"near_field_dialogue_audio_stem_secondary",
"theatrical_print_master_secondary",
"theatrical_dialogue_audio_stem_secondary",
"dub_script",
"as_recorded_dubbing_script",
"pivot_language_dialogue_list",
"audio_description_script",
"near_field_audio_description_audio_stem_secondary",
"theatrical_audio_description_audio_stem_secondary",
"audio_description_mix_pro_tool_session"]
},
"materialStatus": {
"type": "string",
"enum": ["not_received", "received", "rejected", "accepted"]
},
"serviceType": {
"type": "string",
"enum": ["create", "conform"]
},
"sourceLanguage": {
"type": "string",
"description": "language code in BCP47 format."
},
"packageTags": {
"type": "array",
"items": {
"type": "string"
}
},
"billing": {
"type": "string",
"enum": ["to_content_partner", "to_netflix"]
},
"proxyCreatedOn": {
"type": "string",
"format": "date-time"
},
"proxyLanguage": {
"type": "string",
"description": "language code in BCP47 format."
},
"deliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"transferId": {
"type": "string",
"description": "UUID of the delivery"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string",
"enum": ["new",
"unmatched",
"matched",
"processing",
"processed",
"waiting",
"error",
"success",
"rejected"]
},
"language": {
"type": "string",
"description": "language code in BCP47 format."
},
"deliveredOn": {
"type": "string",
"format": "date-time"
},
"processedOn": {
"type": "string",
"format": "date-time"
},
"manifest": {
"type": "string"
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"code": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
},
"inspectionDeliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"transferId": {
"type": "string",
"description": "UUID of the delivery"
},
"deliveredOn": {
"type": "string"
},
"fileName": {
"type": "string"
},
"hasInspectionFailed": {
"type": "boolean"
},
"language": {
"type": "string"
},
"manifest": {
"type": "string"
},
"method": {
"type": "string"
},
"overridingErrorsAllowed": {
"type": "boolean"
},
"processedOn": {
"type": "string"
},
"status": {
"type": "string",
"enum": ["matched",
"processing",
"waiting",
"failed",
"success",
"rejected"]
},
"virtual": {
"type": "boolean"
}
"issues": {
"type": "object"
"items": {
"properties": {
"code": {
"type": "string"
},
"description": {
"type": "string"
},
"message": {
"type": "string"
},
"severity": {
"type": "string"
},
}
}
}
}
},
"qcResults": {
"type": "array",
"items": {
"type": "object",
"properties": {
"assetType": {
"type": "string",
"enum": ["video", "audio", "text"]
},
"assetSubType": {
"type": "string",
"enum": ["subs",
"sdh_cc",
"forced_sub",
"descriptive_audio",
"burned_in_subs",
"multichannel_audio",
"commentary_timed_text"]
},
"comments": {
"type": "string"
},
"checkedOn": {
"type": "string",
"format": "date-time"
},
"result": {
"type": "string",
"enum": ["pass", "fail"]
},
"severity": {
"type": "string",
"enum": ["severe", "minor"]
},
"issues": {
"type": "array",
"items": {
"type": "object",
"properties": {
"issueCode": {
"type": "string"
},
"comments": {
"type": "string"
},
"timeStart": {
"type": "string"
},
"timeStop": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"history": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user": {
"type": "string"
},
"action": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
},
"comments": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user": {
"type": "string"
},
"comment": {
"type": "string"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}
401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: application/jsonBody
{
"message": "Access denied."
}404Headers
Content-Type: application/jsonBody
{
"message": "Request not found."
}400Headers
Content-Type: application/jsonBody
{
"message": "Invalid request id."
}Update RequestPUT/v1/requests/{request_id}
Example URI
- request_id
string(required)The UUID of the request
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"comment": "comments",
"fulfillmentPartnerId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"materialStatus": "accepted",
"serviceType": "create",
"translatorCreditWaiverPresent": true
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"comment": {
"type": "string",
"description": "add comments"
},
"fufillmentPartnerId": {
"type": "string",
"description": "UUID of the fulfillment partner. This is applicable only for content partners."
},
"materialStatus": {
"type": "string",
"enum": [
"received",
"accepted",
"rejected"
],
"description": "This is applicable only for fulfillment partners."
},
"serviceType": {
"type": "string",
"enum": [
"create",
"conform"
],
"description": "This is applicable only for fulfillment partners."
},
"translatorCreditPresent": {
"type": "boolean",
"description": "Is there a translator credit available. Applies when serviceType is conform"
},
"translatorCreditWaiverPresent": {
"type": "boolean",
"description": "Is there a translator credit waiver on file available. Applies when serviceType is create"
},
"estimatedDeliveryDate": {
"type": "string",
"format": "date",
"description": "Estimated delivery date. When updating estimated delivery date, estimatedDeliveryDateChangeReason must be specified."
},
"estimatedDeliveryDateChangeReason": {
"type": "string",
"enum": [
"production_schedule_pushed",
"qc_delay",
"received_workable_materials_late",
"fulfillment_partner_schedule_delays",
"early_delivery",
"redelivery_requested_by_netflix"
],
"description": "Reason for updating the estimatedDeliveryDate."
}
}
}204404Headers
Content-Type: application/jsonBody
{
"message": "Request not found."
}400Headers
Content-Type: application/jsonBody
{
"message": "Invalid state."
}403Headers
Content-Type: application/jsonBody
{
"message": "Access denied."
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}Comments ¶
Add CommentPOST/v1/requests/comments
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"requestIds": [
"9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"9dfedfa6-8b88-4efb-bd28-950d19fe0741"
],
"comment": "comment"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestIds": {
"type": "array",
"items": {
"type": "string"
}
},
"comment": {
"type": "string"
}
},
"required": [
"requestIds",
"comment"
]
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"status": "ok"
},
{
"requestId": "9dfedfa6-8b88-4efb-bd28-950d19fe0741",
"status": "error",
"message": "invalid input"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"message": {
"type": "string",
"description": "Error message if status is error."
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}400Headers
Content-Type: application/jsonBody
{
"message": "Empty comment."
}Content Partner ¶
These API are accesible to content partners.
Host: https://backlot-api.prod.netflix.net
List Fulfillment Partners ¶
List All Fulfillment PartnersGET/v1/fulfillment_partners
Example URI
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE200Headers
Content-Type: application/jsonBody
[
{
"fulfillmentPartnerId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fulfillmentPartner": "Visual Data"
},
{
"fulfillmentPartnerId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"fulfillmentPartner": "Partner"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"fulfillmentPartnerId": {
"type": "string"
},
"fulfillmentPartner": {
"type": "string"
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: appliation/jsonBody
{
"message": "Access denied."
}404Headers
Content-Type: application/jsonBody
{
"message": "Partners not found."
}Fulfillment Partner Assignment ¶
Assign Fulfillment PartnerPOST/v1/requests/fp_assignment
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"requestIds": [
"9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"3df3dfa6-8b88-4efb-bd28-950d19fe0741"
],
"fulfillmentPartnerId": "7dfedfa6-8b88-4efb-bd28-950d19fe0741",
"comment": "comment"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestIds": {
"type": "array",
"items": {
"type": "string"
}
},
"fulfillmentPartnerId": {
"type": "string"
},
"comment": {
"type": "string"
}
},
"required": [
"requestIds",
"fulfillmentPartnerId"
]
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"status": "ok"
},
{
"requestId": "3df3dfa6-8b88-4efb-bd28-950d19fe0741",
"status": "error",
"message": "Request not found."
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"message": {
"type": "string",
"description": "Error message if status is error."
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: application/jsonBody
{
"message": "Access denied."
}400Headers
Content-Type: application/jsonBody
{
"message": "Invalid fulfillment partner."
}Fulfillment Partner ¶
These API are accessible to fulfillment partners.
Host: https://backlot-api.prod.netflix.net
List Content Partners ¶
List All Content PartnersGET/v1/content_partners
Example URI
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE200Headers
Content-Type: application/jsonBody
[
{
"contentPartnerId": "9df3dfc6-8a88-4897-bd28-959d19fe0741",
"contentPartner": "Sony"
},
{
"contentPartnerId": "9df3dfa6-8b88-1234-bd28-950d19fe0741",
"contentPartner": "Partner"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"contentPartnerId": {
"type": "string"
},
"contentPartner": {
"type": "string"
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: appliation/jsonBody
{
"message": "Access denied."
}404Headers
Content-Type: application/jsonBody
{
"message": "Partners not found."
}Material Status Update ¶
Update Material StatusPOST/v1/requests/material_status_update
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"requestIds": [
"9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"6df3dfa4-8b88-4efb-bd28-950d19fe0741"
],
"materialStatus": "accepted",
"serviceType": "create",
"comment": "comment"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestIds": {
"type": "array",
"items": {
"type": "string"
}
},
"materialStatus": {
"type": "string",
"enum": [
"received",
"accepted",
"rejected"
]
},
"serviceType": {
"type": "string",
"enum": [
"create",
"conform"
]
},
"comment": {
"type": "string"
}
},
"required": [
"requestIds"
]
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"status": "ok"
},
{
"requestId": "6df3dfa4-8b88-4efb-bd28-950d19fe0741",
"status": "error",
"message": "Request not found."
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"message": {
"type": "string",
"description": "Error message if status is error."
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: application/jsonBody
{
"message": "Access denied."
}400Headers
Content-Type: application/jsonBody
{
"message": "Invalid material status."
}Sub Assign Requests ¶
Sub Assign RequestsPOST/v1/requests/subAssign
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"requestIds": [
"9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"6df3dfa4-8b88-4efb-bd28-950d19fe0741"
],
"subAssignedFulfillmentPartner": "43add680-acf4-11e2-b4e7-22000a1f9c44"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestIds": {
"type": "array",
"items": {
"type": "string"
}
},
"subAssignedFulfillmentPartner": {
"type": "string"
}
},
"required": [
"requestIds",
"subAssignedFulfillmentPartner"
]
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"status": "ok"
},
{
"requestId": "6df3dfa4-8b88-4efb-bd28-950d19fe0741",
"status": "error",
"message": "Request not found."
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"message": {
"type": "string",
"description": "Error message if status is error."
}
}
}
}401Headers
Content-Type: application/jsonBody
{
"message": "Authentication failed"
}403Headers
Content-Type: application/jsonBody
{
"message": "Access is denied."
}400Headers
Content-Type: application/jsonBody
{
"message": "Invalid Request state or not authorized to modify Request."
}Deliveries ¶
Deliveries ¶
Initiate DeliveriesPOST/v1/deliveries
Initiate deliveries for requests by calling this API with the requestId, fileInfo and assetInfo.
The response includes ‘asperaUser’, ‘asperaHost’, ‘fileTransportToken’ and ‘fileContextToken’ values that should be used when uploading the files through Aspera.
To upload a file using the Aspera command-line utility, the command format is:
ascp -i "<ssh_key_path>" -W <fileTransportToken> <full_path_of_file_to_upload> <asperaUser>@<asperaHost>:/<fileContextToken>
where
<ssh_key_path> is path to the ssh keys.
<fileTransportToken> is the fileTransportToken value returned in the response.
<full_path_of_file_to_upload> is the path to the file to be uploaded.
<asperaUser> is the asperaUser value returned in the response.
<asperaHost> is the asperaHost value returned in the response.
<fileContextToken> is the fileContextToken value returned in the response.
Example:
ascp -i "netflix_filetransfer_aspera.key" -W VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC /files/1234.av filetransfer@beehive-aspera.test.netflix.net:/c63975e0-0788-11e6-b56d-22000ae825a7
Example URI
for Video, Audio, TextHeaders
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileInfo": {
"fileName": "1234.av",
"fileSize": 200000,
"md5Checksum": ""
},
"assetInfo": {
"video": {},
"audio": {
"languageCode": "en",
"channelMapping": "LT_RT"
}
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileInfo": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"description": "Name of the file to upload"
},
"fileSize": {
"type": "integer",
"description": "Size of the file in bytes."
},
"md5Checksum": {
"type": "string",
"description": "MD5 hash of the file."
}
},
"required": [
"fileName",
"fileSize"
]
},
"assetInfo": {
"type": "object",
"properties": {
"video": {
"type": "object",
"properties": {
"burnedInDialog": {
"type": "object",
"properties": {
"languageCode": {
"type": "string",
"description": "The language code in BCP47 format."
}
},
"required": [
"languageCode"
]
}
}
},
"audio": {
"type": "object",
"properties": {
"languageCode": {
"type": "string",
"description": "The language code in BCP47 format."
},
"channelMapping": {
"type": "string",
"description": "The channel mapping for channel-based audio, or NOT_APPLICABLE for object-based audio (e.g., Dolby Atmos™).",
"enum": [
"LT_RT",
"C",
"L_R_C_LFE_LS_RS",
"L_R_LS_RS_C_LFE",
"L_C_R_LS_RS_LFE",
"L_C_R_LFE_LS_RS",
"C_LFE_L_R_LS_RS",
"C_L_R_LS_RS_LFE",
"L_R_C_LFE_LS_RS_LT_RT",
"L_R_LS_RS_C_LFE_LT_RT",
"L_C_R_LS_RS_LFE_LT_RT",
"L_C_R_LFE_LS_RS_LT_RT",
"C_LFE_L_R_LS_RS_LT_RT",
"C_L_R_LS_RS_LFE_LT_RT",
"LT_RT_L_R_C_LFE_LS_RS",
"LT_RT_L_R_LS_RS_C_LFE",
"LT_RT_L_C_R_LS_RS_LFE",
"LT_RT_L_C_R_LFE_LS_RS",
"LT_RT_C_LFE_L_R_LS_RS",
"LT_RT_C_L_R_LS_RS_LFE",
"L_R",
"NOT_APPLICABLE"
]
}
},
"required": [
"channelMapping"
]
},
"timedText": {
"type": "object",
"properties": {
"timingReference": {
"type": "string",
"enum": [
"SMPTE",
"MEDIA"
]
},
"hermesId": {
"type": "string",
"description": "The HERMES Id."
}
}
}
}
}
}
}
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "filetransfer",
"asperaHost": "beehive-aspera.test.netflix.net",
"deliveries": [
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "1234.av",
"status": "ok",
"errorMessage": "",
"transferId": "caff1d64-06ce-25a8-9ffc-d2da30d6d5a2",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asperaUser": {
"type": "string",
"description": "The username to use while accessing the Netflix Aspera server"
},
"asperaHost": {
"type": "string",
"description": "The hostname of the Netflix Aspera server"
},
"deliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"errorMessage": {
"type": "string",
"description": "If status is 'error', then details about the error"
},
"transferId": {
"type": "string",
"description": "Unique id to identify the upload"
},
"fileTransportToken": {
"type": "string",
"description": "Transport token to be used while uploading the file through Aspera"
},
"fileContextToken": {
"type": "string",
"description": "Context token to be used while uploading the file through Aspera"
}
}
}
}
}
}for Audio Print MasterHeaders
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileInfo": {
"fileName": "1234.wav",
"fileSize": 200000,
"md5Checksum": ""
},
"assetInfo": {
"mixType": "Near Field",
"format": "2.0"
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileInfo": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"description": "Name of the file to upload"
},
"fileSize": {
"type": "integer",
"description": "Size of the file in bytes."
},
"md5Checksum": {
"type": "string",
"description": "MD5 hash of the file."
}
},
"required": [
"fileName",
"fileSize"
]
},
"assetInfo": {
"mixType": {
"type": "string",
"enum": [
"Near Field",
"Theatrical"
]
},
"format": {
"type": "string",
"enum": [
"5.1",
"2.0",
"6+2",
"8-Track DMEE",
"Mono"
]
}
}
}
}
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "filetransfer",
"asperaHost": "beehive-aspera.test.netflix.net",
"deliveries": [
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "1234.wav",
"status": "ok",
"errorMessage": "",
"transferId": "caff1d64-06ce-25a8-9ffc-d2da30d6d5a2",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asperaUser": {
"type": "string",
"description": "The username to use while accessing the Netflix Aspera server"
},
"asperaHost": {
"type": "string",
"description": "The hostname of the Netflix Aspera server"
},
"deliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"errorMessage": {
"type": "string",
"description": "If status is 'error', then details about the error"
},
"transferId": {
"type": "string",
"description": "Unique id to identify the upload"
},
"fileTransportToken": {
"type": "string",
"description": "Transport token to be used while uploading the file through Aspera"
},
"fileContextToken": {
"type": "string",
"description": "Context token to be used while uploading the file through Aspera"
}
}
}
}
}
}for Descriptive AudioHeaders
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileInfo": {
"fileName": "1234.wav",
"fileSize": 200000,
"md5Checksum": ""
},
"assetInfo": {
"audio": {
"channelMapping": "LT_RT"
}
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileInfo": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"description": "Name of the file to upload"
},
"fileSize": {
"type": "integer",
"description": "Size of the file in bytes."
},
"md5Checksum": {
"type": "string",
"description": "MD5 hash of the file."
}
},
"required": [
"fileName",
"fileSize"
]
},
"assetInfo": {
"type": "object",
"properties": {
"audio": {
"type": "object",
"properties": {
"languageCode": {
"type": "string",
"description": "The language code in BCP47 format."
},
"channelMapping": {
"type": "string",
"description": "The channel mapping for channel-based audio, or NOT_APPLICABLE for object-based audio (e.g., Dolby Atmos™).",
"enum": [
"LT_RT",
"C",
"L_R_C_LFE_LS_RS",
"L_R_LS_RS_C_LFE",
"L_C_R_LS_RS_LFE",
"L_C_R_LFE_LS_RS",
"C_LFE_L_R_LS_RS",
"C_L_R_LS_RS_LFE",
"L_R_C_LFE_LS_RS_LT_RT",
"L_R_LS_RS_C_LFE_LT_RT",
"L_C_R_LS_RS_LFE_LT_RT",
"L_C_R_LFE_LS_RS_LT_RT",
"C_LFE_L_R_LS_RS_LT_RT",
"C_L_R_LS_RS_LFE_LT_RT",
"LT_RT_L_R_C_LFE_LS_RS",
"LT_RT_L_R_LS_RS_C_LFE",
"LT_RT_L_C_R_LS_RS_LFE",
"LT_RT_L_C_R_LFE_LS_RS",
"LT_RT_C_LFE_L_R_LS_RS",
"LT_RT_C_L_R_LS_RS_LFE",
"L_R",
"NOT_APPLICABLE"
]
}
},
"required": [
"channelMapping"
]
}
}
}
}
}
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "filetransfer",
"asperaHost": "beehive-aspera.test.netflix.net",
"deliveries": [
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "1234.wav",
"status": "ok",
"errorMessage": "",
"transferId": "caff1d64-06ce-25a8-9ffc-d2da30d6d5a2",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asperaUser": {
"type": "string",
"description": "The username to use while accessing the Netflix Aspera server"
},
"asperaHost": {
"type": "string",
"description": "The hostname of the Netflix Aspera server"
},
"deliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"errorMessage": {
"type": "string",
"description": "If status is 'error', then details about the error"
},
"transferId": {
"type": "string",
"description": "Unique id to identify the upload"
},
"fileTransportToken": {
"type": "string",
"description": "Transport token to be used while uploading the file through Aspera"
},
"fileContextToken": {
"type": "string",
"description": "Context token to be used while uploading the file through Aspera"
}
}
}
}
}
}for Final ScriptHeaders
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileInfo": {
"fileName": "1234.txt",
"fileSize": 200000,
"md5Checksum": ""
},
"assetInfo": {
"type": "DIALOGUE_LIST"
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileInfo": {
"type": "object",
"properties": {
"fileName": {
"type": "string",
"description": "Name of the file to upload"
},
"fileSize": {
"type": "integer",
"description": "Size of the file in bytes."
},
"md5Checksum": {
"type": "string",
"description": "MD5 hash of the file."
}
},
"required": [
"fileName",
"fileSize"
]
},
"assetInfo": {
"type": {
"type": "string",
"enum": [
"DIALOGUE_LIST",
"AS_BROADCAST_SCRIPT",
"COMBINED_CONTINUITY_DIALOG_SPOTTING_LIST"
]
}
}
}
}
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "filetransfer",
"asperaHost": "beehive-aspera.test.netflix.net",
"deliveries": [
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "1234.txt",
"status": "ok",
"errorMessage": "",
"transferId": "caff1d64-06ce-25a8-9ffc-d2da30d6d5a2",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asperaUser": {
"type": "string",
"description": "The username to use while accessing the Netflix Aspera server"
},
"asperaHost": {
"type": "string",
"description": "The hostname of the Netflix Aspera server"
},
"deliveries": {
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"fileName": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"errorMessage": {
"type": "string",
"description": "If status is 'error', then details about the error"
},
"transferId": {
"type": "string",
"description": "Unique id to identify the upload"
},
"fileTransportToken": {
"type": "string",
"description": "Transport token to be used while uploading the file through Aspera"
},
"fileContextToken": {
"type": "string",
"description": "Context token to be used while uploading the file through Aspera"
}
}
}
}
}
}Deliveries Metadata ¶
Update MetadataPOST/v1/deliveries/metadata_update
For source requests that have been requested for re-delivery with a delivery scope of ‘metadata_only’, you can update the metadata without uploading the file using this API.
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"assetInfo": {
"audio": {
"channelMapping": "LT_RT"
}
}
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id"
},
"assetInfo": {
"type": "object",
"properties": {
"video": {
"type": "object",
"properties": {
"burnedInDialog": {
"type": "object",
"properties": {
"languageCode": {
"type": "string",
"description": "The language code in BCP47 format."
}
},
"required": [
"languageCode"
]
}
}
},
"audio": {
"type": "object",
"properties": {
"languageCode": {
"type": "string",
"description": "The language code in BCP47 format."
},
"channelMapping": {
"type": "string",
"description": "The channel mapping for channel-based audio, or NOT_APPLICABLE for object-based audio (e.g., Dolby Atmos™).",
"enum": [
"LT_RT",
"C",
"L_R_C_LFE_LS_RS",
"L_R_LS_RS_C_LFE",
"L_C_R_LS_RS_LFE",
"L_C_R_LFE_LS_RS",
"C_LFE_L_R_LS_RS",
"C_L_R_LS_RS_LFE",
"L_R_C_LFE_LS_RS_LT_RT",
"L_R_LS_RS_C_LFE_LT_RT",
"L_C_R_LS_RS_LFE_LT_RT",
"L_C_R_LFE_LS_RS_LT_RT",
"C_LFE_L_R_LS_RS_LT_RT",
"C_L_R_LS_RS_LFE_LT_RT",
"LT_RT_L_R_C_LFE_LS_RS",
"LT_RT_L_R_LS_RS_C_LFE",
"LT_RT_L_C_R_LS_RS_LFE",
"LT_RT_L_C_R_LFE_LS_RS",
"LT_RT_C_LFE_L_R_LS_RS",
"LT_RT_C_L_R_LS_RS_LFE",
"L_R",
"NOT_APPLICABLE"
]
}
},
"required": [
"channelMapping"
]
},
"timedText": {
"type": "object",
"properties": {
"timingReference": {
"type": "string",
"enum": [
"SMPTE",
"MEDIA"
]
},
"hermesId": {
"type": "string",
"description": "The HERMES Id."
}
}
}
}
}
}
}
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"status": "ok",
"message": ""
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"message": {
"type": "string",
"description": "Error message if status is error."
}
}
}
}IMF Deliveries ¶
Use this API to deliver IMF packages against requests. For each request, the details of the IMF track that’s being delivered must be specified. Track information includes trackId (as specified in the CPL), track type (MainImageSequence or MainAudioSequence), compositionPlaylist information (UUID, filename, filesize), packinglist information (UUID, filename, filesize), assetMap information (UUID, filename, filesize) and information about the essences referenced by the track (UUID, filename, filesize).
For AV (Muxed) requests, both audio and video tracks must be specified. Note that when IMF tracks are delivered against a AV (Muxed) request, the original AV (Muxed) request is split in to separate video and audio requests and the delivered IMF tracks are each delivered against the split requests.
The response will only include upload information (Aspera tokens) for unique files that have not already been delivered to Netflix.
IMF Deliveries ¶
Initiate IMF DeliveriesPOST/v1/deliveries
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"tracks": [
{
"id": "cca61f3c-3912-4f44-86a7-cfc5cc2a4057",
"type": "MainImageSequence",
"compositionPlaylist": {
"id": "dfaf0440-c0fb-4e3e-a0f3-2fd9ef8d7a79",
"originalFilename": "CPL.xml",
"size": 17743
},
"packingList": {
"id": "23c46316-0478-4cd6-85b3-261d9dc5809e",
"originalFilename": "PKL.xml",
"size": 1579
},
"assetMap": {
"id": "035e66b9-08e9-4586-b3b9-5089803b61d9",
"originalFilename": "ASSETMAP.xml",
"size": 1546
},
"essences": [
{
"id": "12ee6419-cca2-427e-a3bf-c48a6095c7a2",
"originalFilename": "video.mxf",
"size": 2624508312
}
]
},
{
"id": "61168ee7-6bc8-4706-9262-2a53be81ee37",
"type": "MainAudioSequence",
"languageCode": "en",
"audioChannels": 6,
"compositionPlaylist": {
"id": "dfaf0440-c0fb-4e3e-a0f3-2fd9ef8d7a79",
"originalFilename": "CPL.xml",
"size": 17743
},
"packingList": {
"id": "23c46316-0478-4cd6-85b3-261d9dc5809e",
"originalFilename": "PKL.xml",
"size": 1579
},
"assetMap": {
"id": "035e66b9-08e9-4586-b3b9-5089803b61d9",
"originalFilename": "ASSETMAP.xml",
"size": 1546
},
"essences": [
{
"id": "ebc4020e-ac73-4311-91bb-aa147607bd20",
"originalFilename": "audio.mxf",
"size": 52290624
}
]
}
]
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "The Netflix request id."
},
"tracks": {
"type": "array",
"items": {
"type": "object",
"languageCode": {
"type": "string",
"description": "The audio language code as in the CPL."
},
"audioChannels": {
"type": "integer",
"description": "The audio channel count as in the CPL."
},
"properties": {
"id": {
"type": "string",
"description": "The Track UUID."
},
"type": {
"type": "string",
"enum": [
"MainImageSequence",
"MainAudioSequence"
],
"description": "The track type."
},
"compositionPlaylist": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Composition playlist UUID."
},
"originalFilename": {
"type": "string",
"description": "Name of the CPL file."
},
"size": {
"type": "integer",
"description": "Size of the CPL file in bytes."
}
},
"required": [
"id",
"originalFilename",
"size"
]
},
"packingList": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Packinglist UUID."
},
"originalFilename": {
"type": "string",
"description": "Name of the packinglist file."
},
"size": {
"type": "integer",
"description": "Size of the packinglist file in bytes."
}
},
"required": [
"id",
"originalFilename",
"size"
]
},
"assetMap": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "AssetMap UUID."
},
"originalFilename": {
"type": "string",
"description": "ASSETMAP.xml"
},
"size": {
"type": "integer",
"description": "Size of the AssetMap.xml file in bytes."
}
},
"required": [
"id",
"originalFilename",
"size"
]
},
"essences": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "The Essence UUID."
},
"originalFilename": {
"type": "string",
"description": "Name of the essence file."
},
"size": {
"type": "integer",
"size": "Size of the essence file in bytes."
}
},
"required": [
"id",
"originalFilename",
"size"
]
}
}
},
"required": [
"id",
"type",
"compositionPlaylist",
"packingList",
"assetMap",
"essences"
]
}
},
"required": [
"requestId",
"tracks"
]
}
}
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "filetransfer",
"asperaHost": "beehive-aspera.test.netflix.net",
"deliveries": [
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "ASSETMAP.xml",
"status": "ok",
"errorMessage": "",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
},
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "PKL.xml",
"status": "ok",
"errorMessage": "",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
},
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "CPL.xml",
"status": "ok",
"errorMessage": "",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
},
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "video.mxf",
"status": "ok",
"errorMessage": "",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
},
{
"requestId": "9df3dfc6-8a88-4efb-bd28-959d19fe0741",
"fileName": "audio.mxf",
"status": "ok",
"errorMessage": "",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC",
"fileContextToken": "c63975e0-0788-11e6-b56d-22000ae825a7"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"schemaArray": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#"
}
},
"positiveInteger": {
"type": "integer",
"minimum": 0
},
"positiveIntegerDefault0": {
"allOf": [
{
"$ref": "#/definitions/positiveInteger"
},
{
"default": 0
}
]
},
"simpleTypes": {
"enum": [
"array",
"boolean",
"integer",
"null",
"number",
"object",
"string"
]
},
"stringArray": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true
}
},
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uri"
},
"$schema": {
"type": "string",
"format": "uri"
},
"$ref": {
"type": "string"
},
"format": {
"type": "string"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"default": {},
"multipleOf": {
"type": "number",
"minimum": 0,
"exclusiveMinimum": true
},
"maximum": {
"type": "number"
},
"exclusiveMaximum": {
"type": "boolean",
"default": false
},
"minimum": {
"type": "number"
},
"exclusiveMinimum": {
"type": "boolean",
"default": false
},
"maxLength": {
"$ref": "#/definitions/positiveInteger"
},
"minLength": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"pattern": {
"type": "string",
"format": "regex"
},
"additionalItems": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#"
}
],
"default": {}
},
"items": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/schemaArray"
}
],
"default": {}
},
"maxItems": {
"$ref": "#/definitions/positiveInteger"
},
"minItems": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"uniqueItems": {
"type": "boolean",
"default": false
},
"maxProperties": {
"$ref": "#/definitions/positiveInteger"
},
"minProperties": {
"$ref": "#/definitions/positiveIntegerDefault0"
},
"required": {
"$ref": "#/definitions/stringArray"
},
"additionalProperties": {
"anyOf": [
{
"type": "boolean"
},
{
"$ref": "#"
}
],
"default": {}
},
"definitions": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"properties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"patternProperties": {
"type": "object",
"additionalProperties": {
"$ref": "#"
},
"default": {}
},
"dependencies": {
"type": "object",
"additionalProperties": {
"anyOf": [
{
"$ref": "#"
},
{
"$ref": "#/definitions/stringArray"
}
]
}
},
"enum": {
"type": "array",
"minItems": 1,
"uniqueItems": true
},
"type": {
"anyOf": [
{
"$ref": "#/definitions/simpleTypes"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/simpleTypes"
},
"minItems": 1,
"uniqueItems": true
}
]
},
"allOf": {
"$ref": "#/definitions/schemaArray"
},
"anyOf": {
"$ref": "#/definitions/schemaArray"
},
"oneOf": {
"$ref": "#/definitions/schemaArray"
},
"not": {
"$ref": "#"
}
},
"dependencies": {
"exclusiveMaximum": [
"maximum"
],
"exclusiveMinimum": [
"minimum"
]
},
"default": {}
}Manage Deliveries ¶
Deliveries ¶
Override Inspection ErrorPOST/v1/transfers/overrideError/{transferId}
For source requests that have failed delivery within our Inspection as a Service (IaaS) feature, you can override certain error codes and process the file through “as-is” using this API. Please note, not all error codes are overridable.
Example URI
- transferId
string(required)The UUID of the transfer
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
{
"requestId": [
"12c5fa91-93bd-446f-9494-d0e07b6f6326"
],
"comment": "Override the inspection error"
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {},
"id": "http://example.com/example.json",
"properties": {
"comment": {
"type": "string"
},
"requestId": {
"additionalItems": false,
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"comment",
"requestId"
],
"type": "object"
}200Headers
Content-Type: application/jsonDownloads ¶
Proxies ¶
Download ProxiesPOST/v1/downloads/proxies
Please note that this API is deprecated.
Initiate download of proxies calling this API with a list of Netflix package ids.
The response includes the data that should be used to download the proxies through Aspera.
To download a file using the Aspera command-line utility, the command format is:
ascp -i "<aspera_connect_ssh_key_path>" -W <fileTransportToken> <asperaUser>@<asperaHost>:<filePath> <full_path_to_download_location>/<fileName>
where
<ssh_key_path> is path to the Aspera ssh key (asperaweb_id_dsa.openssh).
Example: If Aspera Connect is installed at /users/
<fileTransportToken> is the fileTransportToken value returned in the response.
<asperaUser> is the asperaUser value returned in the response.
<asperaHost> is the asperaHost value returned in the response.
<filePath> is the filePath value returned in the response.
<full_path_to_download_location> is the path to the download location.
<fileName> is the fileName value returned in the response.
Example:
ascp -i "/users/<user>/Applications/Aspera Connect.app/Contents/Resources/asperaweb_id_dsa.openssh" -W VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC proxy_downloads@beehive-aspera.test.netflix.net:/9987c070-383d-11e6-b1ee-22000bd58a72 ./movie_en_proxy.mp4
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
12345,
11111
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "integer"
},
"description": "List of Netflix package ids."
}200Headers
Content-Type: application/jsonBody
{
"asperaUser": "proxy_downloads",
"asperaHost": "beehive-aspera.test.netflix.net",
"proxies": [
{
"packageId": 12345,
"status": "ok",
"errorMessage": "",
"fileName": "movie_en_proxy.mp4",
"filePath": "/9987c070-383d-11e6-b1ee-22000bd58a72",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC"
},
{
"packageId": 11111,
"status": "error",
"errorMessage": "Proxy is unavailable.",
"fileName": "movie_en_proxy.mp4",
"filePath": "/9983c070-383d-11e6-b1ae-22000b158a72",
"fileTransportToken": "VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"asperaUser": {
"type": "string",
"description": "The username to use while accessing the Netflix Aspera server"
},
"asperaHost": {
"type": "string",
"description": "The hostname of the Netflix Aspera server"
},
"proxies": {
"type": "array",
"items": {
"type": "object",
"properties": {
"packageId": {
"type": "integer",
"description": "The Netflix package id"
},
"status": {
"type": "string",
"enum": [
"ok",
"error"
]
},
"errorMessage": {
"type": "string",
"description": "If status is 'error', then details about the error"
},
"fileName": {
"type": "string",
"description": "The name of the proxy file."
},
"filePath": {
"type": "string",
"description": "The file path."
},
"fileTransportToken": {
"type": "string",
"description": "Transport token to be used while dowloading the file through Aspera."
}
}
}
}
}
}Search Materials ¶
Search Download MaterialsPOST/v1/downloads/searchDownloadAssets
Get a list of material assets available for download given a list of requestIds.
The response includes data that will provide the current status of the assets.
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"downloadAssetType": [
{
"DownloadAssetStatus": "ACTIVE",
"DownloadAssetType": "FINAL_PROXY",
"createdTs": 1522097911,
"fileName": "abc",
"length": 12345
},
{
"DownloadAssetStatus": "UPGRADED",
"DownloadAssetType": "PRINT_MASTER",
"createdTs": 1522099911,
"fileName": "xyz",
"length": 12345
}
]
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "array",
"items": {
"type": "String"
},
"description": "List of Netflix Request ids."
}200Headers
Content-Type: application/jsonBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"assets": [
{
"DownloadAssetStatus": "ACTIVE",
"DownloadAssetType": "FINAL_PROXY",
"createdTs": 1522097911,
"fileName": "abc",
"length": 12345
},
{
"DownloadAssetStatus": "UPGRADED",
"DownloadAssetType": "PRINT_MASTER",
"createdTs": 1522099911,
"fileName": "xyz",
"length": 12345
}
]
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"requestId" : {
"type": "string",
"description": "Netflix requestId for which assets are available for download"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"DownloadAssetStatus": {
"type": "string",
"enum" : [
"NOT_AVAILABLE",
"ACTIVE",
"UPGRADED"
],
"description": "Status of this asset"
},
"type" : {
"type": "string",
"enum" : [
"LOCKED_PROXY",
"FINAL_PROXY",
"ENGLISH_TEMPLATE",
"MUSIC_AND_EFFECTS",
"DIALOG_MUSIC_AND_EFFECTS",
"MUSIC_AND_EFFECTS_NOTES",
"SHOW_GUIDE",
"PRINT_MASTER",
"DIALOG_LIST",
"AS_BROADCAST_SCRIPT",
"CCSL",
"CLOSED_CAPTIONING",
"SUBTITLE",
"CONTENT_PARTNER_PROXY",
],
"description": "Type of this asset"
},
"createdTs": {
"type": "integer",
"description": "Created timestamp of this asset"
},
"fileName": {
"type" : "string",
"description": "The name of the asset"
},
"length": {
"type": "integer",
"description": "Duration of this asset"
}
}
}
}
}
}Download Materials ¶
Download MaterialsPOST/v1/downloads/getDownloadAssetsManifests
Initiate download of watermarked proxies and other assets calling this API with a list of Netflix request Ids and Types.
The response includes data that should be used to download the proxies through Aspera.
To download a file using the Aspera command-line utility, the command format is:
ascp -i "<aspera_connect_ssh_key_path>" -W <fileTransportToken> <asperaUser>@<asperaHost>:<filePath> <full_path_to_download_location>/<fileName>
where
<aspera_connect_ssh_key_path> is path to the Aspera ssh key (asperaweb_id_dsa.openssh).
Example: If Aspera Connect is installed at /users/
<fileTransportToken> is the downloadToken value returned in the response.
<asperaUser> is the remote_user value returned in the response.
<asperaHost> is the remote_host value returned in the response.
<filePath> is the sourcePath value returned in the response.
<full_path_to_download_location> is the destinationPath to the download location.
<fileName> is the fileName value returned in the response.
Example:
ascp -i "/users/<user>/Applications/Aspera Connect.app/Contents/Resources/asperaweb_id_dsa.openssh" -W VIRjQxxI_JDanj5BdrFnuZ1jSfs8zjv1xyCsCqjyWwlC proxy_downloads@beehive-aspera.test.netflix.net:/9987c070-383d-11e6-b1ee-22000bd58a72 ./movie_en_proxy.mp4
Example URI
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUEBody
[
{
"requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
"downloadAssetType": "FINAL_PROXY"
},
{
"requestId": "6678dfa6-8b88-4efb-bd28-950d19fe0741",
"downloadAssetType": "SUBTITLE"
}
]Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type" : "array",
"items": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"description": "UUID of the request"
},
"downloadAssetType": {
"enum" : [
"LOCKED_PROXY",
"FINAL_PROXY",
"ENGLISH_TEMPLATE",
"MUSIC_AND_EFFECTS",
"DIALOG_MUSIC_AND_EFFECTS",
"MUSIC_AND_EFFECTS_NOTES",
"SHOW_GUIDE",
"PRINT_MASTER",
"DIALOG_LIST",
"AS_BROADCAST_SCRIPT",
"CCSL",
"CLOSED_CAPTIONING",
"SUBTITLE",
"CONTENT_PARTNER_PROXY",
],
"description": "Type of this asset"
}
}
}
}200Headers
Content-Type: application/jsonBody
[
{
"downloadAsperaManifest": {
"direction": "receive",
"authentication": "token",
"cipher": "aes-128",
"destination_root": "",
"fasp_port": 33001,
"http_fallback_port": 8443,
"min_rate_kbps": 0,
"rate_policy": "fair",
"remote_host": "beehive-aspera-testintg.us-east-1.dyntest.netflix.net",
"remote_user": "proxy_downloads",
"source_root": "",
"ssh_port": 22,
"target_rate_kbps": 250000,
"rate_policy_allowed": "fair",
"min_rate_cap_kbps": 0
},
"downloadToken": "ATM2_AEA65xGyx7ls-upGhzzoFf_aI9Cj0ceEvVqXweVBkeml852LdJyWJSXE3tUHLsIPvHIAAFRJrvpZbcew2U1mIw2dVKB_2MTA",
"assets": [
{
"status": "ACTIVE",
"type": "SUBTITLE",
"createdTs": null,
"fileName": "4bdd8467-612b-410f-9be0-c36ccb448945.dfxp",
"length": null,
"sourcePath": "/bbff133e-f763-4bbd-9986-86668a4dedf4",
"destinationPath": "/Subtitle_1306807_en_4dedf4.dfxp"
}
]
}Schema
{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"downloadToken" : {
"type": "string",
"description": "Token that should be used to download from aspera"
},
"assets": {
"type": "array",
"items": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum" : [
"NOT_AVAILABLE",
"ACTIVE",
"UPGRADED"
],
"description": "Status of this asset"
},
"type" : {
"type": "string",
"enum" : [
"LOCKED_PROXY",
"FINAL_PROXY",
"ENGLISH_TEMPLATE",
"MUSIC_AND_EFFECTS",
"DIALOG_MUSIC_AND_EFFECTS",
"MUSIC_AND_EFFECTS_NOTES",
"SHOW_GUIDE",
"PRINT_MASTER",
"DIALOG_LIST",
"AS_BROADCAST_SCRIPT",
"CCSL",
"CLOSED_CAPTIONING",
"SUBTITLE",
"CONTENT_PARTNER_PROXY",
],
"description": "Type of this asset"
},
"createdTs": {
"type": "integer",
"description": "Created timestamp of this asset"
},
"fileName": {
"type" : "string",
"description": "The name of the asset"
},
"length": {
"type": "integer",
"description": "Duration of this asset"
},
"sourcePath": {
"type": "String",
"description": "Source path of the file"
},
"destinationPath": {
"type": "integer",
"description": "Duration of this asset"
}
}
}
},"downloadAsperaManifest": {
"type": "object",
"properties": {
"remote_host": {
"type": "String",
"description": "Aspera server host"
}
"remote_user": {
"type": "String",
"description": "Aspera server user name"
}
}
}
}
}