> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lapyme.com.ar/llms.txt
> Use this file to discover all available pages before exploring further.

# Create reconciliation rule

> Save an explicit rule: lines whose description contains text, in direction, post a movement to account_id (optional contact and cost centers). It applies at once to pending lines of open periods and on every later import. Lines that several rules match stay pending. Text is stored normalized (case, accents, spaces).



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/reconciliation-rules
openapi: 3.1.0
info:
  title: La Pyme API
  description: >-
    Resources and workflows for purchases, sales, inventory, contacts, products,
    reports, and settings.
  version: 1.0.0
  contact:
    name: La Pyme Support
    email: hola@lapyme.com.ar
  license:
    name: Proprietary
    url: https://lapyme.com.ar/terminos
servers:
  - url: https://api.lapyme.com.ar
    description: Servidor de producción
security:
  - bearerAuth: []
tags:
  - name: API
    description: Public API operations for La Pyme integrations.
paths:
  /api/v1/reconciliation-rules:
    post:
      tags:
        - API
      summary: Create reconciliation rule
      description: >-
        Save an explicit rule: lines whose description contains text, in
        direction, post a movement to account_id (optional contact and cost
        centers). It applies at once to pending lines of open periods and on
        every later import. Lines that several rules match stay pending. Text is
        stored normalized (case, accents, spaces).
      operationId: createApiReconciliationRule
      parameters:
        - name: Idempotency-Key
          in: header
          description: Clave estable para deduplicar reintentos de la misma operación.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                bank_account_id:
                  type: string
                  format: uuid
                text:
                  type: string
                  minLength: 1
                  maxLength: 500
                direction:
                  $ref: '#/components/schemas/ApiSharedEnum1d20f1f7e9'
                account_id:
                  type: string
                  format: uuid
                contact_id:
                  anyOf:
                    - type: string
                      format: uuid
                    - type: 'null'
                cost_center1_id:
                  anyOf:
                    - type: string
                      format: uuid
                    - type: 'null'
                cost_center2_id:
                  anyOf:
                    - type: string
                      format: uuid
                    - type: 'null'
                cost_center3_id:
                  anyOf:
                    - type: string
                      format: uuid
                    - type: 'null'
                paused:
                  type: boolean
              required:
                - bank_account_id
                - text
                - direction
                - account_id
              additionalProperties: false
      responses:
        '200':
          description: Treasury result or immutable replay
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSharedObjectaa73c77263'
        '400':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '401':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '403':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '404':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '409':
          description: Idempotency or statement state conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Idempotency or statement state conflict
                      retryable: false
                      details: []
        '422':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '429':
          description: Statement request could not be completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
        '503':
          description: >-
            Statement request could not be completed Verificación de
            credenciales temporalmente ocupada; reintentá sin cambiar la
            operación ni su Idempotency-Key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorEnvelope'
              examples:
                default:
                  summary: INVALID_REQUEST
                  value:
                    request_id: req_error_1
                    error:
                      type: invalid_request_error
                      code: INVALID_REQUEST
                      message: Statement request could not be completed
                      retryable: false
                      details: []
                authentication_capacity:
                  summary: Verificación temporalmente ocupada
                  value:
                    request_id: req_auth_capacity_1
                    error:
                      type: api_error
                      code: INTERNAL_ERROR
                      message: >-
                        La verificación de credenciales está ocupada. Reintentá
                        más tarde.
                      retryable: true
                      details: []
          headers:
            Retry-After:
              description: >-
                Segundos de espera. La verificación de credenciales indica 1;
                otras dependencias pueden indicar otro valor.
              schema:
                type: string
                example: '1'
            Cache-Control:
              description: La verificación de credenciales indica no-store.
              schema:
                type: string
                example: no-store
components:
  schemas:
    ApiSharedEnum1d20f1f7e9:
      type: string
      enum:
        - debit
        - credit
    ApiSharedObjectaa73c77263:
      type: object
      required:
        - request_id
        - data
      properties:
        request_id:
          type: string
        data:
          $ref: '#/components/schemas/ApiSharedObjectba292d6681'
    ApiErrorEnvelope:
      type: object
      properties:
        request_id:
          type: string
        error:
          type: object
          properties:
            type:
              type: string
              enum:
                - api_error
                - authentication_error
                - authorization_error
                - business_error
                - external_dependency_error
                - idempotency_error
                - invalid_request_error
                - rate_limit_error
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            details:
              type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  code:
                    type: string
                  message:
                    type: string
                  metadata:
                    type: object
                    propertyNames:
                      type: string
                    additionalProperties:
                      type:
                        - string
                        - number
                        - boolean
                        - 'null'
                required:
                  - code
                  - message
                additionalProperties: false
          required:
            - type
            - code
            - message
            - retryable
            - details
          additionalProperties: false
      required:
        - request_id
        - error
      additionalProperties: false
    ApiSharedObjectba292d6681:
      type: object
      properties:
        object:
          type: string
          const: reconciliation_rule
        id:
          type: string
          format: uuid
        bank_account_id:
          type: string
          format: uuid
        text:
          type: string
        direction:
          $ref: '#/components/schemas/ApiSharedEnum1d20f1f7e9'
        account_id:
          type: string
          format: uuid
        contact_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        cost_center1_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        cost_center2_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        cost_center3_id:
          anyOf:
            - type: string
              format: uuid
            - type: 'null'
        status:
          $ref: '#/components/schemas/ApiSharedEnum2a6c2e1246'
        resolved_line_count:
          type: integer
          minimum: 0
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
      required:
        - object
        - id
        - bank_account_id
        - text
        - direction
        - account_id
        - contact_id
        - cost_center1_id
        - cost_center2_id
        - cost_center3_id
        - status
        - resolved_line_count
        - created_at
        - updated_at
      additionalProperties: false
    ApiSharedEnum2a6c2e1246:
      type: string
      enum:
        - active
        - paused
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: Incluí tu API key en el header Authorization con el prefijo Bearer.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.