> ## 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 Origination

> Use this view endpoint to retrieve data about ACH origination. The data is derived from usage of Marqeta's ACH Origination product on the Marqeta platform.

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>;
};

Use this view endpoint to retrieve transaction-level detail for ACH Origination transfers for both Program Funding and User Funding use cases. The data is derived from ACH origination transactions on the Marqeta platform.

For in-depth information on this endpoint, see [ACH Origination](/developer-guides/reports-in-depth/#_ach_origination) in Reports In-depth.

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_origination_detail_data_json">
  Retrieve ACH Origination detail data (JSON)
</h2>

**Action:** `GET`\
**Endpoint:** `/views/achorigination/detail`

Retrieve ACH origination detail data. 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/achorigination/detail?program=my_program&fields=transfer_amount,currency` endpoint.

```json JSON expandable lines wrap theme={null}
{
"total": 72,
    "is_more": false,
    "count": 72,
    "info": {},
    "start_date": "2022-02-01T00:00:00+0000",
    "end_date": "2022-02-01T00:00:00+0000",
    "last_run_time": "2022-02-01T00:00:00+0000",
    "schema": [
        {
            "field": "transfer_amount",
            "type": "numeric(14,2)",
            "display": "Transfer Amount",
            "description": null,
            "units": null,
            "has_total": false,
            "is_filter_only": false
        },
        {
            "field": "currency",
            "type": "character varying(12)",
            "display": "Currency",
            "description": "The abbreviated currency code.",
            "units": null,
            "has_total": false,
            "is_filter_only": false
        }
    ],
    "records": [
        {
            "transfer_amount": 129.75,
            "currency": "USD"
        },
        {
            "transfer_amount": 1539.69,
            "currency": "USD"
        },
        ...
        {
            "transfer_amount": 100.00,
            "currency": "USD"
        }
    ]
}
```

<h2 id="_retrieve_ach_origination_detail_data_file_export">
  Retrieve ACH origination detail data (file export)
</h2>

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

Retrieve ACH origination detail data in a file. 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="_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_origination_detail_schema">
  Retrieve ACH origination detail schema
</h2>

**Action:** `GET`\
**Endpoint:** `/views/achorigination/detail/schema`

Retrieve a JSON representation of the ACH Origination view schema. 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/achorigination/detail/schema?program=my_program` endpoint. The schema can vary based on the data you are authorized to access (based on the credentials you provide in your request).

```json JSON expandable lines wrap theme={null}
[
    {
        "field": "program",
        "type": "character varying(256)",
        "display": "Program",
        "description": "The name of the card program.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "bank",
        "type": "character varying(256)",
        "display": "Bank",
        "description": "The bank under which the program operates.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "bank_transfer_id",
        "type": "integer",
        "display": "Bank Transfer ID",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "ach_transfer_token",
        "type": "character varying(256)",
        "display": "ACH Transfer Token",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "funding_source_token",
        "type": "character varying(256)",
        "display": "Funding Source Token",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "payment_order_token",
        "type": "character varying(256)",
        "display": "Payment Order Token",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "account_holder_token",
        "type": "character varying(256)",
        "display": "Account Holder Token",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "account_holder_token_type",
        "type": "character varying(1080)",
        "display": "Account Holder Token Type",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "ach_origination_use_case",
        "type": "character varying(256)",
        "display": "ACH Origination Use Case",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transfer_status",
        "type": "character varying(256)",
        "display": "Transfer Status",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transfer_type",
        "type": "character varying(256)",
        "display": "Transfer Type",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "debit_or_credit",
        "type": "character varying(256)",
        "display": "Debit or Credit Indicator",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transfer_amount",
        "type": "numeric(14,2)",
        "display": "Transfer Amount",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "currency",
        "type": "character varying(12)",
        "display": "Currency",
        "description": "The abbreviated currency code.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "memo",
        "type": "character varying(1020)",
        "display": "Memo",
        "description": "Memo associated.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "statement_descriptor",
        "type": "character varying(256)",
        "display": "Statement Descriptor",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transfer_speed",
        "type": "character varying(32)",
        "display": "The speed of the ACH transfer. Possible values: Standard, Same Day",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "standard_entry_class_code",
        "type": "character varying(12)",
        "display": "Standard Entry Class (SEC) Code",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transfer_created_time",
        "type": "timestamp without time zone",
        "display": "Transfer Created Time",
        "description": null,
        "date_format": "YYYY-MM-DD",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "last_modified_time",
        "type": "timestamp without time zone",
        "display": "Last Modified Date",
        "description": "The date when the record was most recently updated.",
        "date_format": "YYYY-MM-DD",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "effective_date",
        "type": "timestamp without time zone",
        "display": "Effective Date",
        "description": null,
        "date_format": "YYYY-MM-DD",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "return_date",
        "type": "timestamp without time zone",
        "display": "Return Date",
        "description": null,
        "date_format": "YYYY-MM-DD",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "return_code",
        "type": "character varying(500)",
        "display": "Return Code",
        "description": "A code relating to ach reversals and the reason for a reversal. Reasons vary from insufficient funds to invalid account numbers.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "return_reason",
        "type": "character varying(1080)",
        "display": "Return Reason",
        "description": null,
        "units": null,
        "has_total": false,
        "is_filter_only": false
    },
    {
        "field": "transaction_token",
        "type": "integer",
        "display": "Transaction Token",
        "description": "The token of the transaction; unique within a program.",
        "units": null,
        "has_total": false,
        "is_filter_only": false
    }
]
```


## Related topics

- [ACH Origination](/docs/developer-guides/ach-origination.md)
- [2021 Release Notes](/docs/developer-guides/release-notes-2021.md)
- [Funding via ACH](/docs/core-api/funding-via-ach.md)
- [2022 Release Notes](/docs/developer-guides/release-notes-2022.md)
- [Reports In-depth](/docs/developer-guides/reports-in-depth.md)
