curl --request POST \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1 \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"pdf_base64": "<string>",
"account_id": "checking_account_202348",
"currency": "USD",
"filename": "my-favourite.pdf",
"is_split": false,
"parent_file_heron_id": "<string>",
"read_us_dates": true,
"reference_id": "my-favourite-pdf"
}
'import requests
url = "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1"
payload = {
"pdf_base64": "<string>",
"account_id": "checking_account_202348",
"currency": "USD",
"filename": "my-favourite.pdf",
"is_split": False,
"parent_file_heron_id": "<string>",
"read_us_dates": True,
"reference_id": "my-favourite-pdf"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pdf_base64: '<string>',
account_id: 'checking_account_202348',
currency: 'USD',
filename: 'my-favourite.pdf',
is_split: false,
parent_file_heron_id: '<string>',
read_us_dates: true,
reference_id: 'my-favourite-pdf'
})
};
fetch('https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pdf_base64' => '<string>',
'account_id' => 'checking_account_202348',
'currency' => 'USD',
'filename' => 'my-favourite.pdf',
'is_split' => false,
'parent_file_heron_id' => '<string>',
'read_us_dates' => true,
'reference_id' => 'my-favourite-pdf'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1"
payload := strings.NewReader("{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}"
response = http.request(request)
puts response.read_body{
"pdf_heron_id": "<string>",
"request_id": "<string>"
}Upload PDF
Upload encoded PDF of transactions for a specified end user to translate into Heron Data format
curl --request POST \
--url https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1 \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"pdf_base64": "<string>",
"account_id": "checking_account_202348",
"currency": "USD",
"filename": "my-favourite.pdf",
"is_split": false,
"parent_file_heron_id": "<string>",
"read_us_dates": true,
"reference_id": "my-favourite-pdf"
}
'import requests
url = "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1"
payload = {
"pdf_base64": "<string>",
"account_id": "checking_account_202348",
"currency": "USD",
"filename": "my-favourite.pdf",
"is_split": False,
"parent_file_heron_id": "<string>",
"read_us_dates": True,
"reference_id": "my-favourite-pdf"
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
pdf_base64: '<string>',
account_id: 'checking_account_202348',
currency: 'USD',
filename: 'my-favourite.pdf',
is_split: false,
parent_file_heron_id: '<string>',
read_us_dates: true,
reference_id: 'my-favourite-pdf'
})
};
fetch('https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'pdf_base64' => '<string>',
'account_id' => 'checking_account_202348',
'currency' => 'USD',
'filename' => 'my-favourite.pdf',
'is_split' => false,
'parent_file_heron_id' => '<string>',
'read_us_dates' => true,
'reference_id' => 'my-favourite-pdf'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1"
payload := strings.NewReader("{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.herondata.io/api/end_users/{end_user_id_or_heron_id}/pdfs/v1")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"pdf_base64\": \"<string>\",\n \"account_id\": \"checking_account_202348\",\n \"currency\": \"USD\",\n \"filename\": \"my-favourite.pdf\",\n \"is_split\": false,\n \"parent_file_heron_id\": \"<string>\",\n \"read_us_dates\": true,\n \"reference_id\": \"my-favourite-pdf\"\n}"
response = http.request(request)
puts response.read_body{
"pdf_heron_id": "<string>",
"request_id": "<string>"
}Authorizations
Path Parameters
The end_user_id or heron_id of EndUser to upload
Body
The base64 encoded string of the PDF file. If using Javascript, this is directly the output of the FileReader.readAsDataURL() output.
^data\:\w+\/\w+\;base64\,Unique ID for account associated with PDF
"checking_account_202348"
ISO 4217 currency code for transactions in account. We currently only support GBP and USD PDFs
USD, GBP, null "USD"
The filename of the PDF
"my-favourite.pdf"
Whether the file has been manually split
false
The Heron ID of the parent file, if this PDF is a split from another file
True if date formats in the statement are US: month/date/year
An optional field for your unique identifier for the PDF
140"my-favourite-pdf"
Was this page helpful?