---
title: "Create a Transactions Request"
method: POST
path: "/v3/connected-accounts/{account_id}/transactions/requests"
tags: ["Accounts"]
---

# Create a Transactions Request

`POST /v3/connected-accounts/{account_id}/transactions/requests`

## Request

- Base URL: `https://api.truelayer-sandbox.com`
- URL: `https://api.truelayer-sandbox.com/v3/connected-accounts/{account_id}/transactions/requests`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.truelayer.com/connect/token` scopes: `data`

Creates an asynchronous request to retrieve transactions for an account over a date range.

The request is processed asynchronously: a `202` response returns the request `id` (use this value as `{request_id}` when polling) and an initial `status` of `pending`. Poll for the result using the returned `id`.

Results are paginated and returned in a stable order: by `timestamp` descending, then `id` descending as a unique tie-breaker. Pass the `next_cursor` from a previous page as `cursor` to retrieve the next page; a null `next_cursor` means there are no further transactions.

This API must be called using a `client_credentials` bearer token.

Note: `from`/`to` applies to settled transactions. Returned pending transactions may have dates outside the requested range — behaviour varies by bank.

## Path parameters

- `account_id` string, required

## Headers

- `Connection-Id` string, required
- `Tl-User-IP` string

## Request body

- CreateTransactionsRequest
  - `from` string, date, required: The start of the date range (inclusive) for which to retrieve transactions, in `YYYY-MM-DD` format.
  - `to` string, date, required: The end of the date range (inclusive) for which to retrieve transactions, in `YYYY-MM-DD` format.
  - `cursor` string: Cursor used for pagination purposes that represents the first item of the page. Returned as `next_cursor` in the response payload of endpoints supporting pagination. Not required to access the first page of items.
  - `page_size` integer: The maximum number of transactions to return per page. Optional; if omitted, defaults to 50. The server returns `min(500, requested)` items.
  - `enrichment` Enrichment: Configures the enrichments to perform on the retrieved transactions. Currently both must be true; individual enrichments are not yet supported.
    - `transaction_category` true, required: When `true`, enrich transactions with a category assigned to the transaction.
    - `merchant_name` true, required: When `true`, enrich transactions with the name of the company associated with the transaction.

## Response `202`

Transactions Request Accepted

- TransactionsRequestPending
  - `id` string, uuid, required: The unique identifier of the transactions request.
  - `status` 'pending', required: The transactions request is still being processed. Poll again to retrieve the result.

## Other responses

- `400`: Invalid Request
- `401`: Unauthenticated
- `403`: Forbidden
- `404`: Not Found
- `429`: Rate Limit Exceeded
- `500`: Unknown Error
- `502`: Provider Error
- `504`: Gateway Timeout

---

[API](https://skmtc.dev/truelayer/apis/data-api-v3.md) - [All operations](https://skmtc.dev/truelayer/apis/data-api-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/truelayer/apis/data-api-v3/revisions/ee1f295425a0?raw)
