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

# List ACH transfer transitions

> Retrieve a list of all ACH transfer transitions for a given ACH transfer.

GET/banktransfers/ach/transitions

Retrieve a list of all ACH transfer transitions for a given ACH transfer.

## URL query parameters

| Fields | Description |
| - | - |
| count integer  Optional | Number of bank transfer transitions to retrieve. **Allowable Values:**  50 max  1-10 |
| token string  Optional | Unique identifier of the bank transfer transition. **Allowable Values:**  Existing bank transfer transition token |
| bank\_transfer\_token string  Optional | Unique identifier of the bank transfer. **Allowable Values:**  Existing bank transfer token |
| start\_index integer  Optional | Sort order index of the first resource in the returned array. **Allowable Values:**  Any integer |
| sort\_by string  Optional | Field on which to sort. Use any field in the resource model, or one of the system fields `lastModifiedTime` or `createdTime`. Prefix the field name with a hyphen (`-`) to sort in descending order. Omit the hyphen to sort in ascending order. **Allowable Values:**  `createdTime`, `lastModifiedTime`, or any field in the resource model **Default value:** `-lastModifiedTime` |
| statuses string  Optional | Comma-delimited list of bank transfer states to display. **Allowable Values:**  `PENDING`, `PROCESSING`, `SUBMITTED`, `RETURNED`, `COMPLETED`, `CANCELLED` |

## Response body

| Fields | Description |
| - | - |
| count integer  Conditionally returned | Number of resources retrieved. This field is returned if there are resources in your returned array. **Allowable Values:**  1-10 |
| data array of objects  Conditionally returned | Array of ACH transfer transition objects. This field is returned if there are resources in your returned array. **Allowable Values:**  A valid array of one or more ACH transfer transition objects |
| data\[].**bank\_transfer\_token** string  Returned | Unique identifier of the ACH transfer being transitioned. **Allowable Values:**  36 char max |
| data\[].**batch\_number** string  Conditionally returned | Field required in older versions of the API, but no longer used. **Allowable Values:**  Any integer |
| data\[].**channel** string  Returned | Mechanism by which the transaction was initiated. **Allowable Values:**  `API`, `SYSTEM` |
| data\[].**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 |
| data\[].**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 |
| data\[].**program\_reserve\_token** string  Conditionally returned | Not currently used. **Allowable Values:**  36 char max |
| data\[].**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 |
| data\[].**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` |
| data\[].**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 |
| data\[].**status** string  Returned | New state of the ACH transfer. **Allowable Values:**  `PENDING`, `PROCESSING`, `SUBMITTED`, `RETURNED`, `COMPLETED`, `CANCELLED` |
| data\[].**token** string  Conditionally returned | Unique identifier of the bank transfer transition. **Allowable Values:**  36 char max |
| data\[].**transaction\_jit\_token** string  Conditionally returned | Transaction token for JIT-related ledger entries for the ACH transfer. **Allowable Values:**  Existing JIT Funding transaction token |
| data\[].**transaction\_token** string  Conditionally returned | Transaction token for **non**-JIT-related ledger entries for the ACH transfer. **Allowable Values:**  Existing transaction token |
| end\_index integer  Conditionally returned | Sort order index of the last resource in the returned array. This field is returned if there are resources in your returned array. **Allowable Values:**  Any integer |
| is\_more boolean  Conditionally returned | A value of `true` indicates that more unreturned resources exist. A value of `false` indicates that no more unreturned resources exist. This field is returned if there are resources in your returned array. **Allowable Values:**  `true`, `false` |
| start\_index integer  Conditionally returned | Sort order index of the first resource in the returned array. This field is returned if there are resources in your returned array. **Allowable Values:**  Any integer |

## Sample response body

```json JSON expandable lines wrap theme={null}
{
  "count": 2,
  "start_index": 0,
  "end_index": 1,
  "is_more": false,
  "data": [
    {
      "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"
    }
  ]
}
```


## Related topics

- [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)
- [Create ACH transfer transition](https://www.marqeta.com/docs/core-api/funding-via-ach/create-transfer-transition.md)
- [Create ACH transfer](https://www.marqeta.com/docs/core-api/funding-via-ach/create-ach-transfer.md)
- [Retrieve ACH transfer](https://www.marqeta.com/docs/core-api/funding-via-ach/retrieve-ach-transfer.md)
