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

# Retrieve ACH transfer

> Retrieve a specific ACH transfer.

GET/banktransfers/ach/\{token}

Retrieve a specific ACH transfer.

## URL path parameters

| Fields | Description |
| - | - |
| token string  Required | Unique identifier of the bank transfer. **Allowable Values:**  Existing bank transfer token |

## Response body

| Fields | Description |
| - | - |
| amount decimal  Returned | Amount to push or pull. **Allowable Values:**  0.01 min |
| batch\_number string  Conditionally returned | Field required in older versions of the API, but no longer used. **Allowable Values:**  Any integer |
| created\_time datetime  Conditionally returned | Date and time when the ACH transfer was created, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| currency\_code string  Conditionally returned | Valid alpha-3 [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) **Allowable Values:**  Valid alpha-3 [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) |
| funding\_source\_token string  Returned | ACH funding source token for the external account. **Allowable Values:**  36 char max |
| last\_modified\_time datetime  Conditionally returned | Date and time when the ACH transfer was last modified, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| memo string  Conditionally returned | Additional text describing the ACH transfer. **Allowable Values:**  99 char max |
| return\_code string  Conditionally returned | Standardized ACH return code for a returned transaction, generally sent by the RDFI. Transactions can be returned for any of the reasons listed in the [NACHA ACH return codes table](https://www.marqeta.com/docs/developer-guides/ach-origination.md#_nacha_ach_return_codes) of the ACH Origination Guide. **Allowable Values:**  `R01`, `R02`, `R03`, `R04`, `R05`, `R06`, `R07`, `R08`, `R09`, `R10`, `R11`, `R12`, `R13`, `R14`, `R15`, `R16`, `R17`, `R18`, `R19`, `R20`, `R21`, `R22`, `R23`, `R24`, `R25`, `R26`, `R27`, `R28`, `R29`, `R30`, `R31`, `R32`, `R33`, `R34`, `R35`, `R37`, `R38`, `R39`, `R40`, `R41`, `R42`, `R43`, `R44`, `R45`, `R46`, `R47`, `R50`, `R51`, `R52`, `R53`, `R61`, `R67`, `R68`, `R69`, `R70`, `R71`, `R72`, `R73`, `R74`, `R75`, `R76`, `R80`, `R81`, `R82`, `R83`, `R84`, `R85` |
| return\_reason string  Conditionally returned | Human-readable description correlating to the `return_code`, such as `Insufficient funds`, if a return code is present in the response. **Allowable Values:**  255 char max |
| standard\_entry\_class\_code string  Conditionally returned | Three-letter code identifying the type of entry. - **WEB** — An internet-initiated entry - **PPD** — Prearranged Payment and Deposit - **CCD** — Corporate Credit or Debit Entry **Allowable Values:**  `WEB`, `PPD`, `CCD` |
| statement\_descriptor string  Conditionally returned | Description of the transaction, as it will appear on the receiver's bank statement. **Allowable Values:**  10 char max |
| status string  Conditionally returned | New state of the ACH transfer. **Allowable Values:**  `INITIATED`, `PENDING`, `PROCESSING`, `SUBMITTED`, `RETURNED`, `COMPLETED`, `ERROR`, `CANCELLED` |
| token string  Conditionally returned | Unique identifier of the ACH transfer to retrieve. **Allowable Values:**  36 char max |
| transfer\_speed string  Conditionally returned | Specifies how quickly to initiate the ACH transfer. **NOTE:** Same-day transfers are limited to a maximum amount of \$100,000. **Allowable Values:**  `STANDARD`, `SAME_DAY` |
| transitions array of objects  Conditionally returned | Array of ACH transfer transition objects. **Allowable Values:**  Valid array of one or more `transitions` objects |
| transitions\[].**bank\_transfer\_token** string  Returned | Unique identifier of the ACH transfer being transitioned. **Allowable Values:**  36 char max |
| transitions\[].**batch\_number** string  Conditionally returned | Field required in older versions of the API, but no longer used. **Allowable Values:**  Any integer |
| transitions\[].**channel** string  Returned | Mechanism by which the transaction was initiated. **Allowable Values:**  `API`, `SYSTEM` |
| transitions\[].**created\_time** datetime  Conditionally returned | Date and time when the ACH transfer was created, in UTC. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| transitions\[].**last\_modified\_time** datetime  Conditionally returned | Date and time when the ACH transfer was last modified. **Allowable Values:**  datetime **Format:** yyyy-MM-ddThh:mm:ssZ |
| transitions\[].**program\_reserve\_token** string  Conditionally returned | Not currently used. **Allowable Values:**  36 char max |
| transitions\[].**reason** string  Conditionally returned | Explanation of why the transition is being made, for example "Created by POST call on API". Returned if this information was supplied when the transition was originally created. **Allowable Values:**  255 char max |
| transitions\[].**return\_code** string  Conditionally returned | Standardized ACH return code for a returned transaction, generally sent by the RDFI. Transactions can be returned for any of the reasons listed in the [NACHA ACH return codes table](https://www.marqeta.com/docs/developer-guides/ach-origination.md#_nacha_ach_return_codes) of the ACH Origination Guide. **Allowable Values:**  `R01`, `R02`, `R03`, `R04`, `R05`, `R06`, `R07`, `R08`, `R09`, `R10`, `R11`, `R12`, `R13`, `R14`, `R15`, `R16`, `R17`, `R18`, `R19`, `R20`, `R21`, `R22`, `R23`, `R24`, `R25`, `R26`, `R27`, `R28`, `R29`, `R30`, `R31`, `R32`, `R33`, `R34`, `R35`, `R37`, `R38`, `R39`, `R40`, `R41`, `R42`, `R43`, `R44`, `R45`, `R46`, `R47`, `R50`, `R51`, `R52`, `R53`, `R61`, `R67`, `R68`, `R69`, `R70`, `R71`, `R72`, `R73`, `R74`, `R75`, `R76`, `R80`, `R81`, `R82`, `R83`, `R84`, `R85` |
| transitions\[].**return\_reason** string  Conditionally returned | Human-readable description correlating to the `return_code`, such as `Insufficient funds`, if a return code is present in the response. **Allowable Values:**  255 char max |
| transitions\[].**status** string  Returned | New state of the ACH transfer. **Allowable Values:**  `PENDING`, `PROCESSING`, `SUBMITTED`, `RETURNED`, `COMPLETED`, `CANCELLED` |
| transitions\[].**token** string  Conditionally returned | Unique identifier of the bank transfer transition. **Allowable Values:**  36 char max |
| transitions\[].**transaction\_jit\_token** string  Conditionally returned | Transaction token for JIT-related ledger entries for the ACH transfer. **Allowable Values:**  Existing JIT Funding transaction token |
| transitions\[].**transaction\_token** string  Conditionally returned | Transaction token for **non**-JIT-related ledger entries for the ACH transfer. **Allowable Values:**  Existing transaction token |
| type string  Conditionally returned | Specifies whether the ACH transfer is a push (credit) or pull (debit). **Allowable Values:**  `PUSH`, `PULL` |

## Sample response body

```json JSON expandable lines wrap theme={null}
{
  "token": "f8b8245f-fc36-49f3-9f9f-f63b159501b7",
  "amount": 100.11,
  "funding_source_token": "bbaefe8f-f5d0-43f6-8576-16f562d23f3f",
  "type": "PUSH",
  "currency_code": "USD",
  "transfer_speed": "STANDARD",
  "statement_descriptor": "ACHTRNSFR",
  "standard_entry_class_code": "WEB",
  "status": "PROCESSING",
  "transitions": [
    {
      "token": "1d208bf9-8439-4b35-9c43-6d5bc74995c7",
      "bank_transfer_token": "f8b8245f-fc36-49f3-9f9f-f63b159501b7",
      "status": "PENDING",
      "reason": "Created by `POST` call on API",
      "channel": "API",
      "created_time": "2024-03-22T18:01:00Z",
      "last_modified_time": "2024-03-22T18:01:00Z"
    },
    {
      "token": "55f5b1ac-39f6-484d-8284-116046a2efaa",
      "bank_transfer_token": "f8b8245f-fc36-49f3-9f9f-f63b159501b7",
      "status": "PROCESSING",
      "reason": "Created by `POST` call on API",
      "channel": "API",
      "created_time": "2024-03-22T18:01:17Z",
      "last_modified_time": "2024-03-22T18:01:17Z"
    }
  ],
  "created_time": "2024-03-22T18:01:00Z",
  "last_modified_time": "2024-03-22T18:01:17Z"
}
```


## Related topics

- [ACH Origination](https://www.marqeta.com/docs/developer-guides/ach-origination.md)
- [Funding via ACH Overview](https://www.marqeta.com/docs/core-api/funding-via-ach.md)
- [List ACH transfers](https://www.marqeta.com/docs/core-api/funding-via-ach/list-transfers.md)
- [List ACH transfer transitions](https://www.marqeta.com/docs/core-api/funding-via-ach/list-transfer-transitions.md)
- [Create ACH transfer](https://www.marqeta.com/docs/core-api/funding-via-ach/create-ach-transfer.md)
