Step 1: Provide the Files

To provide us with a file, you must send an HTTP POST request to The Rev API gives you three simple options to provide us with a file:

  1. Upload it directly. You send us the media data directly through our API.
  2. Give us a publicly accessible URI where to fetch it from. You send a JSON entity with an URI that points directly to the file.

Let's go back to the console and do a quick example. Suppose you have a file with the following URI: For us to fetch it, you would send the following JSON body:

    "content_type": "video/mpeg",
    "filename": "sample.mp4",
    "url": ""

Using curl, here's how you would have us retrieve it:

curl -H "Authorization: Rev [ClientAPIKey]:[UserAPIKey]" -H "Content-Type: application/json" --data "{ 'content_type': 'video/mpeg', 'filename': 'sample.mp4','url': ''}" -D  -

Curl will then print an HTTP response that looks like the one below:

HTTP/1.1 201 Created
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Location: urn:rev:inputmedia:43939absfziow
Server: Microsoft-IIS/8.0
X-Powered-By: ASP.NET
Date: Thu, 07 Jan 2016 21:02:43 GMT
Content-Length: 0

We've highlighted in bold the important parts of the response. A successful response contains two important things. First, a 201 response code indicating no errors occurred. Second, the Location response header. This header will contain the URI of the copy of your file in our system. You will need this later in order to place an order.

For a detailed description of providing files, please visit

Orders and Files

One thing you must decide is how many files are going to go along with one order. Rev orders support a one-to-many relationship to files. We strongly recommend customers to place one order per file, and to abstain from placing a large number (say, hundreds) of files into a single order.