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: 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.