Skip to main content
POST
Create a reconciliation context

Authorizations

Authorization
string
header
required

Bearer token authentication (format: "Bearer {token}")

Headers

X-Request-Id
string

A unique identifier for tracing the request across services.

X-Idempotency
string

Optional idempotency key for safe retries. Matcher reads the key only from this header, and only when you send one. A request that carries a key only in X-Idempotency-Key or Idempotency-Key is refused with 400 (MTCH-0015), and nothing is processed. If the same key is sent again and the original request was already processed, the stored response is returned with X-Idempotency-Replayed: true. A malformed key returns 400, a key whose first request is still in progress returns 409, and an idempotency storage failure returns 500. These refusals are problem documents.

Body

application/json

Context creation payload

interval
string
required

Execution interval label for the context (e.g. daily, weekly).

Required string length: 1 - 100
Example:

"daily"

name
string
required

Human-readable name of the reconciliation context.

Required string length: 1 - 100
Example:

"Bank Reconciliation Q1"

type
enum<string>
required

Reconciliation topology. 1:1 matches one left transaction to one right transaction; 1:N matches one transaction against many on the other side; N:M matches groups on both sides.

Available options:
1:1,
1:N,
N:M
Example:

"1:1"

agedBreakCalendar
string

Business-day calendar the aging threshold is measured against (e.g. US_FED, BR_ANBIMA). Omit/empty measures the age in raw calendar days.

Example:

"BR_ANBIMA"

agedBreakThresholdDays
integer<int64>

Open-item aging SLA in business days. An open-item residual older than this surfaces as an AGED_BREAK exception during the match run. Omit to disable aging for the context.

Example:

30

autoMatchOnUpload
boolean

When true, a match run is triggered automatically after a file upload completes.

Example:

false

feeNormalization
enum<string>

Fee normalization mode. NET compares amounts after fees are deducted; GROSS compares amounts before fees.

Available options:
NET,
GROSS
Example:

"NET"

feeToleranceAbs
string

Absolute fee tolerance as a decimal string in the context currency.

Example:

"0.01"

feeTolerancePct
string

Percentage fee tolerance as a decimal string (0.5 means 0.5%).

Example:

"0.5"

rules
object[] | null

Match rules to create inline with the context.

Maximum array length: 50
signConvention
enum<string>

How this context's data carries sign. SAME: a payment carries the same sign as what it settles, so a negative amount is a reversal. OPPOSITE: a payment carries the opposite sign of the invoice it settles. Defaults to SAME. In 1:N contexts only payments of the declared sign are allocated to an invoice, and in N:M contexts a short-paid invoice keeps an open balance only when it is positive under SAME, or when the rule's sign mode is opposite under OPPOSITE; any other short payment stays unmatched; a carried open balance settles on a payment of the declared sign or on a reversal from the invoice's own side, and a row from an archived source stays unmatched. It cannot change once the context has carried a partial balance, or while a match run is in progress.

Available options:
SAME,
OPPOSITE
Example:

"SAME"

sources
object[] | null

Sources to create inline with the context.

Maximum array length: 10

Response

Successfully created context.

autoMatchOnUpload
boolean
required

When true, a match run is triggered automatically after a file upload completes.

Example:

false

createdAt
string
required

Creation timestamp in RFC 3339 format.

Example:

"2025-01-15T10:30:00Z"

feeToleranceAbs
string
required

Absolute fee tolerance as a decimal string in the context currency.

Example:

"0.50"

feeTolerancePct
string
required

Percentage fee tolerance as a decimal string (0.01 means 0.01%).

Example:

"0.01"

id
string
required

Unique identifier of the context.

Example:

"550e8400-e29b-41d4-a716-446655440000"

interval
string
required

Execution interval label for the context (e.g. daily, weekly).

Example:

"daily"

name
string
required

Human-readable name of the reconciliation context.

Example:

"Bank Reconciliation Q1"

signConvention
enum<string>
required

How this context's data carries sign. SAME: a payment carries the same sign as what it settles, so a negative amount is a reversal. OPPOSITE: a payment carries the opposite sign of the invoice it settles. In 1:N contexts only payments of the declared sign are allocated to an invoice, and in N:M contexts a short-paid invoice keeps an open balance only when it is positive under SAME, or when the rule's sign mode is opposite under OPPOSITE; any other short payment stays unmatched; a carried open balance settles on a payment of the declared sign or on a reversal from the invoice's own side, and a row from an archived source stays unmatched. It cannot change once the context has carried a partial balance, or while a match run is in progress.

Available options:
SAME,
OPPOSITE
Example:

"SAME"

status
enum<string>
required

Lifecycle status. DRAFT is being configured; ACTIVE runs; PAUSED is suspended; ARCHIVED is retired.

Available options:
DRAFT,
ACTIVE,
PAUSED,
ARCHIVED
Example:

"ACTIVE"

tenantId
string
required

Identifier of the tenant that owns the context.

Example:

"550e8400-e29b-41d4-a716-446655440000"

type
enum<string>
required

Reconciliation topology. 1:1 matches one left transaction to one right transaction; 1:N matches one transaction against many on the other side; N:M matches groups on both sides.

Available options:
1:1,
1:N,
N:M
Example:

"1:1"

updatedAt
string
required

Last update timestamp in RFC 3339 format.

Example:

"2025-01-15T10:30:00Z"

agedBreakCalendar
string

Business-day calendar the aging threshold is measured against. Absent/empty means raw calendar days.

Example:

"BR_ANBIMA"

agedBreakThresholdDays
integer<int64>

Open-item aging SLA in business days. An open-item residual older than this surfaces as an AGED_BREAK exception. Absent when aging is disabled for the context.

Example:

30

feeNormalization
enum<string>

Fee normalization mode. NET compares amounts after fees are deducted; GROSS compares amounts before fees.

Available options:
NET,
GROSS
Example:

"NET"