---
title: "Create an exchange for a customer"
method: POST
path: "/customers/{id}/exchanges"
tags: ["exchanges"]
---

# Create an exchange for a customer

`POST /customers/{id}/exchanges`

Create an exchange for a customer. The request body will vary based on the exchange partner.
For Finicity, the request body will include finicity-specific fields.
For MX Secure Exchange, the request body will include an MX token.
For MX Open Banking, the request body will include an available connection token.
For Flinks Secure Exchange, the request body will include a token.
For Plaid Secure Exchange, the request body will include a processor token.
For Plaid Open Banking, the request body will include a public token.

## Path parameters

- `id` string, required

## Headers

- `Accept` 'application/vnd.dwolla.v1.hal+json', required

## Request body

- union
  - CreateFinicitySecureExchange
    - `_links` object
      - `exchange-partner` object
        - `href` string
    - `finicity` object
      - `profile` integer
      - `version` string
      - `receiptId` string
      - `receiptVersion` string
      - `customerId` string
      - `partnerId` integer
      - `products` object[]
        - `product` string
        - `accountId` string
        - `accessPeriod` object
          - `type` string
          - `startTime` string, date
          - `endTime` string, date-time
      - `timestamp` string, date-time
  - CreateMXSecureExchange
    - `_links` object
      - `exchange-partner` object
        - `href` string
    - `token` string
  - CreateMXOpenBankingExchange
    - `_links` object, required
      - `exchange-partner` object, required
        - `href` string, uri, required
    - `mx` object, required
      - `availableConnectionToken` string, required — The MX connection token for the available connection
  - CreateFlinksSecureExchange
    - `_links` object, required
      - `exchange-partner` object, required
        - `href` string, uri, required
    - `token` string, required — The Flinks connection token
  - CreatePlaidSecureExchange
    - `_links` object
      - `exchange-partner` object
        - `href` string
    - `token` string
  - CreatePlaidOpenBankingExchange
    - `_links` object, required
      - `exchange-partner` object, required
        - `href` string, uri, required
    - `plaid` object, required
      - `publicToken` string, required — The Plaid public token for the connection

## Response `201`

created

## Other responses

- `400` — Validation Error
- `401` — Invalid Scope
- `404` — Not Found

## Changes

- **2025-07-01** `8a20e7000645` — 1 breaking, 1 info
  - removed `#/components/schemas/FinicitySecureExchangeCreateExchangeRequestBody, #/components/schemas/MXSecureExchangeCreateExchangeRequestBody, #/components/schemas/MXOpenBankingCreateExchangeRequestBody, #/components/schemas/FlinksSecureExchangeCreateExchangeRequestBody, #/components/schemas/PlaidSecureExchangeCreateExchangeRequestBody, #/components/schemas/PlaidOpenBankingCreateExchangeRequestBody` from the request body `oneOf` list
  - added `#/components/schemas/CreateFinicitySecureExchange, #/components/schemas/CreateMXSecureExchange, #/components/schemas/CreateMXOpenBankingExchange, #/components/schemas/CreateFlinksSecureExchange, #/components/schemas/CreatePlaidSecureExchange, #/components/schemas/CreatePlaidOpenBankingExchange` to the request body `oneOf` list
- **2025-06-06** `231d0268586b` — 1 breaking, 5 info
  - request body became required
  - added the optional property `_embedded` to the response with the `400` status
  - the response property `code` became required for the status `400`
  - the response property `code` became required for the status `404`
  - …2 more
- **2025-05-23** `4c8b16e05918` — 1 breaking
  - added the new required `header` request parameter `Accept`

[Change history](https://skmtc.dev/dwolla/apis/dwolla-api/changes/customers/:id/exchanges/post.md)

---

[API](https://skmtc.dev/dwolla/apis/dwolla-api.md) · [All operations](https://skmtc.dev/dwolla/apis/dwolla-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dwolla/dwolla-api/revisions/8a20e7000645/schema)
