openapi: 3.1.0 info: title: Embat AccountingAccounts ReconcilingItems API description: Embat API enables connections between any third party application and Embat. Is organized around REST principles, using HTTP responses code and returning data in JSON format. While testing the API, you have to request **sandbox credentials**. contact: name: API Support url: https://embat.io/ email: tech@embat.io version: 2.120.3 x-logo: url: https://storage.googleapis.com/embat-production.appspot.com/assets/embat_dark.svg tags: - name: ReconcilingItems description: "
\n⚠️ Warning: This API section is in BETA. It might undergo significant changes and may not be stable.\n
\n\nReconcilingItem represents a single financial record — for example a POS sale, an order, or a settlement — that needs to be matched against a product `transaction`. `customId` is the unique identifier of a reconciling item: set your own value to use as your internal identifier.\n\nEvery reconciling item belongs to a ReconcilingSource, referenced by `reconcilingSourceCustomId`, which identifies the origin system the item comes from (e.g. a POS, an internal system, or a CRM) and can define a `matchingMetadataKey`. When set, Embat uses the value stored under that key in the item's `metadata` to automatically associate the item with a transaction. `reconciled` and `isMatched` reflect the state of that process and are set by Embat — they cannot be updated through this API.\n\n**Typical flow:**\n\n1. **Register a reconciling source** (see ReconcilingSources) if one does not already exist for the origin system.\n2. **Notify Embat of records to reconcile.** Create a reconciling item for each record, including the metadata your reconciling source uses for matching:\n\n```json\nPOST /reconcilingitems/{companyId}\n{\n \"customId\": \"stripe-order-4821\",\n \"reconcilingSourceCustomId\": \"stripe-orders\",\n \"amount\": 199.90,\n \"currency\": \"EUR\",\n \"date\": \"2024-01-15T00:00:00Z\",\n \"description\": \"Stripe order #4821\",\n \"metadata\": { \"orderId\": \"ORD-48213\" }\n}\n```\n\nCalling this again with the same `customId` updates the existing item instead of creating a duplicate, unless it has already been matched to a transaction.\n\n3. **Track reconciliation status.** Retrieve or list items with `GET /reconcilingitems/{companyId}/{customId}` or `GET /reconcilingitems/{companyId}` — filter by `reconcilingSourceCustomId` or `reconciled` and check `isMatched`/`reconciled` on each item to see whether Embat has matched and reconciled it.\n4. **Correct or remove items** while they are still unmatched: use `PATCH`/`DELETE /reconcilingitems/{companyId}/{customId}` (or their bulk variants), or resend the item with `POST` — creation is an upsert, so an existing `customId` is updated instead of duplicated.\n" paths: /reconcilingitems/{companyId}: get: tags: - ReconcilingItems summary: List reconciling items description: 'Returns the reconciling items of a company, ordered by `date` (most recent first). Results are paginated: use `limit` to control page size and pass the returned `nextPageToken` to fetch the next page.' operationId: list_operations_reconcilingitems__companyId__get security: - HTTPBearer: [] parameters: - name: companyId in: path required: true schema: type: string title: Companyid - name: reconcilingSourceCustomId in: query required: false schema: type: string description: Filter items belonging to a given reconciling source (`reconcilingSourceCustomId`). title: Reconcilingsourcecustomid description: Filter items belonging to a given reconciling source (`reconcilingSourceCustomId`). - name: reconciled in: query required: false schema: type: boolean description: Filter by reconciliation status. `false` also matches items where the value is not set. title: Reconciled description: Filter by reconciliation status. `false` also matches items where the value is not set. - name: startDate in: query required: false schema: type: string format: date description: Only return items dated on or after this date (inclusive). title: Startdate description: Only return items dated on or after this date (inclusive). - name: endDate in: query required: false schema: type: string format: date description: Only return items dated before this date (exclusive). title: Enddate description: Only return items dated before this date (exclusive). - name: limit in: query required: false schema: type: integer maximum: 2000 title: Response length of objects limit description: Maximum number of objects to return in the response. Default 500, maximum 2000. default: 500 description: Maximum number of objects to return in the response. Default 500, maximum 2000. - name: nextPageToken in: query required: false schema: type: string title: Pagination token description: Token to fetch the next page of results, taken from the `nextPageToken` returned by the previous request with the same filters. Omit it to fetch the first page. An invalid or malformed token is rejected with `404`. description: Token to fetch the next page of results, taken from the `nextPageToken` returned by the previous request with the same filters. Omit it to fetch the first page. An invalid or malformed token is rejected with `404`. responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ListReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found, or invalid `nextPageToken`. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - ReconcilingItems summary: Create reconciling item description: Creates a reconciling item under the given `reconcilingSourceCustomId`. Calling this again with the same `customId` updates the existing item instead of creating a duplicate — except once the item has been matched to a transaction, in which case the call still returns `200` and the item is not modified by this request. operationId: create_reconciling_item_reconcilingitems__companyId__post security: - HTTPBearer: [] parameters: - name: companyId in: path required: true schema: type: string title: Companyid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PostReconcilingItemSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UpsertReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - ReconcilingItems summary: Update reconciling items in bulk description: Updates several reconciling items in a single call, identified by `customId`, following the same rules as the single item update endpoint. Entries whose `customId` does not match any existing item, or whose item has already been matched to a transaction, are silently skipped — the call returns `200` for the whole batch. operationId: update_reconciling_items_bulk_reconcilingitems__companyId__patch security: - HTTPBearer: [] parameters: - name: companyId in: path required: true schema: type: string title: Companyid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkPatchReconcilingItemsRequestSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BulkUpsertReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - ReconcilingItems summary: Delete reconciling items in bulk description: Deletes several reconciling items in a single call, identified by `customId`. The call returns `200` listing every requested `customId` even if some (or all) do not match an existing item — deletion is idempotent and the response does not indicate which items were actually removed. operationId: delete_reconciling_items_bulk_reconcilingitems__companyId__delete security: - HTTPBearer: [] parameters: - name: companyId in: path required: true schema: type: string title: Companyid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkDeleteReconcilingItemsRequestSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BulkModifyReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /reconcilingitems/{companyId}/{customId}: get: tags: - ReconcilingItems summary: Retrieve reconciling item description: Returns a single reconciling item by `customId`. operationId: read_reconciling_item_reconcilingitems__companyId___customId__get security: - HTTPBearer: [] parameters: - name: customId in: path required: true schema: type: string title: Customid - name: companyId in: path required: true schema: type: string title: Companyid responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GetReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found, or no reconciling item matches the given `customId`. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - ReconcilingItems summary: Update reconciling item description: Updates the amount, currency, date, description, metadata or additional info of a reconciling item identified by `customId`. Only the fields sent are changed; omitted or `null` fields keep their current value. If `customId` does not match any existing item, or the item has already been matched to a transaction, the call still returns `200` without applying any change. operationId: update_reconciling_item_reconcilingitems__companyId___customId__patch security: - HTTPBearer: [] parameters: - name: customId in: path required: true schema: type: string title: Customid - name: companyId in: path required: true schema: type: string title: Companyid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchReconcilingItemSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/UpsertReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - ReconcilingItems summary: Delete reconciling item description: Deletes a reconciling item by `customId`. The call returns `200` even if no item matches the given `customId` — deletion is idempotent and the response does not indicate whether an item was actually removed. operationId: delete_reconciling_item_reconcilingitems__companyId___customId__delete security: - HTTPBearer: [] parameters: - name: customId in: path required: true schema: type: string title: Customid - name: companyId in: path required: true schema: type: string title: Companyid responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ModifyReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /reconcilingitems/{companyId}/bulk: post: tags: - ReconcilingItems summary: Create reconciling items in bulk description: Creates several reconciling items in a single call, following the same rules as the single item creation endpoint. Items sharing the same `customId` within the request are deduplicated and only the first occurrence is processed. operationId: create_reconciling_items_bulk_reconcilingitems__companyId__bulk_post security: - HTTPBearer: [] parameters: - name: companyId in: path required: true schema: type: string title: Companyid requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/BulkPostReconcilingItemsRequestSchema' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/BulkUpsertReconcilingItemsResponseSchema' '401': description: Unauthorized. The bearer token is missing, invalid or expired. content: application/json: example: detail: user not authorized schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Company not found. content: application/json: example: detail: 0021 companyId not found schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: PatchReconcilingItemSchema: properties: amount: anyOf: - type: number - type: 'null' title: Amount description: Amount of the reconciling item, in `currency`. Omitted or `null` leaves the current amount unchanged. examples: - 199.9 currency: anyOf: - $ref: '#/components/schemas/CurrencyEnum' - type: 'null' description: Currency of the reconciling item, in ISO 4217 format. Omitted or `null` leaves the current currency unchanged. examples: - EUR date: anyOf: - type: string format: date-time - type: 'null' title: Date description: Date of the reconciling item. Omitted or `null` leaves the current date unchanged. examples: - '2024-01-15T00:00:00Z' description: anyOf: - type: string - type: 'null' title: Description description: Free-text description of the reconciling item. Omitted or `null` leaves the current description unchanged. examples: - 'Stripe order #4821' metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Free-form key/value data associated with the reconciling item. When its reconciling source defines a `matchingMetadataKey`, the value stored under that key is used to automatically associate this item with a product transaction — only string, number or boolean values are usable for matching, other value types are ignored. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. examples: - orderId: ORD-48213 additionalInfo: anyOf: - additionalProperties: true type: object - type: 'null' title: Additionalinfo description: Free-form key/value metadata to attach to the reconciling item. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. type: object title: PatchReconcilingItemSchema UpsertReconcilingItemsResponseSchema: properties: id: type: string title: Id description: Embat resource ID customId: type: string title: Customid description: Client-provided custom ID type: object required: - id - customId title: UpsertReconcilingItemsResponseSchema PostReconcilingItemSchema: properties: amount: type: number title: Amount description: Amount of the reconciling item, in `currency`. examples: - 199.9 currency: $ref: '#/components/schemas/CurrencyEnum' description: Currency of the reconciling item, in ISO 4217 format. examples: - EUR date: type: string format: date-time title: Date description: Date of the reconciling item. examples: - '2024-01-15T00:00:00Z' description: type: string title: Description description: Free-text description of the reconciling item. examples: - 'Stripe order #4821' metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Free-form key/value data associated with the reconciling item. When its reconciling source defines a `matchingMetadataKey`, the value stored under that key is used to automatically associate this item with a product transaction — only string, number or boolean values are usable for matching, other value types are ignored. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. examples: - orderId: ORD-48213 additionalInfo: anyOf: - additionalProperties: true type: object - type: 'null' title: Additionalinfo description: Free-form key/value metadata to attach to the reconciling item. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. customId: type: string title: Customid description: Your own unique ID for the reconciling item. You can use it as your internal reconciling item identifier. examples: - stripe-order-4821 reconcilingSourceCustomId: type: string title: Reconcilingsourcecustomid description: 'Custom ID of the reconciling source this item belongs to. You can get them from "Reconciling Sources" endpoints. Not validated against existing reconciling sources: if it does not match one, the item is still created, but it is not automatically matched against transactions.' examples: - stripe-orders type: object required: - amount - currency - date - description - customId - reconcilingSourceCustomId title: PostReconcilingItemSchema ListReconcilingItemsResponseSchema: properties: data: items: $ref: '#/components/schemas/GetReconcilingItemsResponseSchema' type: array title: Data description: Reconciling items matching the query. nextPageToken: anyOf: - type: string - type: 'null' title: Nextpagetoken description: Token to fetch the next page of results. `null` when there are no more pages. type: object required: - data title: ListReconcilingItemsResponseSchema ErrorResponse: properties: detail: type: string title: Detail description: Human-readable explanation of the error. examples: - user not authorized type: object required: - detail title: ErrorResponse description: Error payload returned by the API (FastAPI `detail` convention). CurrencyEnum: type: string enum: - AED - AFN - ALL - AMD - ANG - AOA - ARS - AUD - AWG - AZN - BAM - BBD - BDT - BGN - BHD - BIF - BMD - BND - BOB - BOV - BRL - BSD - BTC - BTN - BWP - BYN - BZD - CAD - CDF - CHE - CHF - CHW - CLF - CLP - CNH - CNY - COP - COU - CRC - CUP - CVE - CZK - DJF - DKK - DOP - DZD - EEK - EGP - ERN - ETB - ETH - EUR - FJD - FKP - GBP - GEL - GHS - GIP - GMD - GNF - GTQ - GYD - HKD - HNL - HRK - HTG - HUF - IDR - ILS - INR - IQD - IRR - ISK - JMD - JOD - JPY - KES - KGS - KHR - KMF - KPW - KRW - KWD - KYD - KZT - LAK - LBP - LKR - LRD - LSL - LTC - LTL - LVL - LYD - MAD - MDL - MGA - MKD - MMK - MNT - MOP - MRU - MUR - MVR - MWK - MXN - MXV - MYR - MZN - NAD - NGN - NIO - NOK - NPR - NZD - OMR - PAB - PEN - PGK - PHP - PKR - PLN - PYG - QAR - RON - RSD - RUB - RWF - SAR - SBD - SCR - SDG - SEK - SGD - SHP - SLE - SOS - SRD - SSP - STN - SVC - SYP - SZL - THB - TJS - TMT - TND - TOP - TRY - TTD - TWD - TZS - UAH - UGX - USD - USN - UYI - UYU - UYW - UZS - VED - VEF - VES - VND - VUV - WST - XAF - XAG - XAU - XBA - XBB - XBC - XBD - XCD - XDR - XOF - XPD - XPF - XPT - XSU - XTS - XUA - XXX - YER - ZAR - ZMK - ZMW - ZWG - ZWL title: CurrencyEnum HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError GetReconcilingItemsResponseSchema: properties: amount: type: number title: Amount description: Amount of the reconciling item, in `currency`. examples: - 199.9 currency: $ref: '#/components/schemas/CurrencyEnum' description: Currency of the reconciling item, in ISO 4217 format. examples: - EUR date: type: string format: date-time title: Date description: Date of the reconciling item. examples: - '2024-01-15T00:00:00Z' description: type: string title: Description description: Free-text description of the reconciling item. examples: - 'Stripe order #4821' metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Free-form key/value data associated with the reconciling item. When its reconciling source defines a `matchingMetadataKey`, the value stored under that key is used to automatically associate this item with a product transaction — only string, number or boolean values are usable for matching, other value types are ignored. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. examples: - orderId: ORD-48213 additionalInfo: anyOf: - additionalProperties: true type: object - type: 'null' title: Additionalinfo description: Free-form key/value metadata to attach to the reconciling item. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. customId: type: string title: Customid description: Your own unique ID for the reconciling item. You can use it as your internal reconciling item identifier. examples: - stripe-order-4821 reconcilingSourceCustomId: type: string title: Reconcilingsourcecustomid description: 'Custom ID of the reconciling source this item belongs to. You can get them from "Reconciling Sources" endpoints. Not validated against existing reconciling sources: if it does not match one, the item is still created, but it is not automatically matched against transactions.' examples: - stripe-orders id: type: string title: Id description: Embat ID of the reconciling item. companyId: type: string title: Companyid description: Embat company ID. You can get them from "companies" endpoints. updatedAt: type: string format: date-time title: Updatedat description: Last updated date of the entity in the database. createdAt: type: string format: date-time title: Createdat description: Created date of the entity in the database. reconciled: type: boolean title: Reconciled description: Whether this item has completed the reconciliation process against a transaction. Set by Embat; it cannot be set through this API. default: false isMatched: type: boolean title: Ismatched description: Whether this item has been matched to a transaction. Defaults to `false` when the item is created and is set by Embat afterwards; it cannot be set through this API. default: false type: object required: - amount - currency - date - description - customId - reconcilingSourceCustomId - id - companyId - updatedAt - createdAt title: GetReconcilingItemsResponseSchema BulkModifyReconcilingItemsResponseSchema: properties: data: items: $ref: '#/components/schemas/ModifyReconcilingItemsResponseSchema' type: array title: Data description: Result of the bulk operation, one entry per reconciling item. type: object required: - data title: BulkModifyReconcilingItemsResponseSchema BulkPostReconcilingItemsRequestSchema: properties: data: items: $ref: '#/components/schemas/PostReconcilingItemSchema' type: array title: Data description: Reconciling items to create. type: object required: - data title: BulkPostReconcilingItemsRequestSchema DeleteReconcilingItemsRequestSchema: properties: customId: type: string title: Customid description: Custom ID of the reconciling item to delete. examples: - stripe-order-4821 type: object required: - customId title: DeleteReconcilingItemsRequestSchema AuxBulkPatchReconcilingItemsRequestSchema: properties: amount: anyOf: - type: number - type: 'null' title: Amount description: Amount of the reconciling item, in `currency`. Omitted or `null` leaves the current amount unchanged. examples: - 199.9 currency: anyOf: - $ref: '#/components/schemas/CurrencyEnum' - type: 'null' description: Currency of the reconciling item, in ISO 4217 format. Omitted or `null` leaves the current currency unchanged. examples: - EUR date: anyOf: - type: string format: date-time - type: 'null' title: Date description: Date of the reconciling item. Omitted or `null` leaves the current date unchanged. examples: - '2024-01-15T00:00:00Z' description: anyOf: - type: string - type: 'null' title: Description description: Free-text description of the reconciling item. Omitted or `null` leaves the current description unchanged. examples: - 'Stripe order #4821' metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata description: Free-form key/value data associated with the reconciling item. When its reconciling source defines a `matchingMetadataKey`, the value stored under that key is used to automatically associate this item with a product transaction — only string, number or boolean values are usable for matching, other value types are ignored. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. examples: - orderId: ORD-48213 additionalInfo: anyOf: - additionalProperties: true type: object - type: 'null' title: Additionalinfo description: Free-form key/value metadata to attach to the reconciling item. An empty string is also accepted and treated as an empty object. Replaces the previously stored value entirely (not merged). Omitted or `null` leaves the current metadata unchanged. customId: type: string title: Customid description: Custom ID of the reconciling item to update. examples: - stripe-order-4821 type: object required: - customId title: AuxBulkPatchReconcilingItemsRequestSchema BulkUpsertReconcilingItemsResponseSchema: properties: data: items: $ref: '#/components/schemas/UpsertReconcilingItemsResponseSchema' type: array title: Data description: Result of the bulk creation, one entry per reconciling item. type: object required: - data title: BulkUpsertReconcilingItemsResponseSchema ModifyReconcilingItemsResponseSchema: properties: id: type: string title: Id description: Embat resource ID type: object required: - id title: ModifyReconcilingItemsResponseSchema BulkDeleteReconcilingItemsRequestSchema: properties: data: items: $ref: '#/components/schemas/DeleteReconcilingItemsRequestSchema' type: array title: Data description: Reconciling items to delete, identified by `customId`. type: object required: - data title: BulkDeleteReconcilingItemsRequestSchema BulkPatchReconcilingItemsRequestSchema: properties: data: items: $ref: '#/components/schemas/AuxBulkPatchReconcilingItemsRequestSchema' type: array title: Data description: Reconciling items to update, identified by `customId`. type: object required: - data title: BulkPatchReconcilingItemsRequestSchema securitySchemes: HTTPBearer: type: http scheme: bearer