> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leapfinancial.com/llms.txt
> Use this file to discover all available pages before exploring further.

# M2M flow

> Prefill-heavy collect / transfer flow using config.userData to reduce widget friction

## When to use m2m

**`m2m`** is a flow slug for partners who already hold KYC and/or payout data and want to prefill the widget. It is one productized flow in the RaaS Widgets catalog — not the name of the platform.

<Note>
  More prefills → less user friction. Incomplete CIP data can trigger [data requests](/raas-widgets/guides/data-requests). Read the trade-off in [User data](/raas-widgets/guides/user-data).
</Note>

## Prefill example

```bash theme={null}
curl -X POST https://raas-widgets-backend-sandbox.up.railway.app/partner/links \
  -H "X-API-Key: raas_sandbox_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "referenceId": "user_12345",
    "flow": "m2m",
    "expiresInMinutes": 120,
    "config": {
      "userData": {
        "name": {
          "firstName": "Ana",
          "secondName": "Maria",
          "lastName": "Garcia",
          "secondLastName": "Lopez"
        },
        "idNumber": "GALO900515HDFRPN09",
        "idType": "CURP",
        "dob": "1990-05-15",
        "paymentMethod": {
          "type": "bank_account",
          "bankAccount": {
            "country": "MX",
            "accountNumber": "012345678901234567"
          }
        }
      }
    }
  }'
```

<Tip>
  You can send partial `userData` (for example name only) and fulfill the rest via webhooks. Prefer legal names and `YYYY-MM-DD` dates so CIP matches government records.
</Tip>

## Friction tip

| Prefill level      | Typical UX                             |
| ------------------ | -------------------------------------- |
| Full CIP + payout  | Confirm and send                       |
| Name only          | Short form / data request for ID & DOB |
| `referenceId` only | Full CIP in widget                     |

For new send products without prefills, prefer [`smart`](/raas-widgets/flows/smart).

## Next steps

<CardGroup cols={2}>
  <Card title="User data" icon="user" href="/raas-widgets/guides/user-data">
    Friction vs integration effort.
  </Card>

  <Card title="Data requests" icon="database" href="/raas-widgets/guides/data-requests">
    Fulfill missing CIP fields.
  </Card>
</CardGroup>
