---
title: "Create reconciling source"
method: POST
path: "/reconcilingsources/{companyId}"
tags: ["ReconcilingSources"]
---

# Create reconciling source

`POST /reconcilingsources/{companyId}`

Creates a reconciling source identified by `customId`. Calling this endpoint again with a `customId` that already exists **updates** the existing reconciling source instead of creating a duplicate or raising a conflict error; only the fields sent are applied, and any field previously stored is kept unless a new value is sent.

## Path parameters

- `companyId` string, required

## Request body

- PostReconcilingSourceSchema
  - `name` string, required — Name of the reconciling source.
  - `additionalInfo` object, nullable — Free-form key/value metadata to attach to the reconciling source. Replaces the previously stored value entirely (not merged). Omitted or `null` values leave the current metadata unchanged.
  - `matchingMetadataKey` string, nullable — Key within a reconciling item's `metadata` used to associate it with a product transaction. Omitted or `null` values leave the current key unchanged.
  - `customId` string, required — Your own unique ID for the reconciling source. You can use it as your internal reconciling source ID.

## Response `200`

Successful Response

- ModifyReconcilingSourceResponseSchema
  - `id` string, required — Embat resource ID

## Other responses

- `401` — Unauthorized. The bearer token is missing, invalid or expired.
- `404` — Not found. The requested resource or `companyId` does not exist.
- `422` — Validation Error

---

[API](https://skmtc.net/embat/apis/embat-api.md) · [All operations](https://skmtc.net/embat/apis/embat-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/embat/embat-api/versions/36ca48bf4489/schema)
