Skip to main content
POST
/
reconciliation
/
upload
Upload data
curl --request POST \
  --url http://localhost:5001/reconciliation/upload \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/reconciliation/upload"

headers = {"X-blnk-key": "<api-key>"}

response = requests.post(url, headers=headers)

print(response.text)
const options = {method: 'POST', headers: {'X-blnk-key': '<api-key>'}};

fetch('http://localhost:5001/reconciliation/upload', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_PORT => "5001",
CURLOPT_URL => "http://localhost:5001/reconciliation/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"X-blnk-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"
"net/http"
"io"
)

func main() {

url := "http://localhost:5001/reconciliation/upload"

req, _ := http.NewRequest("POST", url, nil)

req.Header.Add("X-blnk-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("http://localhost:5001/reconciliation/upload")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/reconciliation/upload")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["X-blnk-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
Use blnk.reconciliation.upload to upload external statement data.
1

Call the method

blnk.reconciliation.upload
response = blnk.reconciliation.upload("statement.csv", "stripe")
FieldTypeDescription
fileInputstrPath to a CSV or JSON file, or a readable stream containing the external records.
sourcestrLabel describing where the data came from, for example stripe.
2

Save the upload ID

Use response.data["upload_id"] as the upload_id when you start reconciliation.
3

Response

201 Created
{
  "upload_id": "upload_8c700d1b-09c0-4ef4-9ab1-a0decf3d0aa3",
  "record_count": 1000,
  "source": "Stripe"
}
FieldTypeDescription
upload_idstrUnique ID for the upload. Store it to start a batch reconciliation run.
record_countnumberNumber of records found in the file.
sourcestrLabel you passed for the data origin.

How reconciliation works

Batch and instant reconciliation workflows.

Upload external records

HTTP request and response schema.

Need help?

We are very happy to help you make the most of Blnk, regardless of whether it is your first time or you are switching from another tool. To ask questions or discuss issues, please contact us or join our Discord community.