Skip to main content
PUT
/
reconciliation
/
matching-rules
/
{id}
Update matching rule
curl --request PUT \
  --url http://localhost:5001/reconciliation/matching-rules/{id} \
  --header 'X-blnk-key: <api-key>'
import requests

url = "http://localhost:5001/reconciliation/matching-rules/{id}"

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

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

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

fetch('http://localhost:5001/reconciliation/matching-rules/{id}', 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/matching-rules/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
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/matching-rules/{id}"

req, _ := http.NewRequest("PUT", 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.put("http://localhost:5001/reconciliation/matching-rules/{id}")
.header("X-blnk-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("http://localhost:5001/reconciliation/matching-rules/{id}")

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

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

response = http.request(request)
puts response.read_body
Use blnk.Reconciliation.updateMatchingRule to update a matching rule.
1

Call the method

blnk.Reconciliation.updateMatchingRule
const response = await blnk.Reconciliation.updateMatchingRule('rule_abc123', {
  name: 'Amount match (updated)',
  description: 'Match by amount with 2% drift',
  criteria: [
    {
      field: 'amount',
      operator: 'equals',
      allowable_drift: 0.02
    },
    {
      field: 'currency',
      operator: 'equals'
    },
  ],
});
FieldTypeDescription
ruleIdstringID of the matching rule to update.
namestringUpdated name for the rule.
descriptionstringUpdated description of what the rule does.
criteriaobject[]Full replacement array of match criteria.
criteria[].fieldstringField to match: amount, currency, reference, description, or date.
criteria[].operatorstringHow to compare the field: equals or contains.
criteria[].allowable_driftnumberOptional tolerance for amount (percentage) or date (seconds).
2

Verify the changes

Read response.data to confirm the updated criteria and description. The rule ID stays the same.
3

Response

200 OK
{
  "rule_id": "rule_abc123",
  "name": "Amount match (updated)",
  "description": "Match by amount with 2% drift",
  "criteria": [
    {
      "field": "amount",
      "operator": "equals",
      "allowable_drift": 0.02
    }
  ],
  "created_at": "2024-11-26T08:36:36.238244338Z",
  "updated_at": "2024-12-01T10:15:00.000000000Z"
}
FieldTypeDescription
rule_idstringUnchanged ID of the rule.
namestringUpdated rule name.
criteriaobject[]The updated match criteria stored for the rule.
updated_atstringWhen the rule was last updated.

How reconciliation works

Criteria, operators, and drift behavior.

Update matching rule

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.