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

# Create a settlement operation

> Submits a single settlement operation for intake. Idempotent via the Idempotency-Key header. Field presence/type is validated against the schema (422); business-rule failures return coded 400/409/422 problem+json.



## OpenAPI

````yaml en/openapi/v3-current/slc.yaml post /v1/operations
openapi: 3.1.0
info:
  description: >-
    API for Lerian SLC — the participant-side rail that connects the institution
    to Núclea's SLC deferred-net card settlement. It covers settlement-operation
    intake and lifecycle, clearing positions, the participant and arrangement
    registry, generated reports, embedded XSD schema introspection, transmission
    recovery and connectivity to Núclea, BYOK Model-A signing-key import, and
    tenant-scoped webhooks.
  title: Lerian SLC API
  version: 1.0.0
servers:
  - url: https://slc.sandbox.lerian.net
security:
  - BearerAuth: []
tags:
  - description: >-
      Settlement operation lifecycle — create, list, query, and control the
      NUliquid-tracked card operations (NUliquid = the 21-position id Núclea
      assigns each accepted operation) through the state machine.
    name: Operations
  - description: >-
      Participant catalog — the acquirers, sub-acquirers, IF Domicílio (bank
      where the merchant receives its sales), and settlement FIs (financial
      institutions) that take part in card settlement.
    name: Participants
  - description: >-
      Card arrangements (bandeira/scheme configurations, e.g. Visa/Master/Elo)
      attached to a participant.
    name: Arrangements
  - description: >-
      Regulated transport orchestration to Núclea/SILOC (the private card
      clearing house that operates the SILOC settlement system) — dispatch,
      recovery, retransmission, and connectivity testing over managed
      file-transfer, message-broker, and REST.
    name: Connectivity
  - description: >-
      Multilateral netting clearing positions — the net amount each participant
      settles per STR cycle (STR = Banco Central reserves-transfer system).
    name: Clearing
  - description: >-
      SaaS BYOK (Bring Your Own Key) signing-key provisioning — import
      parameters and register the client's ICP-Brasil A1 (Brazilian PKI server
      certificate, 1-year validity) certificate material used to sign ASLC
      files; the private key never leaves the client's HSM/KMS/Vault.
    name: SigningKey
  - description: >-
      ASLC file intake and status — passthrough submission and processing status
      of the official Núclea card-settlement XML files (ASLC = Arquivo do
      Sistema de Liquidação de Cartões).
    name: Files
  - description: >-
      Read-only introspection of the embedded Núclea ASLC/RSFN (National
      Financial System Network) XSD schemas used to validate outbound and
      inbound messages.
    name: XSD Schemas
  - description: Read-only regulatory, compliance, and operational settlement reports.
    name: Reports
  - description: >-
      Outbound business-event webhook subscriptions and delivery management for
      consumers (Midaz, client ledgers, Cabine — all optional).
    name: Webhooks
  - description: >-
      Administrative operations — hot-reloadable runtime configuration,
      dead-letter-queue inspection/replay, and outbox redispatch.
    name: Admin
paths:
  /v1/operations:
    post:
      tags:
        - Operations
      summary: Create a settlement operation
      description: >-
        Submits a single settlement operation for intake. Idempotent via the
        Idempotency-Key header. Field presence/type is validated against the
        schema (422); business-rule failures return coded 400/409/422
        problem+json.
      operationId: createOperation
      parameters:
        - description: >-
            Idempotency key for safe retries; a replay returns the stored
            response.
          in: header
          name: Idempotency-Key
          schema:
            description: >-
              Idempotency key for safe retries; a replay returns the stored
              response.
            type: string
        - description: Optional client request id echoed back in meta.requestId.
          in: header
          name: X-Request-Id
          schema:
            description: Optional client request id echoed back in meta.requestId.
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateOperationRequest'
        required: true
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateOperationResponse'
          description: Accepted
        '501':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: >-
            Not Implemented: this capability is not part of this deployment.
            Operations are registered unconditionally so the published contract
            is identical across deploy shapes; when the capability behind one
            did not compose here (authentication disabled, no database, no
            outbound transport, or the feature switched off) it answers this
            coded SLC-0012 problem. It is definitive for this deployment:
            retrying does not help, and the `detail` is deliberately scrubbed
            (any status >= 500 is).
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Detail'
          description: Error
components:
  schemas:
    CreateOperationRequest:
      additionalProperties: false
      properties:
        arrangementCode:
          description: Payment arrangement (arranjo) code.
          examples:
            - '0245'
          type: string
        authorizationCode:
          description: Card authorization code.
          examples:
            - A1B2C3
          type: string
        brandCode:
          description: 'Card brand code (catalog: Visa/Master/Elo).'
          examples:
            - VISA
          type: string
        creditorIspb:
          description: Creditor (acquirer) ISPB, 8 digits.
          examples:
            - '29011780'
          type: string
        currency:
          description: ISO 4217 currency code.
          examples:
            - BRL
          type: string
        domicileIfIspb:
          description: Domicile FI ISPB (bank where the merchant receives funds), 8 digits.
          examples:
            - '60701190'
          type: string
        dueDate:
          description: Settlement due date, date-only (YYYY-MM-DD).
          examples:
            - '2026-06-15'
          type: string
        establishmentCode:
          description: Merchant establishment (EC) code.
          examples:
            - EC-000123
          type: string
        externalId:
          description: >-
            Client-side unique identifier for the operation (idempotent external
            reference).
          examples:
            - acq-ext-2026-06-0001
          type: string
        installmentNumber:
          description: This installment's sequence number.
          examples:
            - 1
          format: int32
          type: integer
        installments:
          description: Total number of installments.
          examples:
            - 3
          format: int32
          type: integer
        intakeMode:
          description: Intake mode; defaults to api_jsonl when omitted.
          examples:
            - api_jsonl
          type: string
        metadata:
          additionalProperties: {}
          description: Free-form client metadata attached to the operation.
          type: object
        operationType:
          description: Operation type driving the settlement flow.
          examples:
            - CREDIT
          type: string
        originalOperationId:
          description: Id (UUID) of the operation a CANCELLATION targets.
          examples:
            - 018f8a3e-4b2c-7c1a-9e5d-2f6a1b3c4d5e
          type: string
        participantId:
          description: Participant id (UUID) that owns this operation.
          examples:
            - 018f8a3e-4b2c-7c1a-9e5d-2f6a1b3c4d5e
          type: string
        participantRole:
          description: Participant role in the settlement.
          examples:
            - ACQUIRER
          type: string
        pvCode:
          description: Merchant (PontoVenda) code.
          examples:
            - PV-000123
          type: string
        pvDocument:
          description: >-
            Merchant CPF/CNPJ document (regulated PII; never logged in the
            clear).
          examples:
            - '12345678000195'
          type: string
        pvName:
          description: Merchant (PontoVenda) legal/trade name.
          examples:
            - Loja Exemplo LTDA
          type: string
        pvPersonType:
          description: Merchant person type (natural or legal).
          examples:
            - J
          type: string
        reasonCategory:
          description: >-
            Numeric MotvCanc cancellation reason ('1'..'4'); required for
            operationType=CANCELLATION.
          examples:
            - '4'
          type: string
        settlementIfIspb:
          description: Settlement FI ISPB (moves reserves at the STR), 8 digits; optional.
          examples:
            - '60746948'
          type: string
        transactionDate:
          description: Business transaction date, date-only (YYYY-MM-DD).
          examples:
            - '2026-06-15'
          type: string
        value:
          description: Operation amount in minor units (centavos).
          examples:
            - 150000
          format: int64
          type: integer
      required:
        - externalId
        - operationType
        - creditorIspb
        - domicileIfIspb
        - value
        - installments
        - dueDate
        - transactionDate
        - participantId
        - participantRole
      type: object
    CreateOperationResponse:
      additionalProperties: false
      properties:
        externalId:
          description: Echoed client-side external identifier.
          examples:
            - acq-ext-2026-06-0001
          type: string
        id:
          description: Created operation id (UUID).
          examples:
            - 018f8a3e-4b2c-7c1a-9e5d-2f6a1b3c4d5e
          type: string
        meta:
          $ref: '#/components/schemas/CreateOperationMeta'
          description: Response envelope metadata (requestId + timestamp).
        state:
          description: Initial lifecycle state of the created operation.
          examples:
            - CREATED
          type: string
      required:
        - id
        - state
        - externalId
        - meta
      type: object
    Detail:
      additionalProperties: false
      properties:
        code:
          description: >-
            Stable, machine-readable domain error code scoped to the emitting
            service (format: <SERVICE>-NNNN).
          examples:
            - ERR-0001
          type: string
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    CreateOperationMeta:
      additionalProperties: false
      properties:
        requestId:
          description: Client request id echoed back from the X-Request-Id header.
          examples:
            - req-2026-06-15-abc123
          type: string
        timestamp:
          description: Response generation timestamp (RFC3339).
          examples:
            - '2026-06-15T10:50:00Z'
          type: string
      required:
        - requestId
        - timestamp
      type: object
    ErrorDetail:
      additionalProperties: false
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      description: JWT bearer token issued by the identity provider.
      scheme: bearer
      type: http

````