# Query account statement items

Endpoint: GET /accounts/statements
Version: 2025-01-01
Security: BasicAuth

## Security:

  - `BasicAuth` (unknown)
    http basic

## Query parameters:

  - `startDate` (string, required)
    An ISO 8601 date-time string. From date and time. Timespan between 'startDate' and 'endDate' shouldn't exceed 31 days. This should not be a date in the future.

  - `endDate` (string, required)
    An ISO 8601 date-time string. To date and time. Timespan between 'startDate' and 'endDate' shouldn't exceed 31 days. This should not be a date in the future.

  - `accountNumber` (string)
    The account number. You must use this if you are an Account Payout customer. You can use this for a Marketplaces flow.
{% admonition type="warning" %}
`accountNumber` or `partyReference` must be provided. <br><br>
{% /admonition %}
<br>

  - `partyReference` (string)
    Your reference for this party, must be unique within an entity. Typically used for a Marketplaces flow and used to retrieve information about your onboarded party. Allowed values: a-z, A-Z, 0-9, spaces and hyphens.
{% admonition type="warning" %}
`accountNumber` or `partyReference` must be provided. <br><br>
If `partyReference` is provided you must also include `entity` and `currency`.
{% /admonition %}
<br>

  - `entity` (string)
    Used to route the request in Access Worldpay, created as part of on-boarding.

  - `currency` (string)
    The currency in [ISO 4217 currency format](/products/reference/supported-countries-currencies#iso-currency-codes) for the account associated with the party.

  - `pageNumber` (integer)
    The page number of the results. Default is 1 if no value is provided. This value specifies the exact page of each list of statements that you want to retrieve.

  - `pageSize` (integer)
    Exact number of records per page to be shown. Max 500 items/rows. Value must be between 1-500. Default is 500 if no value is provided.

  - `fundingType` (string)
    Credit or debit operation. Value can be credit or debit. If no value is passed, the statement includes both credits and debits.

  - `transferType` (string)
    Type of the transaction used to filter out statement entries. Alphanumeric only. Special characters are restricted.

  - `countryCode` (string)
    The country code specified in [ISO 3166-1 Alpha-2 code format](/products/reference/supported-countries-currencies#iso-country-codes) of the transaction.

  - `amount` (number)
    The transaction amount.

  - `transactionReference` (string)
    Your unique reference for the payment request. This can be a "like" search (exact or partial match). Special characters are allowed. For the list, please see our [formatting guide](/products/reference/formatting.md).

## Header parameters:

  - `WP-Api-Version` (string, required)
    Represents the version of the API.

  - `WP-CorrelationId` (string)
    Optional ID to trace requests, if not provided, it is generated.

  - `WP-CallerId` (string)
    An ID used for logging purposes.

  - `Accept` (string)
    Accept header is optional and must be application/json if provided.

## Response 200:

  - `200` (unknown)
    OK response if the request is valid

## Response 200 fields (application/json):

  - `accountNumber` (string)
    The account number.

  - `currency` (string)
    The currency, determined by the first item in the list. The currency is the same for all items.

  - `accountStatementItems` (array)
    A collection of account statement items.

  - `accountStatementItems.transactionReference` (string)
    Your unique reference for the transaction.

  - `accountStatementItems.transferType` (string)
    The transfer type.

  - `accountStatementItems.amount` (number)
    The amount.

  - `accountStatementItems.timestamp` (string)
    The posting date of the specific statement item.

  - `accountStatementItems.fundingType` (string)
    A credit or debit operation. Value can be `credit` or `debit`.

  - `accountStatementItems.rate` (number)
    The rate applied for FX conversion.

  - `accountStatementItems.cleared` (string)
    Cleared balance or uncleared balance. Value can be `yes` or `no`.

  - `accountStatementItems.description` (string)
    The description of this statement item.

  - `accountStatementItems.statementItemId` (string)
    The statement identifier.

  - `accountStatementItems.balance` (number)
    The balance that resulted from this statement item's transaction.

  - `accountStatementItems.statementNumber` (integer)
    The statement number.

  - `accountStatementItems.narrative` (object)

  - `accountStatementItems.narrative.line1` (string)

  - `accountStatementItems.countryCode` (string)
    The country code.

  - `accountStatementItems.originalCurrency` (string)
    For statement items (debits/credits) with no FX conversion involved, `originalCurrency` value will be null.
In case an FX conversion is involved, then:
- For debit items, `originalCurrency` shows the target currency.
- For credit items, `originalCurrency` shows the source currency.

  - `accountStatementItems.originalAmount` (number)
    For statement items (debits/credits) with no FX conversion involved, `originalAmount` value will be null.
In case an FX conversion is involved, then:
- For debit items, `originalAmount` shows the target amount.
- For credit items, `originalAmount` shows the source amount.

  - `pageNumber` (integer)
    The page number. Default is 1 if no value is provided. This value specifies the exact page of each list of statements that you want to retrieve.

  - `pageSize` (integer)
    The exact number of records per page to be shown. Max 500 items/rows. Value must be between 1-500. Default is 500 if no value is provided.

  - `pageCount` (integer)
    The total number of pages.

  - `totalNumberOfRecords` (integer)
    The total number of records.

## Response 204:

  - `204` (unknown)
    No content for valid request

## Response 400:

  - `400` (unknown)
    BAD REQUEST response if the request is not valid

## Response 400 fields (application/json):

  - `errorName` (string)
    Unique response code for this endpoint.

  - `message` (string)
    Error message.

  - `headerName` (string)
    Error message.

  - `validationErrors` (array)
    Collection of error details. This field may be omitted from the response depending on the nature of the error.

  - `validationErrors.errorName` (string)

  - `validationErrors.message` (string)

  - `validationErrors.queryParameter` (string)

## Response 401:

  - `401` (unknown)
    UNAUTHORIZED response if JWT is not valid

## Response 401 fields (application/json):

  - `errorName` (string)
    Unique response code for this endpoint.

  - `message` (string)
    Error message.

  - `headerName` (string)
    Error message.

## Response 403:

  - `403` (unknown)
    FORBIDDEN response if Entitlements are not valid

## Response 403 fields (application/json):

  - `errorName` (string)
    Unique response code for this endpoint.

  - `message` (string)
    Error message.

  - `headerName` (string)
    Error message.

## Response 404:

  - `404` (unknown)
    NOT FOUND response if the AccountNumber or Page was not found

## Response 404 fields (application/json):

  - `errorName` (string)
    Unique response code for this endpoint.

  - `message` (string)
    Error message.

  - `headerName` (string)
    Error message.

## Response 500:

  - `500` (unknown)
    Internal server error

## Response 500 fields (application/json):

  - `errorName` (string)
    Unique response code for this endpoint.

  - `message` (string)
    Error message.

  - `headerName` (string)
    Error message.

## Response 400 examples:

  - `This example shows an invalid format error.` (unknown)

  - `noFutureDates` (unknown)

  - `DateLimitIntervalExceeded` (unknown)

  - `ExceededMaxLimit` (unknown)

