GET
/api/v1_2/documents/:document_id/original_fileReturns original file (posted on Document create) in url safe base64 (Base64URL) encoded string. Until the document is properly processed the endpoint returns file data of initial upload.
For most use cases is better to use the expirable urls present in document detail for original file download. You can do it in one step after you download document payload without additional request to this endpoint.
Path parameters
| Name | Example | Description |
|---|---|---|
document_id |
— | — |
Headers
| Name | Example | Description |
|---|---|---|
Authorization |
Bearer demo_access_token | — |
Code examples
curl --request GET 'https://app.datamolino.com/api/v1_2/documents/98765/original_file' \
--header 'Authorization: Bearer demo_access_token'GET /api/v1_2/documents/98765/original_file HTTP/1.1
Host: app.datamolino.com
Authorization: Bearer demo_access_tokenconst response = await fetch("https://app.datamolino.com/api/v1_2/documents/98765/original_file", {
method: "GET",
headers: {
"Authorization": "Bearer demo_access_token"
},
});
const data = await response.json();import axios from "axios";
const response = await axios({
method: "get",
url: "https://app.datamolino.com/api/v1_2/documents/98765/original_file",
headers: {
"Authorization": "Bearer demo_access_token"
}
});
console.log(response.data);import requests
url = "https://app.datamolino.com/api/v1_2/documents/98765/original_file"
headers = {
"Authorization": "Bearer demo_access_token"
}
response = requests.request("GET", url, headers=headers)
response.raise_for_status()
print(response.json())require 'json'
require 'net/http'
uri = URI("https://app.datamolino.com/api/v1_2/documents/98765/original_file")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer demo_access_token"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
http.request(request)
end
puts JSON.parse(response.body)# app/services/datamolino_client.rb
require 'json'
require 'net/http'
class DatamolinoClient
BASE_URL = "https://app.datamolino.com"
def initialize(access_token: Rails.application.credentials.dig(:datamolino, :access_token))
@access_token = access_token
end
def request_fetch_original_file
uri = URI("#{BASE_URL}/api/v1_2/documents/98765/original_file")
request = Net::HTTP::Get.new(uri)
request["Authorization"] = "Bearer #{@access_token}"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http|
http.request(request)
end
JSON.parse(response.body)
end
end<?php
use GuzzleHttp\Client;
$client = new Client();
$response = $client->request('GET', 'https://app.datamolino.com/api/v1_2/documents/98765/original_file', [
'headers' => json_decode('{"Authorization":"Bearer demo_access_token"}', true)
]);
echo $response->getBody();OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://app.datamolino.com/api/v1_2/documents/98765/original_file")
.addHeader("Authorization", "Bearer demo_access_token")
.method("GET", null)
.build();
Response response = client.newCall(request).execute();using var client = new HttpClient();
using var request = new HttpRequestMessage(HttpMethod.Get, "https://app.datamolino.com/api/v1_2/documents/98765/original_file");
request.Headers.Add("Authorization", "Bearer demo_access_token");
using var response = await client.SendAsync(request);
response.EnsureSuccessStatusCode();
Console.WriteLine(await response.Content.ReadAsStringAsync());client := &http.Client{}
req, err := http.NewRequest("GET", "https://app.datamolino.com/api/v1_2/documents/98765/original_file", nil)
if err != nil { panic(err) }
req.Header.Add("Authorization", "Bearer demo_access_token")
res, err := client.Do(req)
if err != nil { panic(err) }
defer res.Body.Close()
body, err := io.ReadAll(res.Body)
if err != nil { panic(err) }
fmt.Println(string(body))import Foundation
var request = URLRequest(url: URL(string: "https://app.datamolino.com/api/v1_2/documents/98765/original_file")!)
request.httpMethod = "GET"
request.setValue("Bearer demo_access_token", forHTTPHeaderField: "Authorization")
let (data, _) = try await URLSession.shared.data(for: request)
print(String(data: data, encoding: .utf8)!)Responses
200 OK
Content type: application/json; charset=utf-8
{
"links": {
"back": {
"href": "https://beta.datamolino.com/api/v1_2/documents"
},
"self": {
"href": "https://beta.datamolino.com/api/v1_2/documents/315940/original_file?access_token=demo_access_token"
}
},
"documents": [
{
"links": {
"self": {
"href": "https://beta.datamolino.com/api/v1_2/documents/315940"
}
},
"id": 315940,
"user_file_name": "12_20180427.000158.01.pdf",
"original_content_type": "application/pdf",
"original_file_base64": "demo_identifier"
}
]
}