Back to top

Netflix Backlot Source Requests & Delivery Management API

This is a working draft of the Netflix Backlot Source Requests & Delivery Management API. Note that the API specifications are subject to change.

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

Authenticate
POST/as/token.oauth2

Example URI

POST /as/token.oauth2
Request
HideShow

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-urlencoded
Body
grant_type=password&client_id=[client]&client_secret=[key]&username=[user]&password=[pwd]&validator_id=PartnerDirectoryProd&scope=sourcedelivery
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "status": 401,
  "error": "Unauthorized",
  "message": "Authentication failed",
  "errorCode": ""
}
Request
HideShow

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-urlencoded
Body
grant_type=refresh_token&client_id=[client]&client_secret=[key]&refresh_token=[token]&validator_id=PartnerDirectoryProd&scope=sourcedelivery
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "access_token": "bgBopBYNSnoOvaf1XJw279W83iN9",
  "refresh_token": "zej2V35b0Ez66nxO4yVIV02RprT4KMhtsgyLuudjON",
  "token_type": "Bearer",
  "expires_in": 7199
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "error": "invalid_grant",
  "error_description": "unknown, invalid, or expired refresh token"
}

Requests

Host: https://backlot-api.prod.netflix.net

Request Collection

List requests
GET/v1/requests{?state,country,title,packageId,sourceType,sourceLanguage,requestStatus,contentPartner,subAssignedFulfillmentPartner,since,until,inspectionStatus}

Example URI

GET /v1/requests?state=open&country=US,CA&title=title&packageId=12345,22222&sourceType=subs&sourceLanguage=en&requestStatus=redelivery_requested&contentPartner=1cf3dfc6-8a88-4efb-bd28-959d19fe074a&subAssignedFulfillmentPartner=1cf3dfc6-8a88-4efb-bd28-959d19fe0742&since=2016-04-01T00:00:00.000+0000&until=2016-04-15T00:00:00.000+0000&inspectionStatus=success
URI Parameters
HideShow
state
string (optional) Example: open

The pre-defined states to search

Choices: open overdue fp_unassigned fp_assigned materials_not_received materials_received materials_accepted redelivery_requested due_in_a_week due_in_2_weeks new delivered recently_cancelled processed

country
string (optional) Example: US,CA

Comma separated list of country codes (ISO 2 country code format) to search

title
string (optional) Example: title

Title to search

packageId
number (optional) Example: 12345,22222

Comma separated list of Netflix PackageIds to search

sourceType
string (optional) Example: subs

Comma separated list of request asset types to search

Choices: 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 language_template audio_print_master audio_m_and_e 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
string (optional) Example: en

Comma separated list of language codes (BCP47 format).

requestStatus
string (optional) Example: redelivery_requested

Comma separated list of request status.

Choices: open delivered processed cancelled redelivery_requested upgraded

contentPartner
string (optional) Example: 1cf3dfc6-8a88-4efb-bd28-959d19fe074a

Comma separated list of content partner ids

subAssignedFulfillmentPartner
string (optional) Example: 1cf3dfc6-8a88-4efb-bd28-959d19fe0742

Comma separated list of sub assigned partner ids

since
string (optional) Example: 2016-04-01T00:00:00.000+0000

Datetime 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+0000

Datetime 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: success

Comma separated list of inspection status.

Choices: pending waiting_for_inspection inspecting success error

Request
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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",
    "sourcing": "netflix_external_sourced",
    "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"
        ]
      },
      "sourcing": {
        "type": "string",
        "enum": [
          "content_partner_sourced",
          "netflix_external_sourced"
        ]
      },
      "issues": {
        "type": "array",
        "items": {
          "type": "string"
        }
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "status": 401,
  "error": "Unauthorized",
  "message": "Authentication failed",
  "errorCode": ""
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "No matching requests were found."
}

Request

View Request Details
GET/v1/requests/{request_id}

Example URI

GET /v1/requests/request_id
URI Parameters
HideShow
request_id
string (required) 

The UUID of the request

Request
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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",
  "sourcing": "content_partner_sourced",
  "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"]
        },
        "sourcing": {
            "type": "string",
            "enum": ["content_partner_sourced", "netflix_external_sourced"]
        },
        "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"
                    }
                }
            }
        }
    }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Access denied."
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Request not found."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Invalid request id."
}

Update Request
PUT/v1/requests/{request_id}

Example URI

PUT /v1/requests/request_id
URI Parameters
HideShow
request_id
string (required) 

The UUID of the request

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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."
    }
  }
}
Response  204
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Request not found."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Invalid state."
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Access denied."
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}

Comments

Add Comment
POST/v1/requests/comments

Example URI

POST /v1/requests/comments
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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."
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Partners
GET/v1/fulfillment_partners

Example URI

GET /v1/fulfillment_partners
Request
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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"
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: appliation/json
Body
{
  "message": "Access denied."
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Partners not found."
}

Fulfillment Partner Assignment

Assign Fulfillment Partner
POST/v1/requests/fp_assignment

Example URI

POST /v1/requests/fp_assignment
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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."
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Access denied."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Partners
GET/v1/content_partners

Example URI

GET /v1/content_partners
Request
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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"
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: appliation/json
Body
{
  "message": "Access denied."
}
Response  404
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Partners not found."
}

Material Status Update

Update Material Status
POST/v1/requests/material_status_update

Example URI

POST /v1/requests/material_status_update
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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."
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Access denied."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Invalid material status."
}

Sub Assign Requests

Sub Assign Requests
POST/v1/requests/subAssign

Example URI

POST /v1/requests/subAssign
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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."
      }
    }
  }
}
Response  401
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Authentication failed"
}
Response  403
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Access is denied."
}
Response  400
HideShow
Headers
Content-Type: application/json
Body
{
  "message": "Invalid Request state or not authorized to modify Request."
}

Deliveries

Deliveries

Initiate Deliveries
POST/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

POST /v1/deliveries
Request  for Video, Audio, Text
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
                ]
              }
            }
          }
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
          }
        }
      }
    }
  }
}
Request  for Audio Print Master
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
          ]
        },
        "format": {
          "type": "string",
          "enum": [
            "5.1",
            "2.0",
            "ATMOS",
            "6+2",
            "8-Track DMEE",
            "Mono"
          ]
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
          }
        }
      }
    }
  }
}
Request  for Descriptive Audio
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
            ]
          }
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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"
          }
        }
      }
    }
  }
}
Request  for Final Script
HideShow
Headers
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
          ]
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Metadata
POST/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

POST /v1/deliveries/metadata_update
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
                ]
              }
            }
          }
        }
      }
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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 Deliveries
POST/v1/deliveries

Example URI

POST /v1/deliveries
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
      ]
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "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 Error
POST/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

POST /v1/transfers/overrideError/transferId
URI Parameters
HideShow
transferId
string (required) 

The UUID of the transfer

Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
{
  "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"
}
Response  200
HideShow
Headers
Content-Type: application/json

Downloads

Search Materials

Search Download Materials
POST/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

POST /v1/downloads/searchDownloadAssets
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  "9df3dfa6-8b88-4efb-bd28-950d19fe0741"
]
Schema
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "array",
  "items": {
    "type": "String"
  },
  "description": "List of Netflix Request ids."
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "requestId": "9df3dfa6-8b88-4efb-bd28-950d19fe0741",
    "assets": [
      {
        "status": "ACTIVE",
        "type": "FINAL_PROXY",
        "createdTs": 1522097911,
        "fileName": "abc",
        "length": 12345,
        "qcStatus": null,
        "language": null,
        "movieId": 1111,
        "packageId": 2222,
        "subType": null,
        "title": "Movie Title"
      },
      {
        "status": "UPGRADED",
        "type": "PRINT_MASTER",
        "createdTs": 1522099911,
        "fileName": "xyz",
        "length": 12345,
        "qcStatus": null,
        "language": null,
        "movieId": 1111,
        "packageId": 2222,
        "subType": "20NearFieldPrintMaster",
        "title": "Movie Title"
      }
    ]
  }
]
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": {
                    "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": "File name of the asset"
                    },
                    "length": {
                        "type": "integer",
                        "description": "Duration of this asset"
                    },
                    "qcStatus": {
                        "type": "string",
                        "description": "QC status of this asset"
                    },
                    "language": {
                        "type" : "string",
                        "description": "Language of the asset"
                    },
                    "movieId": {
                        "type": "integer",
                        "description": "Movie ID of this asset"
                    }
                    "packageId": {
                        "type": "integer",
                        "description": "Package ID of this asset"
                    },
                    "subType": {
                        "type" : "string",
                        "description": "SubType of the asset"
                    },
                    "title": {
                        "type": "string",
                        "description": "Movie title of this asset"
                    }
                }
            }
        }
    }
}

Download Materials

Download Materials
POST/v1/downloads/getDownloadAssetsManifests

Initiate download of watermarked proxies and other assets calling this API with a list of Netflix request Ids and Types retrieved from the Search Materials API.

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 <asperaTransportToken> <asperaUser>@<asperaHost>:<asperaSource> <destinationPath>/<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//Applications/Aspera Connect.app, the key would be at /users//Applications/Aspera Connect.app/Contents/Resources/asperaweb_id_dsa.openssh

<asperaTransportToken> 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.

<asperaSource> is the sourcePath value returned in the response.

<destinationPath> 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

POST /v1/downloads/getDownloadAssetsManifests
Request
HideShow
Headers
Content-Type: application/json
Authorization: Bearer 8qobiJYvkzp…..RIuONxaxblANw2aUE
Body
[
  {
    "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"
                }
        }
    }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "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"
        "qcStatus": null,
        "language": "en",
        "movieId": 1111,
        "title": "Movie Title",
        "subType": null,
        "packageId": 2222,
        "downloadError": null
      }
    ]
  }
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"
                    },
                    "qcStatus": {
                        "type": "string",
                        "description": "QC status of this asset"
                    },
                    "language": {
                        "type" : "string",
                        "description": "Language of the asset"
                    },
                    "movieId": {
                        "type": "integer",
                        "description": "Movie ID of this asset"
                    }
                    "packageId": {
                        "type": "integer",
                        "description": "Package ID of this asset"
                    },
                    "subType": {
                        "type" : "string",
                        "description": "SubType of the asset"
                    },
                    "title": {
                        "type": "string",
                        "description": "Movie title of this asset"
                    },
                    "sourcePath": {
                        "type" : "string",
                        "description": "Aspera source to download"
                    },
                    "destinationPath": {
                        "type": "string",
                        "description": "Destination path to the download location."
                    },
                    "downloadError": {
                        "type": "string",
                        "description": "Error message if the download failed"
                    }
                }
            }
        },
        "downloadAsperaManifest": {
            "type": "object",
             "properties": {
                  "remote_host": {
                      "type": "String",
                      "description": "Aspera server host"
                  }
                  "remote_user": {
                      "type": "String",
                      "description": "Aspera server user name"
                  }
             }
        }
    }
}

Generated by aglio on 31 Aug 2021