Clarafintech Transactions API

Search card transactions and retrieve linked documents or fiscal data.

Operations 7

GET /api/v3/transactions List transactions #
GET /api/v3/transactions/{uuid} Get a transaction #
GET /api/v3/transactions/{uuid}/documents List transaction documents #
POST /api/v3/transactions/labels/bulk Bulk bind labels to transactions #
GET /api/v3/transactions/{uuid}/invoices List transaction invoices #
GET /api/v3/transactions/{uuid}/extracted-documents List transaction extracted documents #
GET /api/v3/billing-statements/{uuid}/transactions List billing statement transactions #

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-transactions-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-transactions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Clara Transactions 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: Transactions
  description: Search card transactions and retrieve linked documents or fiscal data.
paths:
  /api/v3/transactions:
    get:
      operationId: listTransactionsV3
      summary: List transactions
      description: Search transactions by date range, card, user, status, type, or last update. Use this operation for reconciliation and spend analysis workflows.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      - $ref: '#/components/parameters/OperationDateRangeStart'
      - $ref: '#/components/parameters/OperationDateRangeEnd'
      - $ref: '#/components/parameters/AccountingDateRangeStart'
      - $ref: '#/components/parameters/AccountingDateRangeEnd'
      - name: userUuid
        in: query
        description: Filter by cardholder UUID.
        schema:
          type: string
          format: uuid
      - name: cardUuid
        in: query
        description: Filter by card UUID.
        schema:
          type: string
          format: uuid
      - name: cardLastDigits
        in: query
        description: Filter by the last four digits of the card number.
        schema:
          type: string
          pattern: ^[0-9]{4}$
      - name: status
        in: query
        description: Filter by transaction status.
        schema:
          $ref: '#/components/schemas/TransactionStatus'
      - name: operationTypeCode
        in: query
        description: Filter by Clara operation type code.
        schema:
          type: string
      responses:
        '200':
          description: Paginated transactions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionPageV3'
        '400':
          $ref: '#/components/responses/BadRequest'
  /api/v3/transactions/{uuid}:
    get:
      operationId: getTransactionV3
      summary: Get a transaction
      description: Retrieve a single transaction by UUID.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/TransactionUuid'
      responses:
        '200':
          description: Transaction details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionV3'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v3/transactions/{uuid}/documents:
    get:
      operationId: listTransactionDocumentsV3
      summary: List transaction documents
      description: Retrieve documents attached to a transaction, including pre-signed download URLs that expire after 12 hours.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/TransactionUuid'
      responses:
        '200':
          description: Attached transaction documents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionDocumentsResponseV3'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v3/transactions/labels/bulk:
    post:
      operationId: bulkBindTransactionLabelsV3
      summary: Bulk bind labels to transactions
      description: Bind one or more label UUIDs to multiple transactions in a single request.
      tags:
      - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkTransactionLabelsRequestV3'
      responses:
        '200':
          description: Labels bound to transactions.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
  /api/v3/transactions/{uuid}/invoices:
    get:
      operationId: listTransactionInvoicesV3
      summary: List transaction invoices
      description: Retrieve Mexico CFDI invoice metadata associated with a specific transaction. Invoice download URLs, when returned, are temporary.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/TransactionUuid'
      responses:
        '200':
          description: Transaction invoice data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionInvoiceResponseV3'
        '404':
          $ref: '#/components/responses/NotFound'
  /api/v3/transactions/{uuid}/extracted-documents:
    get:
      operationId: listTransactionExtractedDocumentsV3
      summary: List transaction extracted documents
      description: Retrieve structured extracted documents associated with a transaction, with optional filters for document UUID, document type, and validation status.
      tags:
      - Transactions
      parameters:
      - $ref: '#/components/parameters/TransactionUuid'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      - name: documentUuid
        in: query
        description: Filter by extracted document UUID. Some docs also refer to this filter as uuid.
        schema:
          type: string
          format: uuid
      - name: type
        in: query
        description: Filter by extracted document type.
        schema:
          $ref: '#/components/schemas/ExtractedDocumentType'
      - name: validationStatus
        in: query
        description: Filter by document validation status.
        schema:
          $ref: '#/components/schemas/DocumentValidationStatus'
      responses:
        '200':
          description: Paginated extracted documents.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExtractedDocumentPageV3'
        '400':
          $ref: '#/components/responses/BadRequest'
  /api/v3/billing-statements/{uuid}/transactions:
    get:
      operationId: listBillingStatementTransactionsV3
      summary: List billing statement transactions
      description: Retrieve transactions associated with one billing statement. Supports the same pagination and transaction filters as listTransactionsV3.
      tags:
      - Transactions
      parameters:
      - name: uuid
        in: path
        required: true
        description: Billing statement UUID.
        schema:
          type: string
          format: uuid
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/Size'
      responses:
        '200':
          description: Paginated statement transactions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionPageV3'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    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
    AccountingStatus:
      type: object
      properties:
        status:
          type: string
          enum:
          - NEEDS_REVIEW
          - READY_TO_EXPORT
          - EXPORTED
          description: Accounting Module review status for this transaction, independent from the root-level auth/approval status field. Present for authorized operations (operation types OP and EC, exposed as AUTHORIZED and SYSTEM_TRANSACTION respectively); null for any other operation type.
      additionalProperties: true
    TransactionType:
      type: string
      enum:
      - PURCHASE
      - REFUND
      - FEE
      - CREDIT
      - PAYMENT
    DocumentValidationStatus:
      type: string
      enum:
      - VALIDATED_BY_CLARA
      - VALIDATED_BY_USER
      - NOT_VERIFIED
    BillingStatementV3:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        statementStartDate:
          type: string
          format: date
        statementEndDate:
          type: string
          format: date
        currency:
          type: string
          enum:
          - MXN
          - BRL
          - COP
        totalAmount:
          type: number
        status:
          type: string
          enum:
          - OPEN
          - CLOSED
        generatedAt:
          type: string
          format: date-time
      additionalProperties: true
    TransactionPageV3:
      type: object
      required:
      - content
      - totalElements
      - totalPages
      - size
      - number
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/TransactionV3'
        totalElements:
          type: integer
        totalPages:
          type: integer
        size:
          type: integer
        number:
          type: integer
    StatusObject:
      type: object
      properties:
        code:
          type: string
        description:
          type: string
      additionalProperties: true
    ExtractedDocumentPageV3:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/ExtractedDocumentV3'
        totalElements:
          type: integer
        totalPages:
          type: integer
        size:
          type: integer
        number:
          type: integer
      additionalProperties: true
    BulkTransactionLabelsRequestV3:
      type: object
      required:
      - transactions
      properties:
        transactions:
          type: array
          minItems: 1
          items:
            type: object
            required:
            - uuid
            - labelsUuid
            properties:
              uuid:
                type: string
                format: uuid
              labelsUuid:
                type: array
                items:
                  type: string
                  format: uuid
            additionalProperties: false
      additionalProperties: false
    InvoiceV3:
      type: object
      properties:
        invoiceId:
          type: string
        invoiceNumber:
          type:
          - string
          - 'null'
        taxRegime:
          type: string
        issuer:
          type: object
          properties:
            rfc:
              type: string
            businessName:
              type: string
          additionalProperties: true
        taxReceipts:
          type: object
          additionalProperties: true
        tax:
          type: object
          additionalProperties: true
        amount:
          type: object
          properties:
            total:
              type: number
            subTotal:
              type: number
            currency:
              type: string
          additionalProperties: true
        documentDate:
          type: string
          format: date
        xmlStatus:
          type: string
        xmlCode:
          type: string
      additionalProperties: true
    ExtractedDocumentType:
      type: string
      enum:
      - MEXICAN_FISCAL_INVOICE
      - INVOICE
      - RECEIPT
      - OTHER
    TransactionInvoiceResponseV3:
      type: object
      properties:
        transactionUuid:
          type: string
          format: uuid
        invoices:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceV3'
        content:
          type: array
          items:
            $ref: '#/components/schemas/InvoiceV3'
        totalElements:
          type: integer
        totalPages:
          type: integer
        size:
          type: integer
        number:
          type: integer
      additionalProperties: true
    CardUser:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        name:
          type: string
        fullName:
          type: string
        username:
          type: string
        email:
          type: string
          format: email
      additionalProperties: true
    Money:
      type: object
      properties:
        value:
          type: number
          description: Decimal currency units, not cents.
        amount:
          type: number
          description: Decimal currency units, not cents. Some responses use amount instead of value.
        currency:
          type: string
          enum:
          - MXN
          - BRL
          - COP
      additionalProperties: true
    ExtractedDocumentV3:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        type:
          $ref: '#/components/schemas/ExtractedDocumentType'
        userUuid:
          type: string
          format: uuid
        data:
          type: object
          additionalProperties: true
        fileValidation:
          type: object
          properties:
            status:
              $ref: '#/components/schemas/DocumentValidationStatus'
            date:
              type: string
              format: date-time
            user:
              type: string
            userUuid:
              type: string
              format: uuid
          additionalProperties: true
      additionalProperties: true
    TransactionV3:
      type: object
      required:
      - uuid
      - type
      - status
      - amountValue
      properties:
        uuid:
          type: string
          format: uuid
        type:
          $ref: '#/components/schemas/TransactionType'
        transactionLabel:
          type: string
        status:
          oneOf:
          - $ref: '#/components/schemas/TransactionStatus'
          - $ref: '#/components/schemas/StatusObject'
        amountValue:
          $ref: '#/components/schemas/Money'
        originalAmount:
          $ref: '#/components/schemas/Money'
        merchant:
          type: object
          properties:
            name:
              type: string
            category:
              type: string
            mcc:
              type: string
          additionalProperties: true
        card:
          type: object
          properties:
            uuid:
              type: string
              format: uuid
            lastFourDigits:
              type: string
            maskedPan:
              type: string
          additionalProperties: true
        user:
          $ref: '#/components/schemas/CardUser'
        labels:
          type: array
          items:
            type: object
            additionalProperties: true
        billingStatement:
          $ref: '#/components/schemas/BillingStatementV3'
        hasInvoice:
          type:
          - boolean
          - object
        hasAttachments:
          type:
          - boolean
          - object
        hasExtractedDocuments:
          type:
          - boolean
          - object
        accountingFields:
          type: array
          items:
            type: object
            additionalProperties: true
        accountingStatus:
          $ref: '#/components/schemas/AccountingStatus'
      additionalProperties: true
    TransactionStatus:
      type: string
      enum:
      - NOTIFICATION
      - PRE_AUTHORIZED
      - AUTHORIZED
      - REJECTED
      - SYSTEM_TRANSACTION
    TransactionDocumentsResponseV3:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        attachments:
          type: array
          items:
            type: object
            properties:
              uuid:
                type: string
                format: uuid
              fileName:
                type: string
              format:
                type: string
              download:
                type: object
                properties:
                  url:
                    type: string
                    format: uri
                  urlExpiration:
                    type: string
                    format: date-time
                additionalProperties: true
            additionalProperties: true
      additionalProperties: true
  responses:
    Unauthorized:
      description: Unauthorized. Refresh the token or verify mTLS certificate configuration.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    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'
    BadRequest:
      description: Bad request. Fix invalid parameters or missing fields before retrying.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    OperationDateRangeEnd:
      name: operationDateRangeEnd
      in: query
      description: Inclusive operation-date end in YYYY-MM-DD format.
      schema:
        type: string
        format: date
    AccountingDateRangeStart:
      name: accountingDateRangeStart
      in: query
      description: Inclusive accounting-date start in YYYY-MM-DD format.
      schema:
        type: string
        format: date
    AccountingDateRangeEnd:
      name: accountingDateRangeEnd
      in: query
      description: Inclusive accounting-date end in YYYY-MM-DD format.
      schema:
        type: string
        format: date
    Size:
      name: size
      in: query
      description: Number of records per page. Use 100 for large exports unless an endpoint documents a lower limit.
      schema:
        type: integer
        minimum: 1
        maximum: 100
        default: 20
    TransactionUuid:
      name: uuid
      in: path
      required: true
      description: Transaction UUID.
      schema:
        type: string
        format: uuid
    Page:
      name: page
      in: query
      description: Zero-based page index.
      schema:
        type: integer
        minimum: 0
        default: 0
    OperationDateRangeStart:
      name: operationDateRangeStart
      in: query
      description: Inclusive operation-date start in YYYY-MM-DD format.
      schema:
        type: string
        format: date
  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.