Clarafintech Accounts Payable API

Create, cancel, and track Pix payments from the Clara digital account. Brazil only.

Operations 4

POST /api/v3/accounts-payable/pix Create a Pix payment #
DELETE /api/v3/accounts-payable/pix/{externalId} Cancel a scheduled Pix payment #
GET /api/v3/accounts-payable/{externalId} Get a Pix payment #
GET /api/v3/accounts-payable List Pix payments #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/clarafintech:clarafintech-accounts-payable-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

clarafintech-accounts-payable-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clara Accounts Payable API
  summary: Corporate card and spend management API for Mexico, Brazil, and Colombia.
  description: Use the Clara API to manage corporate cards, retrieve transactions, provision users, reconcile billing statements, download transaction documents, and automate spend-management workflows. Every API request requires both mutual TLS and an OAuth 2.0 Bearer token. This docs-published schema is derived from the current Clara developer documentation and should be checked against backend-owned API contracts before being treated as exhaustive.
  version: 3.0.0
  contact:
    name: Clara Integration Support
    email: integration.support.mx@clara.team
    url: https://developers.clara.team
servers:
- url: https://public-api.mx.clara.com
  description: Mexico production
- url: https://public-api.br.clara.com
  description: Brazil production
- url: https://public-api.co.clara.com
  description: Colombia production
- url: https://public-api.mx.clara.com/api-test
  description: Mexico sandbox. Use the same paths without the leading /api segment when testing, for example /v3/transactions.
- url: https://public-api.br.clara.com/api-test
  description: Brazil sandbox. Use the same paths without the leading /api segment when testing, for example /v3/transactions.
- url: https://public-api.co.clara.com/api-test
  description: Colombia sandbox. Use the same paths without the leading /api segment when testing, for example /v3/transactions.
security:
- MutualTLS: []
  BearerAuth: []
tags:
- name: Accounts Payable
  description: Create, cancel, and track Pix payments from the Clara digital account. Brazil only.
paths:
  /api/v3/accounts-payable/pix:
    post:
      operationId: createPixPaymentV3
      summary: Create a Pix payment
      description: 'Accept a Pix payment for asynchronous processing. The destination is inferred from the populated fields: paymentMethod.dictKey + dictKeyType for a Pix key, paymentMethod.qrCode for a QR, or a complete beneficiary with neither for bank details. A 202 means accepted, not paid: poll GET /api/v3/accounts-payable/{externalId} for the outcome. Requires the write:accounts-payable/pix grant. Brazil only.'
      tags:
      - Accounts Payable
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreatePixPaymentRequestV3'
            examples:
              pixKey:
                summary: Pix key, immediate
                value:
                  externalId: a0c82a20-ac09-4cfd-b429-d0623585911e
                  amount: 520.5
                  description: Invoice 2026-04 settlement
                  paymentMethod:
                    type: PIX
                    dictKey: maria.silva@example.com
                    dictKeyType: EMAIL
                  beneficiary:
                    documentNumber: '12345678901'
              qrCode:
                summary: QR code, immediate (amount defined by the QR)
                value:
                  externalId: 7c2e4a18-9d6b-4f35-a1c8-0e5b3d9f6a27
                  description: Supplier QR, amount defined by the QR
                  paymentMethod:
                    type: PIX
                    qrCode: 00020126580014br.gov.bcb.pix0136maria.silva@example.com5204000053039865802BR6009SAO PAULO62070503***6304ABCD
              bankDetails:
                summary: Bank details, immediate
                value:
                  externalId: e91c07d4-2b58-4a6f-8d13-5c7e9a2b6f80
                  amount: 3450.75
                  description: Contractor payment
                  paymentMethod:
                    type: PIX
                  beneficiary:
                    name: Maria Silva
                    documentNumber: '12345678901'
                    bank: '60701190'
                    bankName: Itau Unibanco S.A.
                    accountType: CACC
                    accountNumber: '123456'
                    branch: '0001'
              scheduled:
                summary: Pix key, scheduled
                value:
                  externalId: 3f1d9b6e-5c47-4a2b-8f0d-1b7a9c5e2d34
                  amount: 1200
                  description: Rent, October
                  paymentMethod:
                    type: PIX
                    dictKey: '12345678901'
                    dictKeyType: CPF
                    desiredPaymentDate: '2026-10-01'
      responses:
        '202':
          description: Payment accepted for processing. Not a settlement confirmation.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixPaymentAcceptedV3'
        '400':
          description: 'INVALID_REQUEST: two destinations or none, a missing amount on a Pix-key or bank-details payment, an incomplete beneficiary, or a scheduled date before D+1.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '409':
          description: 'Balance or Pix-limit pre-check rejected the payment: INSUFFICIENT_FUNDS or LIMIT_EXCEEDED.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded. Answered by the gateway with no body; X-RateLimit-Remaining, X-RateLimit-Replenish-Rate, X-RateLimit-Burst-Capacity, and X-RateLimit-Requested-Tokens carry the quota state. No Retry-After is returned.
        '503':
          description: The payment service could not be reached or answered outside its contract. Retry later, then poll the payment by externalId before submitting it again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v3/accounts-payable/pix/{externalId}:
    delete:
      operationId: cancelPixPaymentV3
      summary: Cancel a scheduled Pix payment
      description: Cancel a scheduled Pix payment that has not started executing. A cancellation can lose a race against execution, in which case it is rejected with NOT_CANCELLABLE. Requires the write:accounts-payable/pix grant. Brazil only.
      tags:
      - Accounts Payable
      parameters:
      - name: externalId
        in: path
        required: true
        description: Customer-supplied payment identifier.
        schema:
          type: string
          format: uuid
      responses:
        '204':
          description: Cancellation accepted.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          description: 'NOT_FOUND: no payment with that externalId in the authenticated company.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: NOT_CANCELLABLE (not scheduled, or execution already started) or ALREADY_CANCELLED.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded. Answered by the gateway with no body; X-RateLimit-Remaining, X-RateLimit-Replenish-Rate, X-RateLimit-Burst-Capacity, and X-RateLimit-Requested-Tokens carry the quota state. No Retry-After is returned.
        '503':
          description: The payment service could not be reached or answered outside its contract. Retry later, then poll the payment by externalId before submitting it again.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /api/v3/accounts-payable/{externalId}:
    get:
      operationId: getAccountsPayablePaymentV3
      summary: Get a Pix payment
      description: Retrieve a Pix payment by its externalId. Poll this endpoint to observe the outcome of a created payment; PAID, FAILED, and CANCELLED are terminal and reached within 3 hours at worst. Requires the read:digital-account grant. Brazil only.
      tags:
      - Accounts Payable
      parameters:
      - name: externalId
        in: path
        required: true
        description: Customer-supplied payment identifier.
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: The payment.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixPaymentV3'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          description: Rate limit exceeded. Answered by the gateway with no body; X-RateLimit-Remaining, X-RateLimit-Replenish-Rate, X-RateLimit-Burst-Capacity, and X-RateLimit-Requested-Tokens carry the quota state. No Retry-After is returned.
  /api/v3/accounts-payable:
    get:
      operationId: listAccountsPayablePaymentsV3
      summary: List Pix payments
      description: List Pix payments with optional filters. Dates are YYYY-MM-DD in America/Sao_Paulo with inclusive bounds. Requires the read:digital-account grant. Brazil only.
      tags:
      - Accounts Payable
      parameters:
      - name: page
        in: query
        description: Zero-based page index.
        schema:
          type: integer
          minimum: 0
          default: 0
      - name: size
        in: query
        description: Page size.
        schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 20
      - name: externalId
        in: query
        description: Exact match.
        schema:
          type: string
          format: uuid
      - name: status
        in: query
        description: 'Repeatable: pass it more than once to match several statuses.'
        schema:
          type: array
          items:
            type: string
            enum:
            - IN_PROCESS
            - SCHEDULED
            - PAID
            - FAILED
            - CANCELLED
        style: form
        explode: true
      - name: minAmount
        in: query
        description: Minimum amount.
        schema:
          type: number
          format: decimal
      - name: maxAmount
        in: query
        description: Maximum amount.
        schema:
          type: number
          format: decimal
      - name: createdFrom
        in: query
        description: Creation date range start.
        schema:
          type: string
          format: date
      - name: createdTo
        in: query
        description: Creation date range end.
        schema:
          type: string
          format: date
      - name: paidFrom
        in: query
        description: Settlement date range start. Matches PAID payments only.
        schema:
          type: string
          format: date
      - name: paidTo
        in: query
        description: Settlement date range end. Matches PAID payments only.
        schema:
          type: string
          format: date
      - name: beneficiaryName
        in: query
        description: Case-insensitive substring match.
        schema:
          type: string
      - name: beneficiaryDocumentNumber
        in: query
        description: Case-insensitive substring match.
        schema:
          type: string
      - name: sort
        in: query
        description: 'One sort key as "<field>,<direction>". Fields: creationDate, amount, status. Direction: asc or desc. paymentDate is not sortable.'
        schema:
          type: string
          default: creationDate,desc
          example: creationDate,desc
      responses:
        '200':
          description: Paginated Pix payments.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PixPaymentPageV3'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          description: Rate limit exceeded. Answered by the gateway with no body; X-RateLimit-Remaining, X-RateLimit-Replenish-Rate, X-RateLimit-Burst-Capacity, and X-RateLimit-Requested-Tokens carry the quota state. No Retry-After is returned.
components:
  schemas:
    PixPaymentPageV3:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PixPaymentV3'
        page:
          type: integer
          description: Zero-based page index.
          example: 0
        size:
          type: integer
          example: 20
        totalElements:
          type: integer
          example: 1
        totalPages:
          type: integer
          example: 1
    PixPaymentAcceptedV3:
      type: object
      description: 'Acknowledgement that the payment was accepted for processing. Not a settlement confirmation: poll the payment for its outcome.'
      properties:
        externalId:
          type: string
          format: uuid
          example: a0c82a20-ac09-4cfd-b429-d0623585911e
        status:
          type: string
          enum:
          - IN_PROCESS
          example: IN_PROCESS
        amount:
          type:
          - number
          - 'null'
          format: decimal
          description: Null while an amount-less QR is being resolved.
          example: 520.5
        paymentMethod:
          type: string
          enum:
          - PIX
          example: PIX
    CreatePixPaymentRequestV3:
      type: object
      required:
      - externalId
      - paymentMethod
      properties:
        externalId:
          type: string
          format: uuid
          description: Customer-generated payment identifier and company-scoped idempotency key. Re-sending the same value answers 202 without creating a second payment.
          example: a0c82a20-ac09-4cfd-b429-d0623585911e
        amount:
          type: number
          format: decimal
          description: Amount in BRL, greater than zero, at most 2 decimals. Required for Pix-key and bank-details payments; optional for a QR payment whose QR defines the amount.
          example: 520.5
        description:
          type: string
          maxLength: 140
          description: Free-text description of the payment.
          example: Invoice 2026-04 settlement
        paymentMethod:
          $ref: '#/components/schemas/PixPaymentMethodV3'
        beneficiary:
          $ref: '#/components/schemas/PixBeneficiaryRequestV3'
    ErrorResponse:
      type: object
      required:
      - message
      properties:
        code:
          type: string
          description: Machine-readable Clara or HTTP error code when available.
        message:
          type: string
          description: Human-readable error message.
        timestamp:
          type: string
          format: date-time
        details:
          type: array
          items:
            type: object
            additionalProperties: true
      additionalProperties: true
    PixBeneficiaryRequestV3:
      type: object
      description: Beneficiary. Optional owner assertion for a Pix-key or QR payment, where only documentNumber is evaluated; required in full for a bank-details payment, where it is the destination.
      properties:
        name:
          type: string
          description: Beneficiary name. Required for a bank-details payment.
          example: Maria Silva
        documentNumber:
          type: string
          description: Beneficiary CPF or CNPJ, digits only. Optional owner assertion for a Pix-key or QR payment; required for a bank-details payment.
          example: '12345678901'
        bank:
          type: string
          description: Beneficiary institution ISPB or bank code. Required for a bank-details payment.
          example: '60701190'
        bankName:
          type: string
          description: Beneficiary institution name. Required for a bank-details payment.
          example: Itau Unibanco S.A.
        accountType:
          type: string
          description: 'ISO 20022 account type: CACC (checking/current), SVGS (savings), TRAN (payment account), SLRY (salary). Required for a bank-details payment.'
          example: CACC
          enum:
          - CACC
          - SVGS
          - TRAN
          - SLRY
        accountNumber:
          type: string
          description: Beneficiary account number. Required for a bank-details payment.
          example: '123456'
        branch:
          type: string
          description: Beneficiary branch number. Required for a bank-details payment.
          example: '0001'
    PixBeneficiaryV3:
      type: object
      description: Beneficiary as resolved by payment execution. Null until the destination is resolved.
      properties:
        name:
          type: string
          description: Beneficiary name.
          example: Maria Silva
        documentNumber:
          type: string
          description: Beneficiary CPF or CNPJ, digits only.
          example: '12345678901'
        bank:
          type: string
          description: Beneficiary institution ISPB or bank code.
          example: '60701190'
        bankName:
          type: string
          description: Beneficiary institution name.
          example: Itau Unibanco S.A.
        accountType:
          type: string
          description: 'ISO 20022 account type: CACC (checking/current), SVGS (savings), TRAN (payment account), SLRY (salary).'
          example: CACC
          enum:
          - CACC
          - SVGS
          - TRAN
          - SLRY
        accountNumber:
          type: string
          description: Beneficiary account number.
          example: '123456'
        branch:
          type: string
          description: Beneficiary branch number.
          example: '0001'
    PixPaymentErrorV3:
      type: object
      description: Failure detail of a FAILED payment. Integrate against code; message is informational, may be reworded without a version change, and is English-only at launch.
      properties:
        code:
          type: string
          enum:
          - AMOUNT_REQUIRED
          - AMOUNT_MISMATCH
          - BENEFICIARY_MISMATCH
          - QR_INVALID
          - QR_EXPIRED
          - QR_NOT_FOUND
          - PIX_KEY_INVALID
          - PIX_KEY_NOT_FOUND
          - BENEFICIARY_ACCOUNT_ERROR
          - PAYMENT_DATA_INVALID
          - INSUFFICIENT_FUNDS
          - LIMIT_EXCEEDED
          - PAYMENT_NOT_ALLOWED
          - PAYMENT_REJECTED
          - SETTLEMENT_FAILED
          - PROVIDER_UNAVAILABLE
          - NOT_SCHEDULABLE
          - SCHEDULE_DATE_INVALID
          - SCHEDULE_FAILED
          - PROCESSING_TIMEOUT
          - PAYMENT_FAILED
          example: INSUFFICIENT_FUNDS
        message:
          type: string
          example: The account balance is insufficient to complete the payment.
    PixPaymentMethodV3:
      type: object
      required:
      - type
      description: 'Pix payment method. The destination is inferred from which fields are populated: dictKey for a Pix key, qrCode for a QR, neither for bank details.'
      properties:
        type:
          type: string
          enum:
          - PIX
          example: PIX
        dictKey:
          type: string
          description: Beneficiary Pix (DICT) key. Mutually exclusive with qrCode.
          example: maria.silva@example.com
        dictKeyType:
          type: string
          enum:
          - CPF
          - CNPJ
          - EMAIL
          - PHONE
          - EVP
          description: 'Type of the Pix key. Required whenever dictKey is sent: CPF and CNPJ keys are both digit strings and cannot be told apart from the value.'
          example: EMAIL
        qrCode:
          type: string
          description: EMV copy-and-paste string of a static or dynamic Pix QR. Mutually exclusive with dictKey. Its amount, expiry, and schedulability are resolved asynchronously and surface through polling.
          example: 00020126580014br.gov.bcb.pix0136maria.silva@example.com5204000053039865802BR6009SAO PAULO62070503***6304ABCD
        desiredPaymentDate:
          type: string
          format: date
          description: Scheduled execution date (YYYY-MM-DD, America/Sao_Paulo). Minimum D+1; omit to pay immediately. A dynamic immediate (cob) QR cannot be scheduled.
          example: '2026-10-01'
    PixPaymentV3:
      type: object
      properties:
        externalId:
          type: string
          format: uuid
          description: Customer-supplied payment identifier, unique within the company.
          example: a0c82a20-ac09-4cfd-b429-d0623585911e
        status:
          type: string
          enum:
          - IN_PROCESS
          - SCHEDULED
          - PAID
          - FAILED
          - CANCELLED
          description: PAID, FAILED, and CANCELLED are terminal. A payment reaches a terminal status within 3 hours at worst. A refunded payment remains PAID.
          example: PAID
        amount:
          type:
          - number
          - 'null'
          format: decimal
          description: Null while an amount-less QR is being resolved.
          example: 520.5
        currencyCode:
          type: string
          enum:
          - BRL
          example: BRL
        paymentMethod:
          type: string
          enum:
          - PIX
          example: PIX
        description:
          type: string
          example: Invoice 2026-04 settlement
        beneficiary:
          $ref: '#/components/schemas/PixBeneficiaryV3'
        pixEndToEndId:
          type: string
          description: Pix end-to-end identifier, available once the payment has settled.
          example: E6070119020260901120000000000001
        error:
          $ref: '#/components/schemas/PixPaymentErrorV3'
        creationDate:
          type: string
          format: date-time
          example: '2026-09-01T12:00:00Z'
        paymentDate:
          type: string
          format: date
          description: Settlement date. Filterable through paidFrom/paidTo but not sortable.
          example: '2026-09-01'
  responses:
    Forbidden:
      description: Forbidden. The token is valid but lacks permission for this resource.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized. Refresh the token or verify mTLS certificate configuration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequest:
      description: Bad request. Fix invalid parameters or missing fields before retrying.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    MutualTLS:
      type: mutualTLS
      description: All API requests require a valid Clara-issued X.509 client certificate.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: OAuth 2.0 Bearer token from /oauth/token.
    BasicAuth:
      type: http
      scheme: basic
      description: Use CLIENT_ID:CLIENT_SECRET when requesting an access token.
externalDocs:
  description: Clara API documentation
  url: https://developers.clara.team
x-source: Derived from the developers.clara.team documentation in this repository. Replace with the backend-owned OpenAPI contract if one is available.