Reconciliation
Update matching rule
Update a reconciliation matching rule with the Go SDK.
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_bodyUse
Go response (
client.Reconciliation.UpdateMatchingRule to update a matching rule.
1
Call the method
client.Reconciliation.UpdateMatchingRule
updatedRule, resp, err := client.Reconciliation.UpdateMatchingRule(
"rule_890bdbc4-467f-4670",
blnkgo.Matcher{
Name: "Amount match (updated)",
Description: "Match by amount with 2% drift",
Criteria: []blnkgo.Criteria{
{
Field: blnkgo.CriteriaFieldAmount,
Operator: blnkgo.ReconciliationOperatorEquals,
AllowableDrift: 0.02,
},
{
Field: blnkgo.CriteriaFieldCurrency,
Operator: blnkgo.ReconciliationOperatorEquals,
},
},
},
)
| Field | Type | Description |
|---|---|---|
ruleID | string | ID of the matching rule to update. |
Name | string | Updated name for the rule. |
Description | string | Updated description of what the rule does. |
Criteria | []blnkgo.Criteria | Full replacement array of match criteria. |
Criteria[].Field | blnkgo.CriteriaField | Field to match: CriteriaFieldAmount, CriteriaFieldCurrency, CriteriaFieldReference, CriteriaFieldDescription, or CriteriaFieldDate. |
Criteria[].Operator | blnkgo.ReconciliationOperator | How to compare the field: ReconciliationOperatorEquals or ReconciliationOperatorContains. |
Criteria[].AllowableDrift | float64 | Optional tolerance for amount (percentage) or date (seconds). |
2
Response
200 OK
{
"rule_id": "rule_890bdbc4-467f-4670-8424-5667e41daf29",
"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"
}
Go response (*blnkgo.RunReconResp)
| Field | Type | Description |
|---|---|---|
RuleID | string | Unchanged ID of the rule. |
Name | string | Updated rule name. |
Description | string | Updated description of what the rule does. |
Criteria | []blnkgo.Criteria | The updated match criteria stored for the rule. |
CreatedAt | string | When the rule was created. |
UpdatedAt | string | When the rule was last updated. |
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.Was this page helpful?
⌘I