---
title: "Create customer exchange session"
method: POST
path: "/customers/{id}/exchange-sessions"
tags: ["exchange sessions"]
---

# Create customer exchange session

`POST /customers/{id}/exchange-sessions`

Creates an exchange session for a customer. Use cases include:
- **Plaid / MX**: Instant bank account verification (open banking). For faster verification as compared to traditional micro-deposits.
- **Checkout.com**: Debit card capture for Push to Card. Create a session, then retrieve it to get `externalProviderSessionData` (payment session) for the Checkout.com Flow component.

## Path parameters

- `id` string, required

## Headers

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

## Response `201`

created

## Other responses

- `400` — validation error
- `401` — unauthorized
- `403` — forbidden
- `404` — Not Found

## Changes

- **2025-06-06** `231d0268586b` — 3 breaking, 2 warning, 3 info
  - added `subschema #1, subschema #2` to the response body `oneOf` list for the response status `403`
  - added `subschema #1, subschema #2, subschema #3` to the response body `oneOf` list for the response status `400`
  - the response's body type/format changed from `object`/`` to ``/`` for status `400`
  - removed the optional property `code` from the response with the `400` status
  - …4 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/exchange-sessions/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/0e13062ae3be/schema)
