Pix Avulso

Github Gist com a especificação das rotas de Pix Avulso em OpenAPI v2.

definitions:
  ChargePayerResponse:
    properties:
      name:
        example: Fulano de Tal
        type: string
      tax_id:
        example: 123.456.789-00
        type: string
    required:
    - name
    - tax_id
    type: object
  ChargeResponse:
    properties:
      amount:
        example: 1000
        type: integer
      base64image:
        example: iVBORw0KGgoAAAANSUhEUgAAASwAAAEsAQMAAADZQYVBAAAABlBMVEUAAAD///+l2Z/dAAAACXBIWXMAAAsTAAALEwEAmpwYAAABGklEQVRoge3XQQrCQBBA0a9sHjvPzjN1EJpKkqQh7n5mLhC8u+9mM2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZtOZs2bMZvP4H8A1e5n6cAAAAASUVORK5CYII=
        type: string
      emvqrcps:
        example: 00020101021226880014br.gov.bcb.pix0136aabbccddeeff001122334455667788990002BR5909Fulano
          de Tal6009Sao Paulo61080540900062070503***6304ABCD
        type: string
      external_id:
        example: ext123
        type: string
      id:
        example: 1
        type: integer
      key:
        example: 123e4567-e89b-12d3-a456-426614174000,12345678901,12345678901000,[email protected],+5511999999999
        type: string
      payer:
        $ref: '#/definitions/ChargePayerResponse'
      status:
        enum:
        - PENDING
        - APPROVED
        - EXPIRED
        - RETURNED
        example: PENDING,APPROVED,EXPIRED,RETURNED
        type: string
      transaction_identification:
        example: tx123
        type: string
    required:
    - amount
    - base64image
    - emvqrcps
    - external_id
    - key
    - status
    type: object
  CheckResult:
    properties:
      duration:
        example: 100ms
        type: string
      error:
        type: string
      status:
        allOf:
        - $ref: '#/definitions/HealthStatus'
        enum:
        - healthy
        - degraded
        - unhealthy
    required:
    - duration
    - status
    type: object
  CreateChargeRequest:
    properties:
      amount:
        description: Amount in cents
        type: integer
      externalId:
        example: ext123
        type: string
      key:
        example: 123e4567-e89b-12d3-a456-426614174000,12345678901,12345678901000,[email protected],+5511999999999
        maxLength: 77
        minLength: 1
        type: string
      payer:
        allOf:
        - $ref: '#/definitions/CreateChargeRequestPayer'
        description: Optional payer information
    required:
    - amount
    - key
    type: object
  CreateChargeRequestPayer:
    properties:
      name:
        example: Fulano de Tal
        type: string
      tax_id:
        example: 123.456.789-00
        type: string
    required:
    - name
    - tax_id
    type: object
  ErrorInfo:
    properties:
      code:
        description: Example error code
        example: ERR001
        type: string
      message:
        description: Example error message
        example: An error occurred
        type: string
    type: object
  HealthResponse:
    properties:
      checks:
        additionalProperties:
          $ref: '#/definitions/CheckResult'
        type: object
      duration:
        example: 100ms
        type: string
      status:
        allOf:
        - $ref: '#/definitions/HealthStatus'
        enum:
        - healthy
        - degraded
        - unhealthy
      system:
        $ref: '#/definitions/SystemInfo'
      timestamp:
        example: "2024-01-01T00:00:00Z"
        type: string
    required:
    - checks
    - duration
    - status
    - timestamp
    type: object
  HealthStatus:
    enum:
    - healthy
    - degraded
    - unhealthy
    type: string
    x-enum-varnames:
    - HealthStatusHealthy
    - HealthStatusDegraded
    - HealthStatusUnhealthy
  HolderBalanceResponse:
    properties:
      able_to_deposit:
        type: boolean
      able_to_lend:
        type: boolean
      able_to_withdraw:
        type: boolean
      available_funds:
        example: 8000
        type: integer
      current_funds:
        example: 10000
        type: integer
      last_modified:
        example: "2024-01-01T12:00:00Z"
        type: string
    required:
    - able_to_deposit
    - able_to_lend
    - able_to_withdraw
    - available_funds
    - current_funds
    - last_modified
    type: object
  InitiatePixWithAccountDetailsRequest:
    properties:
      amount:
        description: Amount in cents
        type: integer
      creditParty:
        allOf:
        - $ref: '#/definitions/TransferParty'
        description: Credit party details
      externalId:
        description: Unique ID for idempotency
        example: my_external_id
        maxLength: 255
        type: string
    required:
    - amount
    - creditParty
    type: object
  InitiatePixWithKeyRequest:
    properties:
      amount:
        description: Amount in cents
        type: integer
      externalId:
        description: Unique ID for idempotency
        example: my_external_id
        maxLength: 255
        type: string
      key:
        description: Pix key for the credit party
        example: 123e4567-e89b-12d3-a456-426614174000,12345678901,12345678901000,[email protected],+5511999999999
        type: string
      keyType:
        description: Type of the Pix key
        enum:
        - CPF
        - EMAIL
        - PHONE
        - EVP
        example: EVP,CPF,CNPJ,EMAIL,PHONE
        type: string
    required:
    - amount
    - key
    - keyType
    type: object
  InitiatePixWithQRCodeRequest:
    properties:
      amount:
        description: Amount in cents
        type: integer
      emv:
        description: EMV data for the QR code
        example: 00020101021226880014br.gov.bcb.pix0136aabbccddeeff001122334455667788990002BR5909Fulano
          de Tal6009Sao Paulo61080540900062070503***6304ABCD
        type: string
      externalId:
        description: Unique ID for idempotency
        example: my_external_id
        maxLength: 255
        type: string
    required:
    - amount
    - emv
    type: object
  Meta:
    properties:
      request_id:
        description: Example request ID
        example: "12345"
        type: string
      timestamp:
        description: Example timestamp
        example: "2024-01-01T12:00:00Z"
        type: string
      version:
        description: Example version
        example: "1.0"
        type: string
    type: object
  PaginatedResponse-ChargeResponse:
    properties:
      data:
        description: Example data array
        items:
          $ref: '#/definitions/ChargeResponse'
        type: array
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      pagination:
        allOf:
        - $ref: '#/definitions/Pagination'
        description: Example pagination
      success:
        example: true
        type: boolean
    type: object
  PaginatedResponse-api_PixResponse:
    properties:
      data:
        description: Example data array
        items:
          $ref: '#/definitions/PixResponse'
        type: array
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      pagination:
        allOf:
        - $ref: '#/definitions/Pagination'
        description: Example pagination
      success:
        example: true
        type: boolean
    type: object
  PaginatedResponse-api_TransactionResponse:
    properties:
      data:
        description: Example data array
        items:
          $ref: '#/definitions/TransactionResponse'
        type: array
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      pagination:
        allOf:
        - $ref: '#/definitions/Pagination'
        description: Example pagination
      success:
        example: true
        type: boolean
    type: object
  Pagination:
    properties:
      has_next:
        example: true
        type: boolean
      has_prev:
        example: false
        type: boolean
      page:
        example: 1
        type: integer
      page_size:
        example: 10
        type: integer
      total_items:
        example: 100
        type: integer
      total_pages:
        example: 10
        type: integer
    type: object
  PixResponse:
    properties:
      amount:
        description: Amount in cents
        example: 1000
        type: integer
      createTimestamp:
        description: Timestamp of transfer creation
        example: "2024-01-01T00:00:00Z"
        type: string
      creditParty:
        allOf:
        - $ref: '#/definitions/TransferParty'
        description: Credit party details
      debitParty:
        allOf:
        - $ref: '#/definitions/TransferParty'
        description: Debit party details
      endToEndId:
        description: Unique identifier for the transfer across systems
        example: E318188732025073114206r8iSU2Swrt
        type: string
      externalId:
        description: Unique ID for idempotency
        example: my_external_id
        type: string
      id:
        description: Unique identifier for the transfer
        example: 12345
        type: integer
      impactType:
        description: IN for credit transfers, OUT for debit transfers
        enum:
        - IN
        - OUT
        type: string
      lastModified:
        description: Timestamp of last modification
        example: "2024-01-01T00:00:00Z"
        type: string
      status:
        description: Current status of the transfer
        enum:
        - PROCESSING
        - CONFIRMED
        - ERROR
        - CANCELLED
        - RETURNED
        type: string
      transactionIdentification:
        description: Transaction ID for QR code transfers
        example: tx123456789012345678901234567890123
        maxLength: 35
        minLength: 1
        type: string
    required:
    - amount
    - createTimestamp
    - creditParty
    - debitParty
    - endToEndId
    - id
    - impactType
    - lastModified
    - status
    type: object
  Response-PixResponse:
    properties:
      data:
        $ref: '#/definitions/PixResponse'
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      success:
        example: true
        type: boolean
    type: object
  Response-any:
    properties:
      data: {}
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      success:
        example: true
        type: boolean
    type: object
  Response-api_HolderBalanceResponse:
    properties:
      data:
        $ref: '#/definitions/HolderBalanceResponse'
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      success:
        example: true
        type: boolean
    type: object
  Response-charge_ChargeResponse:
    properties:
      data:
        $ref: '#/definitions/ChargeResponse'
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      success:
        example: true
        type: boolean
    type: object
  Response-http_HealthResponse:
    properties:
      data:
        $ref: '#/definitions/HealthResponse'
      error:
        allOf:
        - $ref: '#/definitions/ErrorInfo'
        description: Example error information
      meta:
        allOf:
        - $ref: '#/definitions/Meta'
        description: Example metadata
      success:
        example: true
        type: boolean
    type: object
  SystemInfo:
    properties:
      go_version:
        example: go1.20
        type: string
      mem_alloc_mb:
        example: 50
        type: integer
      mem_sys_mb:
        example: 150
        type: integer
      mem_total_mb:
        example: 100
        type: integer
      num_cpu:
        example: 4
        type: integer
      num_gc:
        example: 5
        type: integer
      num_goroutine:
        example: 10
        type: integer
      uptime:
        example: 1h30m
        type: string
      version:
        example: 1.0.0
        type: string
    required:
    - go_version
    - mem_alloc_mb
    - mem_sys_mb
    - mem_total_mb
    - num_cpu
    - num_gc
    - num_goroutine
    - uptime
    type: object
  TransactionResponse:
    properties:
      amount:
        example: 10000
        type: integer
      create_timestamp:
        example: "2024-01-01T12:00:00Z"
        type: string
      id:
        example: 12345
        type: integer
      impact_type:
        example: IN,OUT
        type: string
      last_modified:
        example: "2024-01-01T12:00:00Z"
        type: string
    required:
    - amount
    - create_timestamp
    - id
    - impact_type
    - last_modified
    type: object
  TransferParty:
    properties:
      account_number:
        example: "12345678"
        maxLength: 20
        minLength: 1
        type: string
      account_type:
        enum:
        - CHECKING
        - SAVINGS
        - SALARY
        - TRANSACTIONAL
        example: CHECKING,SAVINGS,SALARY,TRANSACTIONAL
        type: string
      bank:
        example: Bank Name
        maxLength: 255
        minLength: 1
        type: string
      branch:
        example: "0001"
        maxLength: 4
        minLength: 1
        type: string
      ispb:
        example: "12345678"
        type: string
      key:
        example: 123e4567-e89b-12d3-a456-426614174000,12345678901,12345678901000,[email protected],+5511999999999
        type: string
      key_type:
        enum:
        - CPF
        - CNPJ
        - PHONE
        - EMAIL
        - EVP
        example: EVP,CPF,CNPJ,EMAIL,PHONE
        type: string
      name:
        example: John Doe
        maxLength: 255
        minLength: 1
        type: string
      tax_id:
        example: "12345678901"
        maxLength: 14
        minLength: 11
        type: string
    required:
    - account_number
    - account_type
    - branch
    - ispb
    - name
    - tax_id
    type: object
host: api.qesh.ai
info:
  contact:
    email: [email protected]
    name: Qesh Technology
  description: This is the ingress service to communicate with the Connect Engine
    and expose the API for clients.
  title: Pix Connect Ingress
  version: "1.0"
paths:
  /v1/connect/charge:
    post:
      consumes:
      - application/json
      description: Creates a new charge based on the provided details
      operationId: create_charge
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Transfer data
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/CreateChargeRequest'
      - description: Add returned QRCode png in base64 format to the response
        in: query
        name: base64
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-charge_ChargeResponse'
            - properties:
                data:
                  $ref: '#/definitions/ChargeResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Create a Charge
      tags:
      - Charge
  /v1/connect/charge/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves a charge by its ID
      operationId: get_charge_by_id
      parameters:
      - description: Charge ID
        in: path
        name: id
        required: true
        type: integer
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Add returned QRCode png in base64 format to the response
        in: query
        name: base64
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-charge_ChargeResponse'
            - properties:
                data:
                  $ref: '#/definitions/ChargeResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Charge by ID
      tags:
      - Charge
  /v1/connect/charge/external-id/{externalId}:
    get:
      consumes:
      - application/json
      description: Retrieves a charge by its External ID
      operationId: get_charge_by_external_id
      parameters:
      - description: Charge External ID
        in: path
        name: externalId
        required: true
        type: string
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Add returned QRCode png in base64 format to the response
        in: query
        name: base64
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-charge_ChargeResponse'
            - properties:
                data:
                  $ref: '#/definitions/ChargeResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Charge by External ID
      tags:
      - Charge
  /v1/connect/charge/list:
    get:
      consumes:
      - application/json
      description: Retrieves a list of charges associated with a specific holder
      operationId: list_charges_by_holder
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - default: 1
        description: Page number
        in: query
        name: page
        type: integer
      - default: 10
        description: Page size
        in: query
        name: pageSize
        type: integer
      - description: Initial date in RFC3339 format
        in: query
        name: initialDate
        type: string
      - description: Final date in RFC3339 format
        in: query
        name: finalDate
        type: string
      - default: PENDING
        description: Charge status filter
        enum:
        - PENDING
        - APPROVED
        - EXPIRED
        - RETURNED
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/PaginatedResponse-ChargeResponse'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/ChargeResponse'
                  type: array
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Fetch charge history for a holder
      tags:
      - Charge
  /v1/connect/charge/txid/{txid}:
    get:
      consumes:
      - application/json
      description: Retrieves a charge by its TXID
      operationId: get_charge_by_txid
      parameters:
      - description: Charge TXID
        in: path
        name: txid
        required: true
        type: string
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Add returned QRCode png in base64 format to the response
        in: query
        name: base64
        type: boolean
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-charge_ChargeResponse'
            - properties:
                data:
                  $ref: '#/definitions/ChargeResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Charge by TXID
      tags:
      - Charge
  /v1/connect/health:
    get:
      consumes:
      - application/json
      description: Returns OK if the service is healthy
      operationId: health-check
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-http_HealthResponse'
            - properties:
                data:
                  $ref: '#/definitions/HealthResponse'
              type: object
      summary: Health Check
      tags:
      - Health
  /v1/connect/ledger/balance:
    get:
      consumes:
      - application/json
      description: Retrieve the current balance, including available and current funds,
        for the authenticated holder
      operationId: retrieve_current_balance
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-api_HolderBalanceResponse'
            - properties:
                data:
                  $ref: '#/definitions/HolderBalanceResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Retrieves the current balance for a holder
      tags:
      - ledger
  /v1/connect/ledger/list:
    get:
      consumes:
      - application/json
      description: Retrieves a list of transactions associated with a specific holder
      operationId: list_transactions_by_holder
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - default: 1
        description: Page number
        in: query
        name: page
        type: integer
      - default: 10
        description: Page size
        in: query
        name: pageSize
        type: integer
      - description: Initial date in RFC3339 format
        in: query
        name: initialDate
        type: string
      - description: Final date in RFC3339 format
        in: query
        name: finalDate
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/PaginatedResponse-api_TransactionResponse'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/TransactionResponse'
                  type: array
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Fetch transaction history for a holder
      tags:
      - ledger
  /v1/connect/transfer/{endToEndId}:
    get:
      consumes:
      - application/json
      description: Retrieves a transfer by its End-to-End ID
      operationId: get_transfer_by_end_to_end_id
      parameters:
      - description: Transfer End-to-End ID
        in: path
        name: endToEndId
        required: true
        type: string
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Transfer by End-to-End ID
      tags:
      - Transfer
  /v1/connect/transfer/{externalId}:
    get:
      consumes:
      - application/json
      description: Retrieves a transfer by its external ID
      operationId: get_transfer_by_external_id
      parameters:
      - description: Transfer External ID
        in: path
        name: externalId
        required: true
        type: string
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Transfer by external ID
      tags:
      - Transfer
  /v1/connect/transfer/{id}:
    get:
      consumes:
      - application/json
      description: Retrieves a transfer by its ID
      operationId: get_transfer_by_id
      parameters:
      - description: Transfer ID
        in: path
        name: id
        required: true
        type: string
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Get a Transfer by ID
      tags:
      - Transfer
  /v1/connect/transfer/key:
    post:
      consumes:
      - application/json
      description: Initiates a Pix transfer using a valid Pix key for the credit party
      operationId: initiate_pix_with_key
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Transfer data
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/InitiatePixWithKeyRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Initiate a Pix Transfer with valid Key
      tags:
      - Transfer
  /v1/connect/transfer/list:
    get:
      consumes:
      - application/json
      description: Retrieves a list of transfers associated with a specific holder
      operationId: list_transfers_by_holder
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - default: 1
        description: Page number
        in: query
        name: page
        type: integer
      - default: 10
        description: Page size
        in: query
        name: pageSize
        type: integer
      - description: Initial date in RFC3339 format
        in: query
        name: initialDate
        type: string
      - description: Final date in RFC3339 format
        in: query
        name: finalDate
        type: string
      - default: CONFIRMED
        description: Transfer status filter
        enum:
        - CONFIRMED
        - PROCESSING
        - CANCELLED
        - RETURNED
        in: query
        name: status
        type: string
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/PaginatedResponse-api_PixResponse'
            - properties:
                data:
                  items:
                    $ref: '#/definitions/PixResponse'
                  type: array
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Fetch transfer history for a holder
      tags:
      - Transfer
  /v1/connect/transfer/manual:
    post:
      consumes:
      - application/json
      description: Initiates a Pix transfer using a valid Pix account details for
        the credit party
      operationId: initiate_pix_with_account_details
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Transfer data
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/InitiatePixWithAccountDetailsRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Initiate a Pix Transfer with account details
      tags:
      - Transfer
  /v1/connect/transfer/qrcode:
    post:
      consumes:
      - application/json
      description: Initiates a Pix transfer using a valid Pix QRCode for the credit
        party
      operationId: initiate_pix_with_qrcode
      parameters:
      - description: Bearer token for authentication
        in: header
        name: Authorization
        required: true
        type: string
      - description: Transfer data
        in: body
        name: payload
        required: true
        schema:
          $ref: '#/definitions/InitiatePixWithQRCodeRequest'
      produces:
      - application/json
      responses:
        "200":
          description: OK
          schema:
            allOf:
            - $ref: '#/definitions/Response-PixResponse'
            - properties:
                data:
                  $ref: '#/definitions/PixResponse'
              type: object
        "400":
          description: Bad Request
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "422":
          description: Unprocessable Entity
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
        "503":
          description: Service Unavailable
          schema:
            allOf:
            - $ref: '#/definitions/Response-any'
            - properties:
                error:
                  $ref: '#/definitions/ErrorInfo'
              type: object
      summary: Initiate a Pix Transfer with valid QRCode
      tags:
      - Transfer
securityDefinitions:
  BearerAuth:
    type: basic
swagger: "2.0"