Transactions

Create a money out transaction

Changed on

Initiate an outbound transfer. If the destination instrument belongs to a Finco Pay (Monato) account, the system automatically routes the transaction as an internal book-to-book transfer; no SPEI, near-real-time settlement. Routing is handled transparently; no changes to the request body are required. Money Out can also be used for Penny Validation when the transfer amount is 0.01 MXN and the validation flow is enabled for the client. In that case, the transaction can include CEP validation metadata in metadata.dataCep; see the Penny Validation guide for the flow-specific contract. This endpoint supports Idempotency via the Idempotency-Key header (TTL: 24h). Reuse the same key with the exact same body for safe retries. See the Idempotency guide for details.

post/v1/transactions/money_out

Request

Headers

Idempotency-Keystring
Example:66c0b04f-97d6-592d-8396-199819064afa

Optional deterministic UUID v5 used for safe retries. See Idempotency for key generation, TTL, and conflict behavior.

Request body

client_idstring uuid required

Client UUID that owns the transaction.

source_instrument_idstring uuid required

Source instrument UUID used to fund the transaction.

destination_instrument_idstring uuid required

Destination instrument UUID that will receive the funds.

Example request

{
  "client_id": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
  "source_instrument_id": "709448c3-7cbf-454d-a87e-feb23801269a",
  "destination_instrument_id": "d3fdb481-2058-46c8-807d-4eaf866ae1ec",
  "transaction_request": {
    "external_reference": "1234567",
    "description": "Supplier payment",
    "amount": "5000.00",
    "currency": "MXN",
    "client_reference": "INV-4567",
    "latitude": "19.432608",
    "longitude": "-99.133209"
  }
}

Response

Successfully created transaction

idstring uuid required

Transaction UUID.

bankIdstring uuid required

Bank UUID used by the source account.

clientIdstring uuid required

Client UUID that owns the transaction.

externalReferencestring required

Client-provided numeric reference.

trackingIdstring required

Tracking key assigned to the transaction for reconciliation.

descriptionstring required

Payment concept sent with the transaction.

amountstring required

Decimal amount as a string with exactly two decimal places.

currency'MXN' required
category'CREDIT_TRANS' | 'DEBIT_TRANS' | 'INTER_TRANS' | 'OTHER' required
subCategory'OTHERS' | 'SPEI_CREDIT' | 'SPEI_DEBIT' | 'INT_DEBIT' | 'INT_CREDIT' | 'SPEI_REFUNDED' | 'SPEI_REFUNDED_CREDIT' | 'SPEI_REFUNDED_DEBIT' | 'INT_ADJ_CREDIT' | 'INT_ADJ_DEBIT' required
transactionStatus'INITIALIZED' | 'IN_PROGRESS' | 'LIQUIDATED' | 'CANCELLED' | 'REFUNDED' | 'REJECTED' | 'DECLINED' required
originalTransactionIdstring uuid

Present on refund-related transactions.

refundTransactionIdstring uuid

Present on original transactions after refund.

clientReferencestring

Optional client reference returned when it was supplied in the request.

Example response

{
  "id": "16811ee8-1ef9-4dd4-8d84-9c2df89cf302",
  "bankId": "9d84b03a-28d1-4898-a69c-38824239e2b1",
  "clientId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
  "externalReference": "1234567",
  "trackingId": "20250306FINCHVLIKQ5SKUM",
  "description": "Supplier payment",
  "amount": "5000.00",
  "currency": "MXN",
  "category": "DEBIT_TRANS",
  "subCategory": "SPEI_DEBIT",
  "transactionStatus": "INITIALIZED",
  "audit": {
    "createdAt": "2025-03-06 11:57:55.408000-06:00",
    "updatedAt": "2025-03-06 11:57:55.408000-06:00"
  },
  "sourceInstrument": {
    "id": "709448c3-7cbf-454d-a87e-feb23801269a",
    "bankId": "9d84b03a-28d1-4898-a69c-38824239e2b1",
    "clientId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
    "ownerId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
    "instrumentAlias": "Centralizing account",
    "instrumentStatus": "ACTIVE",
    "instrumentType": "RECEIVER",
    "instrumentDetail": {
      "cardNumber": "5579072268574100",
      "holderName": "John Smith"
    },
    "rfc": "XAXX010101000",
    "customerId": "bb1e8fde-e68e-48e9-a483-d32153c752c2"
  },
  "destinationInstrument": {
    "id": "709448c3-7cbf-454d-a87e-feb23801269a",
    "bankId": "9d84b03a-28d1-4898-a69c-38824239e2b1",
    "clientId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
    "ownerId": "c2d1d1e3-3340-4170-980e-e9269bbbc551",
    "instrumentAlias": "Centralizing account",
    "instrumentStatus": "ACTIVE",
    "instrumentType": "RECEIVER",
    "instrumentDetail": {
      "cardNumber": "5579072268574100",
      "holderName": "John Smith"
    },
    "rfc": "XAXX010101000",
    "customerId": "bb1e8fde-e68e-48e9-a483-d32153c752c2"
  },
  "originalTransactionId": "a1392ef1-23f5-4e15-90cd-5d3d8d24d839",
  "refundTransactionId": "957459ce-d4e3-40b5-b759-373e844ba1e8",
  "metadata": {
    "dataCep": {
      "cepUrl": "https://www.banxico.org.mx/cep/...",
      "validationId": "f4ebe9af-50ac-42e5-97c7-3164d2693d6e",
      "beneficiaryName": "John Smith",
      "beneficiaryRfc": "XAXX010101000",
      "status": "PENDING",
      "createdAt": "2025-08-15T22:42:39.327Z"
    },
    "dataReturn": {
      "trackingId": "20250510FINCHFL2SFGP9KT",
      "originalTrackingId": "20250509FINCHARNJK5NHQG",
      "reason": "CANCELLED_ACCOUNT",
      "reasonDescription": "Cuenta cancelada"
    }
  },
  "clientReference": "INV-4567"
}

Changes

    • breaking

      added to the / request property allOf list

    • breaking

      request property / was restricted to a list of enum values

    • breaking

      the request property became required

    • breaking

      the request property became required

    • breaking

      the request property became required

    • breaking

      the request property became required

    • breaking

      the request property / became required

    • breaking

      the request property / became required

    • breaking

      the request property / became required

    • breaking

      the request property / became required

    • breaking

      added the pattern ^[0-9]{1,7}$ to the request property /

    • breaking

      the / request property type changed from string to no type

    • breaking

      the response's property type changed from string to no type for status

    • warning

      the / request property's maxLength was set to 40

    • warning

      the / request property's maxLength was set to 7

    • warning

      added the new CANCELLED enum value to the response property for the response status

    • warning

      added the new CREDIT_TRANS enum value to the response property for the response status

    • warning

      added the new DEBIT_TRANS enum value to the response property for the response status

    • warning

      added the new DECLINED enum value to the response property for the response status

    • warning

      added the new INITIALIZED enum value to the response property for the response status

    • warning

      added the new INTER_TRANS enum value to the response property for the response status

    • warning

      added the new IN_PROGRESS enum value to the response property for the response status

    • warning

      added the new LIQUIDATED enum value to the response property for the response status

    • warning

      added the new MXN enum value to the response property for the response status

    • warning

      added the new OTHER enum value to the response property for the response status

    • warning

      added the new REFUNDED enum value to the response property for the response status

    • warning

      added the new REJECTED enum value to the response property for the response status

    • info

      api tag Transactions added

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new optional request property /

    • info

      added the new MXN enum value to the request property /

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added to the response property allOf list for the response status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response property became required for the status

    • info

      the response's property pattern ^[0-9]+\.[0-9]{2}$ was added for the status