Skip to main content
PATCH
Update a reconciliation source

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.

Path Parameters

contextId
string<uuid>
required

The unique identifier of the reconciliation context. Context ID

sourceId
string<uuid>
required

The unique identifier of the reconciliation source. Source ID

Body

application/json

Source updates

config
object

Source-specific configuration object. Cross-key rules the schema cannot express: a duplicate_key component this source's field map does not fill is refused, because a key over an always-empty field makes every row a duplicate of every other; a source bound to an aggregator connection (reserved key connection_config_name) cannot carry a duplicate_key of its own, and a config holding both is refused in either direction; and editing duplicate_key governs later imports only — rows already imported keep the key they were deduplicated under, so a duplicate straddling the change is knowingly not detected.

name
string

New human-readable name of the source.

Maximum string length: 50
Example:

"Secondary Bank Account"

side
enum<string>

Matching side this source feeds. LEFT and RIGHT are the two sides reconciled against each other. A change is refused with a 409 once the context has carried a partial balance, or while a match run is in progress.

Available options:
LEFT,
RIGHT
Example:

"RIGHT"

type
enum<string>

Origin of the source data. LEDGER is the internal ledger; BANK is a bank statement feed; GATEWAY is a payment gateway; CUSTOM is a bespoke feed; FETCHER is a discovery-engine pull.

Available options:
LEDGER,
BANK,
GATEWAY,
CUSTOM,
FETCHER
Example:

"LEDGER"

Response

Successfully updated source.

config
object
required

Source-specific configuration object. Cross-key rules the schema cannot express: a duplicate_key component this source's field map does not fill is refused, because a key over an always-empty field makes every row a duplicate of every other; a source bound to an aggregator connection (reserved key connection_config_name) cannot carry a duplicate_key of its own, and a config holding both is refused in either direction; and editing duplicate_key governs later imports only — rows already imported keep the key they were deduplicated under, so a duplicate straddling the change is knowingly not detected.

contextId
string
required

Identifier of the context this source belongs to.

Example:

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

createdAt
string
required

Creation timestamp in RFC 3339 format.

Example:

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

id
string
required

Unique identifier of the source.

Example:

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

name
string
required

Human-readable name of the source.

Example:

"Primary Bank Account"

side
enum<string>
required

Matching side this source feeds. LEFT and RIGHT are the two sides reconciled against each other.

Available options:
LEFT,
RIGHT
Example:

"LEFT"

type
enum<string>
required

Origin of the source data. LEDGER is the internal ledger; BANK is a bank statement feed; GATEWAY is a payment gateway; CUSTOM is a bespoke feed; FETCHER is a discovery-engine pull.

Available options:
LEDGER,
BANK,
GATEWAY,
CUSTOM,
FETCHER
Example:

"BANK"

updatedAt
string
required

Last update timestamp in RFC 3339 format.

Example:

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

archivedAt
string

RFC 3339 timestamp when the source was archived; absent when the source is live.

Example:

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