1. Local Payments
  • Cobre Docs
    • Cobre Intro
      • Welcome
      • Get started
      • Products
        • Local Payments
          • Local Payments with Cobre
          • Payouts
            • Colombia
              • Money Movements with Bre-B
              • Money Movements with Cobre Fast Pay
            • Mexico
              • Money Movements with CLABEs and SPEI Cards
            • Multi-region
              • Money Movements Scheduler
          • Payins
            • Colombia
              • Checkout
              • Request to Pay (R2P)
              • Static Bre-B Keys
            • México
              • CLABE-backed Cobre Balances
              • Account Reference – Virtual CLABEs
          • Other feaures
            • Bulk Money Movements
            • Enabling Approval Workflows (Maker–Checker)
        • Cross Border Payments
          • Cross Border Payments with Cobre
        • Stablecoins
          • Global Payouts in Stablecoins
        • Connect
          • Connect bank accounts with Cobre
      • Other features
        • Account Verification
        • Notifications and subcriptions
        • Security at Cobre
        • Performance and throughput
    • Portal
      • Introduction & Quick Start
      • Authentication in Portal
      • Troubleshooting & Support
      • Movements
        • Local Money Movement
        • Unitary Payment Initiation
        • Bulk Money Movement Initiation
        • Approval Process (Maker-Checker)
        • Scheduler
        • Cross-Border Money Movements
        • Payment Links
      • Transactions
        • Transactions
      • Accounts
        • Account and Balance Management
      • Counterparties
        • Counterparties
      • Reports
        • Reports & Reconciliation
      • Settings
        • Users and Roles Management
        • Security and Control
      • Developers
        • Subscription management
    • Developers
      • API Guides
        • Quick Start
        • Authentication
        • Cobre Balances
          • Managing Cobre Balances
          • Account Linkeage
        • Connect Accounts
          • Managing Connect Accounts
        • Counterparties
          • Managing Counterparties
        • Local Payments
          • Money Movement
          • Payouts
            • Colombia
              • Fast Pay & ACH
              • Bre-B
            • Mexico
              • SPEI
            • Cross-Region
              • Bulk Money Movements
              • Bulk Money Movements Approval
              • Money Movement Scheduler
          • Payins
            • Colombia
              • Cobre Keys with Bre-B
              • Checkout
              • Direct Link
              • Direct Debit
            • Mexico
              • Account Reference – Virtual CLABEs
        • Cross Border Payments
          • Cross Border Payments
          • Create Fx Quotes
          • Create a Cross Boder Money Movement
          • Fund your global Cobre Balance
        • Cross Features
          • Reports
          • Report Scheduler
          • Evidence API
          • Account Verification
          • Notifications & Subscriptions
        • Error Handling
          • Error Dictionary
        • Testing
          • General Testing
          • Testing Cases
      • API Explorer
        • Authentication API
          • Authentication
        • Cobre Balances
          • Create a Cobre Balance
          • Obtain all Accounts
          • Obtain one Account
          • Update an Account
          • Close a Cobre Balance
          • Obtain one Account Transactions
          • Obtain one Transaction
          • Obtain all Client Transactions
          • Obtain Account Daily Balance History
          • Assign or Change Primary Account
          • Unlinking Primary Account
        • Connect Accounts
          • Connect an Account
          • Obtain one Connected Account
          • Obtain all Connected Accounts
          • Obtain one Transaction
          • Obtain all Account Transactions
          • Obtain all Client Transactions
          • Update an account
        • Account Verifications
          • Create an Account Verification
          • Obtail all Account Verifications
        • Account References
          • Create an Account Reference
          • List one Account Reference
          • List all Account References
          • Delete an Account References
        • Counterparties
          • Account Debit Registration
            • Register a Counterparty for Direct Debit
            • Obtain all Registrations
            • Obtain one Registration
          • Create a Counterparty
          • Obtain one Counterparty
          • Obtain all Counterparties
          • Delete a Counterparty
        • Money Movements
          • Create a Money Movement
          • Obtain one Money Movement
          • Obtain all Money Movements
          • Return a Money Movement
        • Money movement Approvals
          • Approve a Money Movement
          • List all Money Movement Approvals
        • Money Movement Scheduler
          • Create a Money Movement Scheduler
          • List all Money Movement Schedulers
          • Cancel an Active Scheduler
        • Bulk Money Movement
          • Create a Bulk Money Movement
          • List all Bulk Money Movements
          • List one Bulk Money Movement
        • Bulk Money Movement Approvals
          • Bulk Money Movements Decision
        • Cobre Keys
          • Create a Key
          • Obtain all Keys
          • Obtain one Key
          • Cancel a Key
          • Block or Reactivate Keys
        • Cross Border
          • Create a FX Quote
          • Obtain one FX Quote
          • Obtain all the FX Quotes
          • Create a Cross Border Money Movement
          • Obtain one Cross Border Money Movement
          • Obtain all the Cross Border Money Movements
        • Checkout
          • Create a Checkout
          • Obtain one Checkout
          • Obtain all Checkouts
          • Desactivate a Checkout
        • Evidence API
          • Evidence Requests
            • Obtain Evidence Request
            • Search Evidence Requests
          • Evidence Documents
            • Generate Upload Links
            • Generate Download Link
          • Evidence Information
            • Submit Evidence Information
        • Report Scheduler
          • Create a Report Scheduler
          • Obtain all Reports Schedulers
          • Delete a Report Scheduler
        • Reports
          • Create a Report
          • Obtain all Reports
          • Generate Download Link for Selected Reports
          • Create a Cobre Balance Statement
        • Notifications & Subscriptions
          • Subscribe to Events
          • Obtain all Subcriptions
          • Delete a Subscription
          • List all Available Events
      • Platform Catalogs
        • Mexican Bank Codes
        • Colombian Bank Codes
        • Transaction Types
        • Account Providers
      • Reports Layout
        • Money Movements Layout
          • All Money Movements (CSV)
          • All Money Movements (JSON)
          • SPEI Money Movements (CSV)
          • LEGACY Money Movements (CSV)
        • Transactions Layout
          • All Transactions (CSV)
          • All Transactions (JSON)
          • Cobre Balance Statement (PDF)
        • Counterparties Layout
          • All Counterparties (CSV)
        • Multicash Layout
          • Multicash Header (TXT)
          • Multicash Detail (TXT)
      • Testing APIs
        • Create a Transaction Adjustment
        • Change a Money Movement Status
        • Transaction Adjustment (QA)
        • Change Money Movement Status (QA)
    • Schemas
      • Counterparties
        • RequestBodies
          • Counterparty-request
        • Colombia
          • PayOut
            • Counterparty | Create Metadata Type CC (CO)
            • Counterparty | Response Metadata Type CC (CO)
            • Counterparty | Create Metadata Type CH (CO)
            • Counterparty | Response Metadata Type CH (CO)
            • Counterparty | Create Metadata Type DP (CO)
            • Counterparty | Response Metadata Type DP (CO)
            • Counterparty | Create Metadata Type Breb Key (CO)
            • Counterparty | Response Metadata Type Breb Key (CO)
            • Counterparty | Create Metadata Type Cobre Balance (CO)
            • Counterparty | Response Metadata Type Cobre Balance (CO)
          • PayIn
            • Counterparty | Create Metadata Type r2p (CO)
            • Counterparty | Response Metadata Type r2p (CO)
            • Counterparty | Create Metadata Type r2p Breb (CO)
            • Counterparty | Response Metadata Type r2p Breb (CO)
          • Secondary Counterparty
            • Secondary Counterparty Create Request (CO)
            • Secondary Counterparty Create Response (CO)
            • Secondary Counterparty Create Metadata Type NP (CO)
            • Secondary Counterparty Response Metadata Type NP (CO)
            • Secondary Counterparty Request Metadata Type LE
            • Secondary Counterparty Response Metadata Type LE (CO)
          • Direct Debit
            • Direct Debit Registration | Create
            • Direct Debit Registration | Response
            • Direct Debit Registration | List All Items
          • Counterparty | Create Request (CO)
          • Counterparty | Create Response (CO)
        • Mexico
          • PayOut
            • Counterparty | Create Metadata Type Clabe (MX)
            • Counterparty | Response Metadata Type Clabe (MX)
            • Counterparty | Create Metadata Type SPEI Card (MX)
            • Counterparty | Response Metadata Type SPEI Card (MX)
          • Counterparty | Create Request (MX)
          • Counterparty | Create Response (MX)
        • Global
        • Counterparty | List All Items
        • MEX Money Movement Return
      • Transactions
        • Global
          • Transaction | Debit Cross Border
          • Transaction | Credit Cross Border
        • Colombia
          • Debit
            • Transaction | Debit FI (CO) (col_debit)
            • Transaction | Debit Cobre Balance (CO)
            • Transaction | Debit Breb (CO) (breb_debit)
          • Credit
            • Transaction | Credit Direct Debit (CO) (dd_credit)
            • Transaction | Rejected Breb (breb_rejected)
            • Transaction | Credit Top Up (CO) (col_top_up_credit)
            • Transaction | Credit FI (CO) (col_credit)
            • Transaction | Credit Cobre Balance (CO) (col_cb_credit)
            • Transaction | Credit Breb (CO) (breb_credit)
            • Transaction | Credit r2p (r2p_credit)
            • Transaction | Credit r2p Breb (CO) (r2p_breb_credit)
          • Transaction | Connect Obtain (CO)
          • Transaction | Cobre Balance Obtain (CO)
        • Mexico
          • Debit
            • Transaction | Debit FI (MX) (mex_debit)
            • Transaction | Debit SPEI (MX) (spei_debit)
            • Transaction | Debit Internal SPEI (MX)
          • Credit
            • Transaction | Credit FI (MX)
            • Transaction | Credit SPEI (MX)
            • Transaction | Credit Internal SPEI (MX)
          • Transaction | Connect Obtain (MX)
          • Transaction | Cobre Balance Obtain (MX)
          • Transaction | Return SPEI (MX)
        • Transactions | Connect List All Items
        • Transactions | Cobre Balance List All Items
        • Transaction | Debit Misc
        • Transaction | Credit Misc
        • Transaction | Adjustment Debit
        • Transaction | Adjustment Credit
      • Authentication
        • Authentication | Request
        • Authentication | Response
      • Cobre Keys
        • Colombia
          • Cobre Key | Create Request
          • Cobre Key | Create Response
          • Cobre Key | Obtain Response
          • Cobre Key | Reactive Request
      • Money Movements
        • Approvals
          • Money Movement Approvals | Create Request
          • Money Movement Approvals | Create Response
          • Money Movement Approvals | List All Items
        • Mexico
          • PayOut
            • Money Movement | Create Metadata Type SPEI
            • Money Movement | Response Metadata Type SPEI
          • Return
            • Money Movement Return | Create Request
            • Money Movement Return | Response Medatada Type SPEI
            • Money Movement Return | Create Response
        • Colombia
          • PayOut
            • Money Movement | Create Metadata Type Fast Pay
            • Money Movement | Response Metadata Type Fast Pay
            • Money Movement | Create Metadata Type ACH
            • Money Movement | Response Metadata Type ACH
            • Money Movement | Create Metadata Type Breb
            • Money Movement | Response Metadata Type ACH
          • PayIn
            • Money Movement Direct Link | Create Metadata Rail PSE
            • Money Movement Direct Link | Response Metadata Rail PSE
            • Money Movement Direct Link | Response Metadata Rail Bancolombia
            • Money Movement Direct Link | Response Metadata Rail Nequi
            • Money Movement Direct Link | Create Metadata Rail r2p Breb
            • Money Movement Direct Link | Response Metadata Rail r2p Breb
          • Direct Debit
            • Money Movement Direct Debit | Create Metadata
            • Money Movement Direct Debit | Response Metadata
        • Money Movement | Create Response
        • Money Movement | List All Items
      • Accounts
        • Account Verification
          • Mexico
            • Account Verification Create Metadata Type mex_acc_details_1
            • Account Verification Response Metadata Type mex_acc_details_1
            • Account Verification Create Request
            • Account Verification Create Response
            • Account Verification Create Metadata Type mex_acc_ownership_1
            • Account Verification Response Metadata Type mex_acc_ownership_1
            • Account Verifications List All Items
          • Colombia
            • Account Verification Response Metadata Type col_key_details_1
            • Account Verification Create Metadata Type col_key_details_1
            • Account Verification Create Metadata Type col_key_ownership_1
            • Account Verification Response Metadata Type col_key_ownership_1
        • Account References
          • Account References Request
          • Account Reference Response
          • List all account references
        • Cobre Balances
          • Mexico
            • Cobre Balance | Create Metadata (MX)
            • Cobre Balance | Create Response (MX)
          • Colombia
            • Cobre Balance | Create Metadata (CO)
            • Cobre Balance | Create Response (CO)
          • Global
            • Cobre Balance | Create Metadata (Global)
            • Cobre Balance | Create Response (Global)
          • Cobre Balance | Create Request
          • Cobre Balances | List All Items
          • Account_request_PATCH
          • Account_request_CONNECT_PATCH
        • Daily Balance
          • Daily Balance Obtain Response
          • Daily Balance Historiy List All Items
        • Account Connect
          • Mexico
            • Account Conect | Create Metadata (MX)
            • Account Connect | Response Metadata (MX)
          • Colombia
            • Account Conect | Create Metadata (CO)
            • Account Connect | Response Metadata (CO)
          • Account Connect | Create Request
          • Accounts Connect | List All Items
      • Bulk Money Movement
        • Bulk Money Movement | Obtain Response
        • Bulk Money Movement Decision | Create Request
        • Bulk Money Movements | List All Items
      • Money Movement Scheduler
        • Money Movement Scheduler | Create Request
        • Money Movement Scheduler | Create Response
        • Money Movement Scheduler | List All Items
      • Checkout
        • Colombia
          • Checkout | Create Request
          • Checkout | Create Response
          • Checkout | List All Items
          • Checkout | Delete
      • Notifications
        • Subscription | Create Request
        • Subscription | Create Response
        • Subscription | List All Items
        • Subscribable Events | List All Items
        • Subscribable Events | Metadata
      • Evidence Request
        • Schemas
          • Error
          • Evidence Request
          • Document Type
          • Evidence Id
          • Upload Intent
          • Evidence Request Id
          • Evidence Request Status
          • Information Type
          • Information
          • Evidence
          • Information Status
          • Document
          • Document Status
          • Headers
        • RequestBodies
          • UploadIntentRequest
      • Cross Border
        • Cross Border Money Movement
          • Cross Border Money Movement Create Request
          • Cross Border Money Movement Create Response
          • Cross Border Money Movement Obtain Response
          • Cross Border Money Movements List All Items
        • FX Quote
          • FX Static Quote
            • FX Quote Static | Create Request
            • FX Quote Static | Create Response
          • FX Rolling Quote
            • FX Quote Rolling | Create Request
            • FX Quote Rolling | Create Response
          • FX Quote | Create Request
          • FX Quote | List All Items
          • FX Quote | Metadata Quote Tiers
          • FX Quote | Metadata Penalization Tier
          • FX Quote | Metadata Fees Breakdown
      • Reports
        • Download
          • Report Download Create Request
          • Report Download Create Response
        • Reports Create Request
        • Reports Create Response
        • Reportes Create Metadata
        • Request Body Reports
        • Reports List All Items
        • Reports Object
      • Error Model
        • Error-model
      • Report Scheduler
        • Report Schedulers | Create Request
        • Report Schedulers | Create Response
  1. Local Payments

Money Movement

What is a Money Movement?#

A Money Movement is Cobre’s unified object to represent the lifecycle of moving value in or out of your balances—whether that movement is a collection (payin) or a disbursement (payout), and regardless of the underlying rail or geography.
From an integration standpoint, the Money Movement API gives you:
A single interface to create and track money operations
A consistent lifecycle and status model
A standard pattern to handle:
asynchronous processing
approvals (Maker–Checker)
failures and rejections
returns (Mexico only)
This guide is the conceptual introduction; the subsections (SPEI, Bre-B, Checkout, Direct Link, Scheduler, Bulk, etc.) describe rail-specific fields and behaviors.

Core Concepts#

1) One object, multiple rails#

A Money Movement can be backed by multiple rails, but you always interact with the same resource structure and lifecycle. The rail is typically expressed in its metadata and/or in the specific guide you follow (e.g., SPEI payouts, Bre-B payouts, Checkout payins, etc.).

2) Asynchronous by design#

Money Movements are processed asynchronously: they start in an initial state and evolve as Cobre and downstream systems confirm execution. The system updates status “in the background” until reaching a terminal state.

3) Idempotency for safe retries#

The API supports an optional idempotency header to prevent accidental duplicates. If you retry the same request with the same idempotency key within the relevant window, Cobre returns the original Money Movement instead of creating another one.

The Universal Money Movement State Machine#

Every Money Movement follows the same high-level state machine.
You can think of it as three phases:
1.
Creation
2.
Processing
3.
Finalization
Below is the transversal lifecycle, valid for payins and payouts in both Mexico and Colombia.

1) Creation Phase#

initiated#

When you create a Money Movement, it begins in initiated.
This means the request was accepted and the movement exists, but execution has not progressed yet.

2) Processing Phase#

processing#

The Money Movement moves into processing when Cobre starts executing it.
At this point, the movement is in flight and you should treat it as non-final.

pending_approval (conditional)#

Some Money Movements require explicit approval (Maker–Checker) before they can be executed. Those enter pending_approval.
If the money movement was marked with checker_approval = true, your integration must handle this state explicitly:
either by approving via the Approvals endpoints
or by expecting it to remain pending until your internal operators approve it

3) Finalization Phase (Terminal States)#

Money Movements end in one of the following terminal states:

completed#

Execution succeeded and the movement is final.

canceled#

The Money Movement was canceled before completion (common when approvals expire or are canceled, or when scheduled/bulk items are canceled upstream).

failed#

Processing failed due to operational or platform-level reasons.

rejected#

Rejected means the rail, bank, or user-level validation caused the transaction to be rejected, often with rail-specific reason codes.

Money movement statuses returned (Mexico only)#

A return means the movement succeeded initially but was later returned by the counterparty/beneficiary context (for example, beneficiary returned the payment).
Example reason: R008 Payment Returned by Beneficiary.

Status Transitions (How to reason about the lifecycle)#

image.png
Here is the conceptual state diagram (simplified):
initiated → processing
initiated → pending_approval (if approval required)
pending_approval → processing (after approval)
processing → completed
processing → failed / rejected
processing → returned (post-completion return path)
pending_approval → canceled (if canceled/expired)
initiated → canceled (if canceled before execution)
Important: All terminal states are final. Once a Money Movement reaches a terminal state, it will not transition again (except that some rails may report a return after a previous completion, which is represented by returned).

Integration Pattern (Recommended)#

Step 1 — Create a Money Movement#

Use the Create Money Movement endpoint.

Step 2 — Subscribe to Money Movement status change events#

Because Money Movements are asynchronous, you must subscribe to status update events
Avoid polling the Obtain Money Movement endpoint until you reach a terminal state, since it creates unnecesary requests
See Notifications & Suscriptions

Step 3 — Handle status logic#

If you receive pending_approval, approve it or wait for approval
If you receive processing, keep monitoring
If terminal:
completed → success path
failed → evaluate error code and retry strategy
rejected → correct input or treat as failed business case
returned → reconcile return and update your ledger
canceled → treat as no-op or user-intent cancellation

Where to go next (choose your rail / modality)#

This page is the conceptual base. For implementation details, go to:

Payout rails#

Colombia: Fast Pay & ACH, Bre-B
Mexico: SPEI

Payin rails#

Colombia: Checkout, Cobre Keys, Direct Link
Mexico: Virtual CLABEs

Cross-cutting execution modes#

Bulk Money Movements
Money Movement Scheduler
Approvals (Maker–Checker)
You will reuse the same lifecycle model described here across all of them.

Money movement Statuses Catalog#

StatusCodeDescription
initiatedNANA
processingNANA
completedNANA
pending_approvalNANA
canceledNANA
failedF001Payment processing failed please try again
failedF002NSF - Not Sufficient Funds in the designated account
failedF003R2P Payment link expired
failedF004Daily transaction amount limit has been reached
failedF005Amount exceeds the maximum allowed transaction limit
failedF098Could not process the money movement at this time
failedF099Could not process the money movement at this time
rejectedR000Transaction rejected
rejectedR001Inactive or blocked account
rejectedR002Account and identification provided do not coincide
rejectedR004ID not valid
rejectedR005Account does not exist
rejectedR006Invalid account number
returnedR008Payment Returned by Beneficiary
rejectedR009Exceeds maximum allowed amount
rejectedR010Account not authorized to debit
rejectedR011Invalid Account type.
rejectedR012The user has abandoned the transaction
rejectedR015Account not authorized to be credited
rejectedR016Payment rejected due to timeout
rejectedR017Payment rejected due to expired key
rejectedR018Payment rejected due invalid key
rejectedR019Payment rejected due to incorrect amount
rejectedR020Payment rejected due to user authentication failure
rejectedR021Insufficient funds in payer account
rejectedR023Payment cancelled by the user
rejectedR024Exceeds maximum allowed number of transactions
rejectedR025Required information missing
rejectedR026Payment rejected due to unavailable bank services
rejectedR027Account exceeds the maximum allowed transaction limit
rejectedR034Account closed
rejectedR081The counterparty registration has expired
rejectedR082The counterparty registration has been canceled
rejectedR084The counterparty registration has been rejected
Modified at 2026-01-05 23:21:32
Previous
Managing Counterparties
Next
Fast Pay & ACH
Built with