curl --request POST \
--url https://matcher.sandbox.lerian.net/v1/matching/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "10.50",
"currency": "BRL",
"direction": "DEBIT",
"description": "Bank wire fee adjustment",
"reason": "Variance due to bank processing fee",
"type": "BANK_FEE",
"matchGroupId": "019c96a0-0b74-768c-8d25-2bf065dca2f8",
"transactionId": "019c96a0-10ce-75fc-a273-dc799079a99c"
}
'import requests
url = "https://matcher.sandbox.lerian.net/v1/matching/adjustments"
payload = {
"amount": "10.50",
"currency": "BRL",
"direction": "DEBIT",
"description": "Bank wire fee adjustment",
"reason": "Variance due to bank processing fee",
"type": "BANK_FEE",
"matchGroupId": "019c96a0-0b74-768c-8d25-2bf065dca2f8",
"transactionId": "019c96a0-10ce-75fc-a273-dc799079a99c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '10.50',
currency: 'BRL',
direction: 'DEBIT',
description: 'Bank wire fee adjustment',
reason: 'Variance due to bank processing fee',
type: 'BANK_FEE',
matchGroupId: '019c96a0-0b74-768c-8d25-2bf065dca2f8',
transactionId: '019c96a0-10ce-75fc-a273-dc799079a99c'
})
};
fetch('https://matcher.sandbox.lerian.net/v1/matching/adjustments', 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://matcher.sandbox.lerian.net/v1/matching/adjustments",
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([
'amount' => '10.50',
'currency' => 'BRL',
'direction' => 'DEBIT',
'description' => 'Bank wire fee adjustment',
'reason' => 'Variance due to bank processing fee',
'type' => 'BANK_FEE',
'matchGroupId' => '019c96a0-0b74-768c-8d25-2bf065dca2f8',
'transactionId' => '019c96a0-10ce-75fc-a273-dc799079a99c'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://matcher.sandbox.lerian.net/v1/matching/adjustments"
payload := strings.NewReader("{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://matcher.sandbox.lerian.net/v1/matching/adjustments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://matcher.sandbox.lerian.net/v1/matching/adjustments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}"
response = http.request(request)
puts response.read_body{
"adjustment": {
"amount": 123,
"contextId": "<string>",
"createdAt": "<string>",
"createdBy": "<string>",
"currency": "<string>",
"description": "<string>",
"id": "<string>",
"matchGroupId": "<string>",
"reason": "<string>",
"transactionId": "<string>",
"updatedAt": "<string>"
}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}Create an adjustment
Use this endpoint to create a balancing journal entry (e.g., bank fee, FX difference) to resolve variance between matched transactions or on a single transaction.
curl --request POST \
--url https://matcher.sandbox.lerian.net/v1/matching/adjustments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": "10.50",
"currency": "BRL",
"direction": "DEBIT",
"description": "Bank wire fee adjustment",
"reason": "Variance due to bank processing fee",
"type": "BANK_FEE",
"matchGroupId": "019c96a0-0b74-768c-8d25-2bf065dca2f8",
"transactionId": "019c96a0-10ce-75fc-a273-dc799079a99c"
}
'import requests
url = "https://matcher.sandbox.lerian.net/v1/matching/adjustments"
payload = {
"amount": "10.50",
"currency": "BRL",
"direction": "DEBIT",
"description": "Bank wire fee adjustment",
"reason": "Variance due to bank processing fee",
"type": "BANK_FEE",
"matchGroupId": "019c96a0-0b74-768c-8d25-2bf065dca2f8",
"transactionId": "019c96a0-10ce-75fc-a273-dc799079a99c"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: '10.50',
currency: 'BRL',
direction: 'DEBIT',
description: 'Bank wire fee adjustment',
reason: 'Variance due to bank processing fee',
type: 'BANK_FEE',
matchGroupId: '019c96a0-0b74-768c-8d25-2bf065dca2f8',
transactionId: '019c96a0-10ce-75fc-a273-dc799079a99c'
})
};
fetch('https://matcher.sandbox.lerian.net/v1/matching/adjustments', 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://matcher.sandbox.lerian.net/v1/matching/adjustments",
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([
'amount' => '10.50',
'currency' => 'BRL',
'direction' => 'DEBIT',
'description' => 'Bank wire fee adjustment',
'reason' => 'Variance due to bank processing fee',
'type' => 'BANK_FEE',
'matchGroupId' => '019c96a0-0b74-768c-8d25-2bf065dca2f8',
'transactionId' => '019c96a0-10ce-75fc-a273-dc799079a99c'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://matcher.sandbox.lerian.net/v1/matching/adjustments"
payload := strings.NewReader("{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://matcher.sandbox.lerian.net/v1/matching/adjustments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://matcher.sandbox.lerian.net/v1/matching/adjustments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": \"10.50\",\n \"currency\": \"BRL\",\n \"direction\": \"DEBIT\",\n \"description\": \"Bank wire fee adjustment\",\n \"reason\": \"Variance due to bank processing fee\",\n \"type\": \"BANK_FEE\",\n \"matchGroupId\": \"019c96a0-0b74-768c-8d25-2bf065dca2f8\",\n \"transactionId\": \"019c96a0-10ce-75fc-a273-dc799079a99c\"\n}"
response = http.request(request)
puts response.read_body{
"adjustment": {
"amount": 123,
"contextId": "<string>",
"createdAt": "<string>",
"createdBy": "<string>",
"currency": "<string>",
"description": "<string>",
"id": "<string>",
"matchGroupId": "<string>",
"reason": "<string>",
"transactionId": "<string>",
"updatedAt": "<string>"
}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}{
"code": "MTCH-0001",
"title": "Bad Request",
"message": "context not found",
"error": "<string>",
"details": {}
}Authorizations
Bearer token authentication (format: "Bearer {token}")
Headers
A unique identifier for tracing the request across services.
Optional idempotency key for safe retries. Also accepts Idempotency-Key as an alternative header name. If the same key is sent again and the original request was already processed, the cached response is returned with X-Idempotency-Replayed: true.
See Retries and idempotency for details.
Query Parameters
Context ID
Body
Adjustment payload
"10.50"
"BRL"
Direction of the adjustment
DEBIT, CREDIT "DEBIT"
"Bank wire fee adjustment"
"Variance due to bank processing fee"
BANK_FEE, FX_DIFFERENCE, ROUNDING, WRITE_OFF, MISCELLANEOUS "BANK_FEE"
"019c96a0-0b74-768c-8d25-2bf065dca2f8"
"019c96a0-10ce-75fc-a273-dc799079a99c"
Response
Indicates that the resource was successfully created.
The response includes the X-Idempotency-Replayed header.
If the value is false, the request was just processed. If the value is true, the response is a replay of a previously processed request.
See Retries and idempotency for more details.
Show child attributes
Show child attributes
Was this page helpful?

