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

# ACH Gateway

export const EndpointCard = ({method = "API", title, children, href, arrow = true}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-green-400/20 dark:mint-bg-green-400/20",
      text: "mint-text-green-700 dark:mint-text-green-400",
      border: "mint-border-green-300 dark:mint-border-green-700"
    },
    POST: {
      bg: "mint-bg-blue-400/20 dark:mint-bg-blue-400/20",
      text: "mint-text-blue-700 dark:mint-text-blue-400"
    },
    PUT: {
      bg: "mint-bg-yellow-400/20 dark:mint-bg-yellow-400/20",
      text: "mint-text-yellow-700 dark:mint-text-yellow-400"
    },
    PATCH: {
      bg: "mint-bg-orange-400/20 dark:mint-bg-orange-400/20",
      text: "mint-text-orange-700 dark:mint-text-orange-400"
    },
    DELETE: {
      bg: "mint-bg-red-400/20 dark:mint-bg-red-400/20",
      text: "mint-text-red-700 dark:mint-text-red-400"
    },
    API: {
      bg: "mint-bg-black",
      text: "mint-text-white"
    }
  };
  const MethodBadge = ({method}) => {
    const style = METHOD_STYLES[method?.toUpperCase()] ?? METHOD_STYLES.GET;
    return <span className={`
          method-pill rounded-lg font-semibold px-1.5 py-0.5 text-xs leading-5 ${style.bg} ${style.text}`}>
        {method?.toUpperCase()}
      </span>;
  };
  const content = <div className="group flex items-center gap-4 border border-gray-200 dark:border-gray-700 rounded-xl p-5 hover:border-gray-400 dark:hover:border-gray-500 hover:shadow-md transition-all cursor-pointer">
      {}
      <div className="shrink-0">
        <MethodBadge method={method} />
      </div>
      {}
      <div className="flex-1 min-w-0">
        <p className="font-semibold text-gray-900 dark:text-white text-sm leading-snug">{title}</p>
        {children && <p className="mt-1 text-sm text-gray-500 dark:text-gray-400 line-clamp-2">{children}</p>}
      </div>
    </div>;
  if (!href) return content;
  return <a href={href} className="block no-underline border-b-0 mb-2">
      {content}
    </a>;
};

<Note>
  **Note**\
  This endpoint is limited in availability. For more information, contact your Marqeta representative.
</Note>

Use this view endpoint to retrieve ACH gateway data aggregated by transaction. The data is derived from the transaction-related messages sent to and from the Marqeta platform. It is available only for programs that are configured to use Automated Clearing House (ACH) bank accounts.

This endpoint supports multiple response formats, query filtering, field filtering, sorting, pagination, and currency conversion. For more information about response options, see [Response Customization](/diva-api/response-customization/).

<h2 id="_retrieve_ach_gateway_data_json">
  Retrieve ACH gateway data (JSON)
</h2>

**Action:** `GET`\
**Endpoint:** `/views/achgateways`

Retrieve ACH gateway data aggregated by transaction. This endpoint returns a JSON object that contains an array of records matching your filter query.

<h3 id="_sample_response_body">
  Sample response body
</h3>

The following sample shows a representative response for a `GET` request to the `/views/achgateways?program=my_program&amount=>7000&fields=acting_user_token,transaction_amount` endpoint.

```json JSON expandable lines wrap theme={null}
{
    "total": 7,
    "is_more": false,
    "count": 7,
    "info": {},
    "start_date": "2023-02-01T00:00:00+0000",
    "end_date": "2023-02-10T00:00:00+0000",
    "last_run_time": "2023-02-09T18:03:18Z",
    "schema": [
        {
            "field": "acting_user_token",
            "type": "character varying(50)",
            "display": "Acting User Token",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        },
        {
            "field": "transaction_amount",
            "type": "numeric(14,2)",
            "display": "Transaction Amount",
            "units": null,
            "hasTotal": false,
            "is_filter_only": false
        }
    ],
    "records": [
        {
            "acting_user_token": "a3294178-4ac4-4630-9ed1-f73947977444",
            "transaction_amount": 10000
        },
        {
            "acting_user_token": "bg0a4f92-982c-4c6f-a44b-2021bca9ccf4",
            "transaction_amount": 8568.53
        },
        {
            "acting_user_token": "cr294178-4ac4-4630-9ed1-f73947977442",
            "transaction_amount": 10000
        },
        {
            "acting_user_token": "e3294178-4ac4-4630-9ed1-f73947977443",
            "transaction_amount": 10000
        },
        {
            "acting_user_token": "7a203048-9dbe-40e4-95a3-f295f9cd020d",
            "transaction_amount": 8000
        },
        {
            "acting_user_token": "100a4f92-982c-4c6f-a44b-2021bca9ccf6",
            "transaction_amount": 10000
        },
        {
            "acting_user_token": "aa8dd2a4-561b-4f59-bcb0-8192624684e3",
            "transaction_amount": 10000
        }
    ]
}
```

<h2 id="_retrieve_ach_gateway_file_export">
  Retrieve ACH gateway (file export)
</h2>

**Action:** `GET`\
**Endpoint:** `/views/achgateways/{export_type}`

Retrieve ACH gateway data aggregated by transaction. This endpoint asynchronously generates a file in the specified format and returns a job token for retrieving the file when it is completed. The file contains a list of records matching your filter query.

<h3 id="_url_path_parameters">
  URL path parameters
</h3>

| Fields                                       | Description                                                                              |
| -------------------------------------------- | ---------------------------------------------------------------------------------------- |
| export\_type<br /><br />string<br />Required | File format in which to export the data.<br /><br />**Allowable Values:**<br /><br />csv |

<h3 id="_query_parameters">
  Query parameters
</h3>

| Fields                                   | Description                                                                                                                               |
| ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| compress<br /><br />string<br />optional | Type of file compression for the exported file.<br /><br />**Allowable Values:**<br /><br />gz, zip<br /><br />**Default value:**<br />gz |

<h3 id="_sample_response_body_2">
  Sample response body
</h3>

```json JSON lines wrap theme={null}
{
  "token": "111122226c444d8888888a9999ae11111db63da4.csv.gz"
}
```

<h2 id="_retrieve_ach_gateway_schema">
  Retrieve ACH gateway schema
</h2>

**Action:** `GET`\
**Endpoint:** `/views/achgateways/schema`

Retrieve a JSON representation of the ACH gateway view schema for data aggregated by transaction. The schema object contains an array of objects that describe the available columns and the data type of each column.

<h3 id="_sample_response_body_3">
  Sample response body
</h3>

The following sample shows a representative response for a `GET` request to the `/views/achgateways/schema?program=my_program` endpoint. The schema can vary based on the data aggregation level and the data you are authorized to access (based on the credentials you provide in your request).

```json JSON expandable lines wrap theme={null}
[
    {
        "field": "created_on_date",
        "type": "timestamp without time zone",
        "display": "Created On Date",
        "units": null,
        "hasTotal": false,
        "date_format": "YYYY-MM-DD",
        "is_filter_only": false
    },
    {
        "field": "gateway_token",
        "type": "bigint",
        "display": "Gateway Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "transaction_token",
        "type": "bigint",
        "display": "Transaction Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "order_token",
        "type": "character varying(80)",
        "display": "Order Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "ach_type",
        "type": "character varying(36)",
        "display": "Ach Type",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "response_message",
        "type": "character varying(300)",
        "display": "Response Message",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "acting_user_id",
        "type": "bigint",
        "display": "Acting User Id",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "acting_user_token",
        "type": "character varying(50)",
        "display": "Acting User Token",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "acting_uai",
        "type": "character varying(50)",
        "display": "Acting Uai",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    },
    {
        "field": "transaction_amount",
        "type": "numeric(14,2)",
        "display": "Transaction Amount",
        "units": null,
        "hasTotal": false,
        "is_filter_only": false
    }
]
```


## Related topics

- [2022 Release Notes](/docs/developer-guides/release-notes-2022.md)
- [Reports In-depth](/docs/developer-guides/reports-in-depth.md)
- [Reports in the Marqeta Dashboard](/docs/developer-guides/reports-dashboard.md)
- [ACH Origination](/docs/developer-guides/ach-origination.md)
