# Transactions
source: https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/accounts/transactions/index.md

The service exposes an endpoint that allows you to access financial transactions from different accounts within a chosen time period.

To receive transactions from a specific account:

```shell
curl https://api.nordicapigateway.com/v2/accounts/{accountId}/transactions?fromDate={YYYY-MM-DD} \
  -H 'X-Client-Id: CLIENT_ID' \
  -H 'X-Client-Secret: CLIENT_SECRET' \
  -H 'Authorization: Bearer ACCESS_TOKEN'
```

#### Parameters {#parameters}

|   **Name**    | **Required** |  **Type**  |                                            **Description**                                            |
|---------------|--------------|------------|-------------------------------------------------------------------------------------------------------|
| `accountId`   | Yes          | `string`   | Account identifier received from `/v2/accounts`                                                       |
| `pagingToken` | No           | `string`   | A paging token received from a previous request for transactions                                      |
| `fromDate`    | No           | `datetime` | The date to fetch transaction from. Defaults to `2000-01-01`                                          |
| `withDetails` | No           | `boolean`  | Get details about the transaction. This requires your client app to have transaction details enabled. |

**Are you having trouble?**

Ensure a valid access token is available when completing the login flow described in [API Authentication](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/api-basics/api-authentication/index.md), and that there is a valid account id. Refer to [Error Handling](https://developer.mastercard.com/open-finance-europe/documentation/licensed/aiia-enterprise/codes-formats/index.md) to see what could be wrong.

#### Result {#result}

The call returns the following JSON object:

```json
{
  "transactions": [
    {
      "id": "20190527-5500-0",
      "date": "2019-05-27T00:00:00",
      "creationTime": null,
      "text": "Føtex Storcenter N",
      "originalText": "Føtex Storcenter N 53865",
      "details": <see 'Transaction details' below>,
      "amount": {
          "value": -55,
          "currency": "DKK"
      },
      "balance": {
          "value": -10880.26,
          "currency": "DKK"
      },
      "type": "Unknown",
      "state": "Booked"
    },
    {
      "id": "20190527-4200-0",
      "date": "2019-05-27T00:00:00",
      "creationTime": null,
      "text": "Føtex Storcenter N",
      "originalText": "Føtex Storcenter N 41716",
      "details": <see 'Transaction details' below>,
      "amount": {
          "value": -42,
          "currency": "DKK"
      },
      "balance": {
          "value": -10825.26,
          "currency": "DKK"
      },
      "type": "Unknown",
      "state": "Booked"
    },
    ... <more transaction objects>
  ],
  "pagingToken": "Og4AAVDaXoZX0ZXh0AOENAAAi-BWVrk0lQSwnxD..."
}
```

The transaction object contains a lot of information, including:

* The date of the transaction
* A description
* The amount of the transaction and the current state

|    **Name**    | **Required** |                                                                                                                   **Type**                                                                                                                   | **Description** |
|----------------|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------|
| `id`           | `string`     | An ASPSP specific identifier of the transaction. This identifier is guaranteed unique within a single account.                                                                                                                               |                 |
| `date`         | `datetime`   | The booked date of the transaction                                                                                                                                                                                                           |                 |
| `creationTime` | `datetime`   | Creation date and time, if available. Often more meaningful to the user than the booked date                                                                                                                                                 |                 |
| `text`         | `string`     | A nice and user-friendly version of the 'OriginalText'. May be identical to 'OriginalText' if no cleanup could be done                                                                                                                       |                 |
| `originalText` | `string`     | The transaction text as sent from the ASPSP                                                                                                                                                                                                  |                 |
| `details`      | `object`     | Additional transaction details, including the transaction source, destination, execution date, and so on.                                                                                                                                    |                 |
| `amount`       | `object`     | The amount of transacted currency, along with the ISO 4217 currency code ([website](https://www.currency-iso.org/en/home/tables/table-a1.html)). Debits are represented as negative numbers and deposits are represented as positive numbers |                 |
| `balance`      | `object`     | The account balance after the transaction, along with the ISO 4217 currency code ([website](https://www.currency-iso.org/en/home/tables/table-a1.html))                                                                                      |                 |
| `type`         | `string`     | Transaction type which can have one of the following values: `Unknown`,`InternalCounterEntry`, `Card`, `PeerToPeer`, `DirectDebit`, `BankTransfer`, `CashWithdrawal`                                                                         |                 |
| `state`        | `string`     | Current transaction state which can have one of the following values: `Booked`, `Reserved`, `Scheduled`. Note that when a transaction changes state, it will most likely get a new `id`                                                      |                 |
| `pagingToken`  | `string`     | If the account has more transactions than possible to fetch with a single request, additional transactions can be fetched by providing this token in a new request                                                                           |                 |

##### Transaction details {#transaction-details}

If transaction details have been requested by setting `withDetails` to `true`, each transaction's `details` property are populated with the information available from the provider:

```json
...
  "details": {
    "message": null,
    "valueDate": null,
    "executionDate": null,
    "reward": {
      "type": "Cashback",
      "amount": {
        "value": 7.49,
        "currency": "DKK"
      },
      "points": null
    },
    "source": null,
    "destination": null,
    "identifiers": null,
    "currencyConversion": null
  }
...
```

