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

# Data Exchange Overview

> Share financial data with third-party service providers for services like credit score improvement or loan prequalification.

The process has two parts: first, you establish a client grant; then, the grantee exchanges it for a token to access Data Exchange endpoints.

## Terms and Roles

| Term | Description |
| - | - |
| Client grant | Permission issued by one MX client (issuer) to one or more MX clients (grantees) to access shared data. |
| Issuer | The MX client that owns the data and issues the grant. |
| Grantee | An MX client that has been granted access to the issuer data. |
| Data Recipient | Grantee role (`RECIPIENT`) that receives data and delivers the service. It may pull data from MX directly or receive it from a Data Collector. |
| Data Collector | Grantee role (`DATA_COLLECTOR`) that pulls data from MX and passes it to the Data Recipient without storing it. |

## Workflow

<Steps>
  <Step title="Create and manage the client grant">
    To issue a client grant to one or more service providers, contact Support and provide the following information:

    * A list of service providers and their role: Data Collector or Data Recipient
    * The source of data to exchange:
      * Held data: Data owned by the client issuing the grant
      * Aggregated data: Data collected by MX through end user-authorized connected institutions
      * All data: Access to both held and aggregated data

    Grants expire one year from the date they are issued and can be extended by renewing. Grants can be revoked or re-issued at any time and take effect immediately. Renewing a grant does not interrupt concurrent data exchanges and does not require service providers to acquire a new token.

    To revoke or renew a client grant, contact Support.
  </Step>

  <Step title="Read the grant and exchange it for a token">
    After Support has created the client grant, the grantee can [query for that grant](/api-reference/platform-api/v20260929/reference/data-exchange/read-data-exchange-grant) by using the client GUID of the issuer and the full set of grantees. If the client grant is still active (`status` = `GRANTED`), exchange it for a signed JWT by calling [Create Data Exchange Token](/api-reference/platform-api/v20260929/reference/data-exchange/create-data-exchange-token) with the `grantee_client_guid` and the grant `guid`.

    The token is valid for 1 hour.
  </Step>

  <Step title="Authenticate and access Data Exchange endpoints">
    Pass the token in the `MX-3DX-TOKEN` request header, alongside your standard Platform API credentials, to call the namespaced Data Exchange endpoints such as:

    * [List data exchange users](/api-reference/platform-api/v20260929/reference/data-exchange/list-data-exchange-users)
    * [List data exchange accounts](/api-reference/platform-api/v20260929/reference/data-exchange/list-data-exchange-accounts)
    * [List data exchange transactions by user](/api-reference/platform-api/v20260929/reference/data-exchange/list-data-exchange-transactions-by-user)
  </Step>
</Steps>
