End Close Reconciliation Matches API

The Reconciliation Matches API from End Close — 2 operation(s) for reconciliation matches.

OpenAPI Specification

end-close-reconciliation-matches-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: End Close Bank Account Balances Reconciliation Matches API
  description: REST API is used to interact with the End Close platform.
  license:
    name: MIT
  version: 1.0.0
servers:
- url: https://api.endclose.com/v1
security:
- ApiKeyAuth: []
tags:
- name: Reconciliation Matches
paths:
  /reconciliation_matches:
    get:
      summary: List reconciliation matches
      description: Returns a paginated list of matches, optionally filtered by reconciliation or status.
      parameters:
      - in: query
        name: reconciliation_id
        schema:
          type: string
        description: Filter by reconciliation
      - in: query
        name: status
        schema:
          type: string
        description: Filter by match status
      - in: query
        name: limit
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
      - in: query
        name: offset
        schema:
          type: integer
        description: Pagination offset
      responses:
        '200':
          description: Paginated list of matches
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/ReconciliationMatch'
                  has_more:
                    type: boolean
                  offset:
                    type: number
                  total_count:
                    type: integer
                    description: Total number of matches matching the filters, across all pages
      tags:
      - Reconciliation Matches
    post:
      summary: Create a reconciliation match
      description: Manually match a set of records. All records must be unreconciled and belong to the specified reconciliation's data streams.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - reconciliation_id
              - record_ids
              properties:
                reconciliation_id:
                  type: string
                record_ids:
                  type: array
                  items:
                    type: string
                  description: IDs of records to match together
                create_adjustment:
                  type: boolean
                  description: If true, creates an adjustment record to balance the match
                adjustment_reason:
                  type: string
                  description: Description for the adjustment record
      responses:
        '201':
          description: Match created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReconciliationMatch'
        '422':
          description: Validation error (records not found, already reconciled, or not in reconciliation)
      tags:
      - Reconciliation Matches
  /reconciliation_matches/{id}:
    get:
      summary: Retrieve a reconciliation match
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Match retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReconciliationMatch'
        '404':
          description: Match not found
      tags:
      - Reconciliation Matches
    delete:
      summary: Delete a reconciliation match
      description: Deletes a reconciliation match and resets all associated records to unreconciled status.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Match deleted and records unreconciled
        '404':
          description: Match not found
      tags:
      - Reconciliation Matches
components:
  schemas:
    ReconciliationMatch:
      type: object
      description: A reconciliation match represents a group of records that have been matched together. Endclose supports many-to-one matching, so a single match can contain a large number of records — to retrieve them, use `GET /v1/records?reconciliation_match_id={id}`.
      properties:
        id:
          type: integer
        status:
          type: string
        group_key:
          type: string
        reconciliation_id:
          type: integer
        reconciliation_rule_id:
          type: integer
        created_at:
          type: string
          format: date-time
        record_count:
          type: integer
          description: Total number of records in this match
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY