---
updatedAt: 2025-09-15T16:04:00.000Z
agentTools:
  projectIndex: https://guides.tell.money/llms.txt
---

# Resources

<Callout icon="📗" theme="default">
  ### INTEGRATOR GUIDE

  ##### 🤔 [Is this the right developer guide for me?](https://guides.tell.money/docs/which-guide)
</Callout>

# Introduction

With an active Consent in place, an <Glossary>Account Holder</Glossary> (or more specifically, a <Glossary>Third Party Provider</Glossary> on their behalf) can perform the actions related to that Consent. For example, if the Consent was for Account Access, they can start to retrieve balances, transaction lists etc, or if the Consent was for a payment, they can request execution of that payment.

\*\*tell.\*\*gateway performs validation of the Consent and the third party provider, after which we call the API URL you have configured to return the relevant information or complete the action. You will need to expose an API endpoint that can consume our request, perform the relevant action, and return a response.

<Callout icon="❗️" theme="error">
  All requests from are sent via **POST** to a **single URL endpoint** per Gateway, containing details of the type of request and any relevant data in a JSON-formatted body. You do not need to implement different resource endpoints for each operation.
</Callout>

For example, if you have provided an API URL of

```
https://your-bank.com/tell-gateway-api
```

then all requests to your system will hit that endpoint, and the details of the type of operation are contained in the payload, not the URL.

Set your API URL within the <Glossary>Console</Glossary> by navigating to your <Glossary>Gateway</Glossary>, selecting the environment (Production or Integration) and entering it under **YOUR API URI**.

<Callout icon="🔧" theme="default">
  ### Integrator Note:

  You can use a different URL for each Gateway (e.g. yoururl.com/client1, yoururl.com/client2) as a means of separating and identifying the Gateway application.

  Or you can use a single URL for all Gateways (e.g. yoururl.com) and rely on the contents of the API request from tell.money (x-api-key) to identify the Gateway.
</Callout>

***

# Sample Request & Response

The anatomy of a request and response is described in detail in the sections below, but for now, here is an example of what the end result will look like.

**Sample Request from tell.gateway**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json
{
  "Info": {
    "Operation": "GET /balance",
    "RqId": "22a70d29-08d5-491c-942f-fb3a3a4ad6d1",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
    "AccountId": "10000001"
  }
}
```

**Sample Response from account provider**

```
{
  "Amount": "17.00",
  "Currency": "GBP",
  "CreditDebit": "Credit"
}
```

***

# Request Format

Requests from \*\*tell.\*\*gateway include an **API KEY** and a **SIGNED JWT** in the Header, and a JSON body containing **INFO** (information about the request) and **DATA** (specifics of the request itself).

## ❯ Headers

Security Headers allow you to verify requests have come from \*\*tell.\*\*gateway and have not been tampered with in transit.

### API Key

To view your API Key within the Management Console, navigate to your Gateway, select the environment (Production or Integration), and click the tab titled **Calling Your APIs**.

```
--header 'x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
```

### SIGNED JWT

A JWT is formed of a header, a payload (which is the same as the main request payload) and is signed with our Private Key using the RS256 algorithm.

You should verify the signature using our Public Key. To view the relevant Public Key within the Management Console, navigate to your Gateway, select the environment (Production or Integration), and click the tab titled **Calling Your APIs**.

```
--header 'x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx'
```

## ❯ Body

Request payloads consist of a JSON body with two objects; **Info** and **Data**

### Info

The **Info** object provides high-level information about the request.

<Table align={["left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Operation
      </td>

      <td>
        Name of the operation being requested
      </td>
    </tr>

    <tr>
      <td>
        RqId
      </td>

      <td>
        A UUID generated by **tell.**gateway to identify an individual request
      </td>
    </tr>

    <tr>
      <td>
        ConsentId
      </td>

      <td>
        The Consent ID allocated by **tell.**gateway when the consent was created and used in the initial authorisation process
      </td>
    </tr>

    <tr>
      <td>
        UserId
      </td>

      <td>
        The account holder identifier provided by your application when the consent was granted
      </td>
    </tr>

    <tr>
      <td>
        Tpp
      </td>

      <td>
        An object containing information about the third party provider making the request campaign. This object contains two elements:

        * TppName
        * AppName
      </td>
    </tr>
  </tbody>
</Table>

```
"Info": {
  "Operation": "GET /balance",
  "RqId": "22a70d29-08d5-491c-942f-fb3a3a4ad6d1",
  "UserId": "106726572",
  "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
  "Tpp": {
    "TppName": "Tell Money",
    "AppName": "My Sandbox App"
  }
}
```

**Data**

The **Data** object is specific to the type of operation being requested and may contain user or event-related information. The structure for each Operation is outlined below.

```
  "Data": {
    "AccountId": "10000001"
  }
```

***

# Response Format

Having received and processed a Request from \*\*tell.\*\*gateway (including performing security checks on the header elements), you should construct and return a response as described below.

## ❯ HTTP Status Code

Your response should use one of the following http status codes:

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Status Code
      </th>

      <th>
        Usage
      </th>

      <th>
        Body Required
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        200
      </td>

      <td>
        For all successfully processed requests
      </td>

      <td>
        Yes – as described in this documentation
      </td>
    </tr>

    <tr>
      <td>
        400
      </td>

      <td>
        If you are unable to fulfil the request for reasons other than a technical fault (e.g. if an account is closed) then you should return 400. These responses must be accompanied by a JSON Object describing the “Error”, which we will pass back to the third party provider.
      </td>

      <td>
        Yes, in the format:

        \{
        "Error": "account inactive"
        }
      </td>
    </tr>

    <tr>
      <td>
        404
      </td>

      <td>
        If the resource cannot be found return 404. No response body is required.
      </td>

      <td>
        No
      </td>
    </tr>

    <tr>
      <td>
        500
      </td>

      <td>
        For any system-related errors. Where possible, the response should be accompanied by a JSON Object describing the “Error”, although this isn’t mandatory. The error body will be logged for reporting and bug checking purposes but will not be returned to the third party provider.
      </td>

      <td>
        Optional
      </td>
    </tr>
  </tbody>
</Table>

## ❯ Body

Expect where indicated above (in the case of 404 or 500 status codes), you should always return a well-formed JSON object in the body of your response.

The contents of the response body will differ depending on the type of Operation and are described below.

***

# Operations

Depending on the APIs and endpoints you have enabled for your Gateway, there are twelve potential **Operations** that may be presented to your application.

| Operation                                                           | API                        | Description                                                                        |
| :------------------------------------------------------------------ | :------------------------- | :--------------------------------------------------------------------------------- |
| [GET /accounts](#-get-accounts)                                     | <Glossary>AISP</Glossary>  | Requests a list of accounts associated with a consent                              |
| [GET /account](#-get-account)                                       | <Glossary>AISP</Glossary>  | Requests details of an account associated with a consent                           |
| [GET /balance](#-get-balance)                                       | <Glossary>AISP</Glossary>  | Requests the balance of an account associated with a consent                       |
| [GET /transactions](#-get-transactions)                             | <Glossary>AISP</Glossary>  | Requests a list of transactions for an account associated with a consent           |
| [GET /beneficiaries](#-get-beneficiaries)                           | <Glossary>AISP</Glossary>  | Requests a list of beneficiaries for an account associated with a consent          |
| [GET /direct-debits](#-get-direct-debits)                           | <Glossary>AISP</Glossary>  | Requests a list of direct debits for an account associated with a consent          |
| [GET /scheduled-payments](#-get-scheduled-payments)                 | <Glossary>AISP</Glossary>  | Requests a list of scheduled payments for an account associated with a consent     |
| [GET /standing-orders](#-get-standing-orders)                       | <Glossary>AISP</Glossary>  | Requests a list of standing orders for an account associated with a consent        |
| [GET /statements](#-get-statements)                                 | <Glossary>AISP</Glossary>  | Requests a list of statements for an account associated with a consent             |
| [GET /payment-funds-confirmation](#-get-payment-funds-confirmation) | <Glossary>PISP</Glossary>  | Requests confirmation funds are available for a payment that has been consented to |
| [POST /payment](#-post-payment)                                     | <Glossary>PISP</Glossary>  | Requests execution of a payment that has been previously consented to by the User  |
| [GET /payment](#-get-payment)                                       | <Glossary>PISP</Glossary>  | Requests status of a payment that has been submitted for execution                 |
| [POST /funds-confirmation](#-post-funds-confirmation)               | <Glossary>CBPII</Glossary> | Requests confirmation of funds                                                     |

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /accounts

An AISP requests the full list of accounts that the account holder has authorised at the Consent stage.

**Request**

The request **Data** object will be empty for this Operation.

**Response**

\*\*tell.**gateway automatically filters out any accounts that have not been consented to, so you may choose to simply return all accounts for the given user.** tell.\*\*gateway also filters the response details based on the type of permissions consented to, so you should ensure that the full data set is returned on all occasions.

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Accounts
      </td>

      <td>
        An array of Accounts
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Accounts/AccountId
      </td>

      <td>
        A unique identifier for the account (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Accounts/Currency
      </td>

      <td>
        Account currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Accounts/AccountType
      </td>

      <td>
        Type of account
      </td>

      <td>
        Yes
      </td>

      <td>
        Personal
        Business
      </td>
    </tr>

    <tr>
      <td>
        Accounts/AccountSubType
      </td>

      <td>
        The sub type of account
      </td>

      <td>
        Yes
      </td>

      <td>
        ChargeCard
        CreditCard
        CurrentAccount
        EMoney
        Loan
        Mortgage
        PrePaidCard
        Savings
      </td>
    </tr>

    <tr>
      <td>
        Accounts/Nickname
      </td>

      <td>
        The nickname of the account
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Accounts/SchemeName
      </td>

      <td>
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        If using MSISDN, return MSISDN.

        Otherwise use CustomCode.
      </td>

      <td>
        Yes
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * SortCodeAccountNumber

        * IBAN

        * CustomCode

          <Glossary>NextGenPSD2</Glossary>:

        * IBAN

        * BBAN

        * MSISDN
      </td>
    </tr>

    <tr>
      <td>
        Accounts/Identification
      </td>

      <td>
        If SchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number.
        If using CustomCode, provide the Identifier as known to your account holder.
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Accounts Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /accounts",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {}
}
```

**GET Accounts Response**

```
{
  "Accounts": [
    {
      "AccountId": "10000001",
      "Currency": "GBP",
      "AccountType": "Personal",
      "AccountSubType": "CurrentAccount",
      "Nickname": "General Account",
      "Identification": "00000010000001",
      "SchemeName": "SortCodeAccountNumber"
    },
    {
      "AccountId": "10000002",
      "Currency": "GBP",
      "AccountType": "Personal",
      "AccountSubType": "CurrentAccount",
      "Nickname": "Main Account",
      "Identification": "1234ACC666-01",
      "SchemeName": "CustomCode"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /account

An AISP requests details of a specified account.

**Request**

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

\*\*tell.\*\*gateway filters the response based on the type of permissions consented to, so you should ensure that the full data set is returned.

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Currency
      </td>

      <td>
        Account currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        AccountType
      </td>

      <td>
        Type of account
      </td>

      <td>
        Yes
      </td>

      <td>
        Personal
        Business
      </td>
    </tr>

    <tr>
      <td>
        AccountSubType
      </td>

      <td>
        The sub type of account
      </td>

      <td>
        Yes
      </td>

      <td>
        ChargeCard
        CreditCard
        CurrentAccount
        EMoney
        Loan
        Mortgage
        PrePaidCard
        Savings
      </td>
    </tr>

    <tr>
      <td>
        Nickname
      </td>

      <td>
        The nickname of the account
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        SchemeName
      </td>

      <td>
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        If using MSISDN, return MSISDN

        Otherwise use CustomCode.
      </td>

      <td>
        Yes
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * SortCodeAccountNumber

        * IBAN

        * CustomCode

        <Glossary>NextGenPSD2</Glossary>:

        * IBAN

        * BBAN

        * MSISDN
      </td>
    </tr>

    <tr>
      <td>
        Identification
      </td>

      <td>
        If SchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number.
        If using CustomCode, provide the Identifier as known to your account holder.
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Account Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /account",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Account Response**

```
{
  "Currency": "GBP",
  "AccountType": "Personal",
  "AccountSubType": "CurrentAccount",
  "Nickname": "General Account",
  "Identification": "00000010000001",
  "SchemeName": "SortCodeAccountNumber"
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /balance

An AISP requests the available balance of a specified account.

**Request**

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Amount
      </td>

      <td>
        The current available balance expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Currency
      </td>

      <td>
        Identification of the currency in which the balance is expressed in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        CreditDebit
      </td>

      <td>
        Indicates whether the balance is a credit or a debit balance
      </td>

      <td>
        Yes
      </td>

      <td>
        Credit
        Debit
      </td>
    </tr>
  </tbody>
</Table>

**GET Balance Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /balance",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Balance Response**

```
{
  "Amount": "12.34",
  "Currency": "GBP",
  "CreditDebit": "Credit"
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /transactions

An AISP requests a list of transactions for a specified account. Transactions will automatically be filtered by **tell.** based on the `BookingDateTime` in your response using the `FromBookingDateTime` and `ToBookingDateTime` request parameters.

Optionally, you can provide paginated responses. This is useful in cases where an account has a large amount of transactions to help reduce latency between **tell.** and you. To achieve this, you must handle `Offset` in the request body and return these response headers:

* `x-offset` - The current page that is returned (starting at `"0"`).
* `x-total-pages` - The total number of pages available.
* `x-array-size` - The number of transactions per page.
* `x-total-elements` - The total number of transactions.

If the [GET /statements](#-get-statements) functionality is enabled, you will need to handle `StatementId` in the request parameters.

**Request**

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Usage
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        AccountId
      </td>

      <td>
        A unique identifier for the account being requested
      </td>

      <td>
        Mandatory
      </td>
    </tr>

    <tr>
      <td>
        FromBookingDateTime
      </td>

      <td>
        If specified, this indicates the date from which the transactions should be filtered
      </td>

      <td>
        Optional
      </td>
    </tr>

    <tr>
      <td>
        ToBookingDateTime
      </td>

      <td>
        If specified, this indicates the date to which the transactions should be filtered
      </td>

      <td>
        Optional
      </td>
    </tr>

    <tr>
      <td>
        Offset
      </td>

      <td>
        This indicates the page to be returned (starting at `"0"`).

        If you are not providing paginated responses, you may ignore this.
      </td>

      <td>
        Optional

        _Mandatory to handle if providing paginated responses_
      </td>
    </tr>

    <tr>
      <td>
        StatementId
      </td>

      <td>
        If specified, this indicates the statement identifier to which transactions are associated with.

        If [GET /statements](#❯-get-statements) is not enabled, you may ignore this.
      </td>

      <td>
        Optional

        _Mandatory to handle if[GET /statements](#❯-get-statements) is enabled_
      </td>
    </tr>
  </tbody>
</Table>

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Transactions
      </td>

      <td>
        An array of Transactions
      </td>

      <td>
        Yes
      </td>

      <td>
        Provide an empty array if there's no transactions.
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        TransactionId
      </td>

      <td>
        A unique identifier for the transaction (may be system-issued, not known to the account holder)
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        BookingDateTime
      </td>

      <td>
        Date and time when a transaction entry is posted in ISODateTime format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        Amount
      </td>

      <td>
        The transaction amount expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        Currency
      </td>

      <td>
        Transaction currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        Status
      </td>

      <td>
        Status of the transaction
      </td>

      <td>
        Yes
      </td>

      <td>
        Booked
        Pending
        Rejected
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CreditDebit
      </td>

      <td>
        Indicates if the transaction is a credit or a debit
      </td>

      <td>
        Yes
      </td>

      <td>
        Credit
        Debit
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        Code
      </td>

      <td>
        Transaction code
      </td>

      <td>
        Yes if `SubCode` is supplied
      </td>

      <td>
        Transfer
        Card
        DirectDebit
        Misc
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        SubCode
      </td>

      <td>
        Transaction sub code. Sub codes are related to the transaction code and must be an applicable child code as per the list in this Options section
      </td>

      <td>
        Yes if `Code` is supplied
      </td>

      <td>
        * _Transfer_*:

        * StandingOrder

        * StandingOrderCrossBorder

        * CreditTransferSEPA

        * CreditTransferDomestic

        * CreditTransferCrossBorder

        * Other**Card**:

        * CashWithdrawal

        * POS

        * Other**DirectDebit**:

        * DirectDebit

        * DirectDebitSEPACore

        * DirectDebitSEPAB2B

        * DirectDebitCrossBorder**Misc**:

        * Fees

        * Commission

        * Interest

        * Adjustments

        * Other
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CardSchemeName
      </td>

      <td>
        **Use if`Code` is `"Card"`**
        Name of the card scheme.
      </td>

      <td>
        No
      </td>

      <td>
        AmericanExpress
        Diners
        Discover
        MasterCard
        VISA
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CardIdentification
      </td>

      <td>
        **Use if`Code` is `"Card"`**
        Identification assigned by an institution to identify the card instrument used in the transaction. This identification is known by the account owner, and must be masked – do not provide clear PAN under any circumstances
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CreditorSchemeName
      </td>

      <td>
        **Use if`Code` is `"Transfer"`**
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        If using MSISDN, return MSISDN

        Otherwise use CustomCode.
      </td>

      <td>
        No
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * SortCodeAccountNumber

        * IBAN

        * CustomCode

        <Glossary>NextGenPSD2</Glossary>:

        * IBAN

        * BBAN

        * MSISDN
      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CreditorIdentification
      </td>

      <td>
        **Use if`Code` is `"Transfer"`**
        If CreditorSchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number.
        If using CustomCode, provide the Identifier as known to your account holder
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        CreditorName
      </td>

      <td>
        **Use if`Code` is `"Transfer"`**
        Name of creditor account
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        AddressLine
      </td>

      <td>
        Information that locates and identifies a specific address for a transaction entry (Max length of 70 characters)
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        MerchantCategoryCode
      </td>

      <td>
        Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        MerchantName
      </td>

      <td>
        Name by which the merchant is known (Max length of 350 characters)
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Transactions/
        TransactionInformation
      </td>

      <td>
        Further details of the transaction. This is the transaction narrative (Max length of 500 characters)
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Transactions Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /transactions",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001",
      "Offset": 0
  }
}
```

**GET Transactions Response**

```
{
  "Transactions": [
    {
      "AddressLine": "An Address",
      "Amount": "12.34",
      "BookingDateTime": "2021-04-05T10:43:07+00:00",
      "CardSchemeName": "VISA",
      "CardIdentification": "#7692",
      "Currency": "GBP",
      "CreditDebit": "Debit",
      "MerchantCategoryCode": "7992",
      "MerchantName": "Tesco",
      "Code": "Card",
      "SubCode": "CashWithdrawal",
      "Status": "Booked",
      "TransactionId": "txid_1234321",
      "TransactionInformation": "Info"
    },
    {
      "AddressLine": "An Address",
      "Amount": "12.34",
      "Currency": "GBP",
      "BookingDateTime": "2021-04-08T10:43:07+00:00",
      "CreditDebit": "Debit",
      "CreditorSchemeName": "SortCodeAccountNumber",
      "CreditorIdentification": "80200112345678",
      "CreditorName": "Mrs Jones",
      "Code": "Transfer",
      "SubCode": "CreditTransferDomestic",
      "Status": "Pending",
      "TransactionId": "txid_1234329",
      "TransactionInformation": "Info"
    },
    {
      "AddressLine": "An Address",
      "Amount": "12.34",
      "Currency": "GBP",
      "BookingDateTime": "2021-05-05T10:43:07+00:00",
      "CreditDebit": "Debit",
      "Code": "DirectDebit",
      "SubCode": "DirectDebitCrossBorder",
      "Status": "Booked",
      "TransactionId": "txid_1234381",
      "TransactionInformation": "Info"
    },
    {
      "AddressLine": "An Address",
      "Amount": "12.34",
      "Currency": "GBP",
      "BookingDateTime": "2021-06-05T10:43:07+00:00",
      "CreditDebit": "Debit",
      "Code": "Misc",
      "SubCode": "Fees",
      "Status": "Booked",
      "TransactionId": "txid_121212",
      "TransactionInformation": "Info"
    },
    {
      "AddressLine": "An Address",
      "Amount": "12.34",
      "Currency": "GBP",
      "BookingDateTime": "2021-07-05T10:43:07+00:00",
      "CardSchemeName": "VISA",
      "CardIdentification": "#7692",
      "CreditDebit": "Debit",
      "MerchantCategoryCode": "7992",
      "MerchantName": "Tesco",
      "Code": "Card",
      "SubCode": "POS",
      "Status": "Booked",
      "TransactionId": "txid_1234334",
      "TransactionInformation": "Info"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /beneficiaries

An AISP requests a list of beneficiaries for a specified account.

**Request**

<HTMLBlock>{`
<div></div>

<style></style>
`}</HTMLBlock>

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Beneficiaries
      </td>

      <td>
        An array of Beneficiaries
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Beneficiaries/BeneficiaryId
      </td>

      <td>
        A unique identifier for the beneficiary (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Beneficiaries/SchemeName
      </td>

      <td>
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        Otherwise use CustomCode.
      </td>

      <td>
        Yes
      </td>

      <td>
        SortCodeAccountNumber
        IBAN
        BBAN
        CustomCode
      </td>
    </tr>

    <tr>
      <td>
        Beneficiaries/Identification
      </td>

      <td>
        If SchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Beneficiaries/Reference
      </td>

      <td>
        Reference for the beneficiary
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Beneficiaries/Name
      </td>

      <td>
        Name by which the beneficiary is known by.
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Beneficiaries Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /beneficiaries",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Beneficiaries Response**

```
{
  "Beneficiaries": [
    {
      "BeneficiaryId": "abc-123-qwe-456",
      "Reference": "Mum",
      "SchemeName": "SortCodeAccountNumber",
      "Identification": "80200112345678",
      "Name": "Mrs Smith"
    },
    {
      "BeneficiaryId": "ert-123-qwe-655",
      "Reference": "Dad",
      "SchemeName": "SortCodeAccountNumber",
      "Identification": "80200112345678"
    },
    {
      "BeneficiaryId": "ttr-123-qwe-878",
      "SchemeName": "CustomCode",
      "Identification": "80200112-35ABC",
      "Name": "Secondary School Acadamy"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /direct-debits

An AISP requests a list of direct debits for a specified account.

**Request**

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        DirectDebits
      </td>

      <td>
        An array of Direct Debits
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        DirectDebits/DirectDebitId
      </td>

      <td>
        A unique identifier for the direct debit (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        DirectDebits/StatusCode
      </td>

      <td>
        Status of the direct debit
      </td>

      <td>
        Yes
      </td>

      <td>
        Active
        Inactive
      </td>
    </tr>

    <tr>
      <td>
        DirectDebits/MandateIdentification
      </td>

      <td>
        Direct Debit reference. For AUDDIS service users provide Core Reference. For non AUDDIS service users provide Core reference if possible or last used reference
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        DirectDebits/Name
      </td>

      <td>
        Name of the Direct Debit beneficiary
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Direct Debits Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /direct-debits",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Direct Debits Response**

```
{
  "DirectDebits": [
    {
      "DirectDebitId": "DD03",
      "StatusCode": "Active",
      "MandateIdentification": "DD03_MANDATE_REF",
      "Name": "Energy Bill"
    },
    {
      "DirectDebitId": "DD09",
      "StatusCode": "Active",
      "MandateIdentification": "DD09_MANDATE_REF",
      "Name": "Rent"
    },
    {
      "DirectDebitId": "DD98",
      "StatusCode": "Inactive",
      "MandateIdentification": "DD98_MANDATE_REF",
      "Name": "Mobile Phone Bill"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /scheduled-payments

An AISP requests a list of scheduled payments for a specified account.

**Request**

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        ScheduledPayments
      </td>

      <td>
        An array of Scheduled Payments
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/ScheduledPaymentId
      </td>

      <td>
        A unique identifier for the scheduled payment (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/ScheduledPaymentDateTime
      </td>

      <td>
        The date on which the scheduled payment will be made in ISODateTime
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/SchemeName
      </td>

      <td>
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        Otherwise use CustomCode.
      </td>

      <td>
        Yes
      </td>

      <td>
        SortCodeAccountNumber
        IBAN
        BBAN
        CustomCode
      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/Identification
      </td>

      <td>
        If SchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number.
        If using CustomCode, provide the Identifier as known to your account holder
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/Amount
      </td>

      <td>
        The amount due to be paid expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/Currency
      </td>

      <td>
        Payment currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ScheduledPayments/Name
      </td>

      <td>
        Name of the account, as assigned by the account servicing institution
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Scheduled Payments Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /scheduled-payments",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Scheduled Payments Response**

```
{
  "ScheduledPayments": [
    {
      "ScheduledPaymentId": "SchPay956",
      "ScheduledPaymentDateTime": "2022-12-25T00:00:00+00:00",
      "Identification": "23605490179017",
      "SchemeName": "SortCodeAccountNumber",
      "Name": "Auntie Beeb",
      "Amount": "12.34",
      "Currency": "GBP"
    },
    {
      "ScheduledPaymentId": "SchPay85",
      "ScheduledPaymentDateTime": "2023-12-25T00:00:00+00:00",
      "Identification": "23605490179017",
      "SchemeName": "SortCodeAccountNumber",
      "Name": "Auntie Beeb",
      "Amount": "102.00",
      "Currency": "GBP"
    },
    {
      "ScheduledPaymentId": "SchPay771",
      "ScheduledPaymentDateTime": "2024-12-25T00:00:00+00:00",
      "Identification": "23605490179017",
      "SchemeName": "SortCodeAccountNumber",
      "Name": "Auntie Beeb",
      "Amount": "0.01",
      "Currency": "GBP"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /standing-orders

An AISP requests a list of standing orders for a specified account.

**Request**

| Field     | Description                                         |
| :-------- | :-------------------------------------------------- |
| AccountId | A unique identifier for the account being requested |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        StandingOrders
      </td>

      <td>
        An array of Standing Orders
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/StandingOrderId
      </td>

      <td>
        A unique identifier for the standing order (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Reference
      </td>

      <td>
        A reference for the standing order
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/SchemeName
      </td>

      <td>
        If using an 8-digit numeric account number and 6-digit sort-code, return SortCodeAccountNumber.

        If using IBAN, return IBAN.

        If using BBAN, return BBAN.

        Otherwise use CustomCode.
      </td>

      <td>
        Yes
      </td>

      <td>
        SortCodeAccountNumber
        IBAN
        BBAN
        CustomCode
      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Identification
      </td>

      <td>
        If SchemeName is SortCodeAccountNumber, concatenate sort-code followed by account number.
        If using CustomCode, provide the Identifier as known to your account holder
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Amount
      </td>

      <td>
        The amount due to be paid expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Currency
      </td>

      <td>
        Payment currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Name
      </td>

      <td>
        Name of the account, as assigned by the account servicing institution
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/Frequency
      </td>

      <td>
        Frequency of the standing order
      </td>

      <td>
        Yes
      </td>

      <td>
        See

        [Frequency](#frequency)

        for details
      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/StatusCode
      </td>

      <td>
        Status code of the standing order
      </td>

      <td>
        Yes
      </td>

      <td>
        Active
        Inactive
      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/FirstPaymentDateTime
      </td>

      <td>
        The date (ISO) on which the first payment for a Standing Order schedule will be made.
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        StandingOrders/LastPaymentDateTime
      </td>

      <td>
        The date (ISO) on which the last (most recent) payment for a Standing Order schedule was made.
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**GET Standing Orders Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /standing-orders",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```

**GET Standing Orders Response**

```
{
  "StandingOrders": [
    {
      "StandingOrderId": "SOID754",
      "Identification": "23605490179017",
      "SchemeName": "SortCodeAccountNumber",
      "Name": "Auntie Beeb",
      "Frequency": "EvryDay",
      "Amount": "99.99",
      "Currency": "GBP",
      "Reference": "TV Licence",
      "StatusCode": "Active",
      "FirstPaymentDateTime": '2024-10-01T00:00:00+00:00',
      "LastPaymentDateTime": '2024-10-10T00:00:00+00:00'
    },
    {
      "StandingOrderId": "SOID544",
      "Identification": "93605490179013",
      "SchemeName": "SortCodeAccountNumber",
      "Name": "MGage Providers 101",
      "Frequency": "IntrvlMnthDay:01:-01",
      "Amount": "123.45",
      "Currency": "GBP",
      "Reference": "Mortgage payments",
      "StatusCode": "Active",
      "FirstPaymentDateTime": '2024-10-01T00:00:00+00:00'
    },
    {
      "StandingOrderId": "SOID098",
      "Identification": "Acc-Ref-0101x1",
      "SchemeName": "CustomCode",
      "Name": "Little Smith",
      "Frequency": "IntrvlWkDay:01:01",
      "Amount": "10.00",
      "Currency": "GBP",
      "Reference": "Pocket Money",
      "StatusCode": "Inactive"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /statements

An <Glossary>AISP</Glossary> requests a list of statements for a specified account. The <Glossary>TPP</Glossary> may make the request with the following request parameters:

* `fromStatementDateTime` and `toStatementDateTime`- A <Glossary>TPP</Glossary> has specified a date range.
* `StatementId` - A <Glossary>TPP</Glossary> has specified an individual statement.

**tell.** will automatically filter statements based on the request query parameters from the <Glossary>TPP</Glossary>. This means there's nothing for you to do! Simply return all statements of an `AccountId` and we will handle the rest.

**Request**

| Field     | Description                                         | Usage     |
| :-------- | :-------------------------------------------------- | :-------- |
| AccountId | A unique identifier for the account being requested | Mandatory |

<Callout icon="📘" theme="info">
  Returning the Transactions array in the response is entirely optional. Transactions will only be included in the response to the <Glossary>TPP</Glossary> if the consent was granted `ReadStatementsDetail` by the <Glossary>PSU</Glossary>, otherwise they will be filtered out.
</Callout>

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        Statements
      </td>

      <td>
        An array of Statements
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/StatementId
      </td>

      <td>
        A unique identifier for the statement (may be system-issued, not known to the account holder)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/StartDateTime
      </td>

      <td>
        Date and time at which the statement period starts (ISODateTime)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/EndDateTime
      </td>

      <td>
        Date and time at which the statement period ends (ISODateTime)
      </td>

      <td>
        Yes
      </td>

      <td>
        Transfer
        Card
        DirectDebit
        Misc
      </td>
    </tr>

    <tr>
      <td>
        Statements/CreationDateTime
      </td>

      <td>
        Date and time at which the resource was created (ISODateTime)
      </td>

      <td>
        Yes
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/StatementType
      </td>

      <td>
        Statement type, in a coded form
      </td>

      <td>
        Yes
      </td>

      <td>
        AccountClosure AccountOpening
        Annual
        Interim
        RegularPeriodic
      </td>
    </tr>

    <tr>
      <td>
        Statements/Transactions
      </td>

      <td>
        An array of transactions associated with a statement
      </td>

      <td>
        No
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/Transactions/Amount
      </td>

      <td>
        The transaction amount expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        Yes for each transaction
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/Transactions/Currency
      </td>

      <td>
        Transaction currency in ISO 4217 three-letter code format
      </td>

      <td>
        Yes for each transaction
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Statements/Transactions/CreditDebit
      </td>

      <td>
        Indicates if the transaction is a credit or a debit
      </td>

      <td>
        Yes for each transaction
      </td>

      <td>
        Credit
        Debit
      </td>
    </tr>

    <tr>
      <td>
        Statements/Transactions/AmountType
      </td>

      <td>
        Amount type, in a coded form.
      </td>

      <td>
        Yes for each transaction
      </td>

      <td>
        ArrearsClosingBalance
        AvailableBalance
        AverageBalanceWhenInCredit
        AverageBalanceWhenInDebit
        AverageDailyBalance
        BalanceTransferClosingBalance
        CashClosingBalance
        ClosingBalance
        CreditLimit
        CurrentPayment
        DirectDebitPaymentDue
        FSCSInsurance
        MinimumPaymentDue
        PendingTransactionsBalance
        PreviousClosingBalance
        PreviousPayment
        PurchaseClosingBalance
        StartingBalance
        TotalAdjustments
        TotalCashAdvances
        TotalCharges
        TotalCredits
        TotalDebits
        TotalPurchases
      </td>
    </tr>
  </tbody>
</Table>

**GET Statements Request**

```json Body
{
  "Info": {
    "Operation": "GET /statements",
    "RqId": "86b0d5d9-b550-4d7d-98d9-5ddf4d0357dc",
    "UserId": "106726572",
    "ConsentId": "9162e1b6-b46d-4fa1-a0b8-e0fd47aec36f",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Sandbox App"
    }
  },
  "Data": {
      "AccountId": "10000001"
  }
}
```
```text Headers
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json
```

**GET Statements Response**

```json Body
{
  "Statements": [
    {
      "StatementId": "34hj24u-324h33-31i3p4",
      "StartDateTime": "2017-10-01T00:00:00+00:00",
      "EndDateTime": "2017-10-30T23:59:59+00:00",
      "CreationDateTime": "2017-11-01T00:00:00+00:00",
      "StatementType": "RegularPeriodic",
      "Transactions": [
        {
          "Amount": "400.00",
          "Currency": "GBP",
          "CreditDebit": "Credit",
          "AmountType": "ClosingBalance"
        },
        {
          "Amount": "600.00",
          "Currency": "GBP",
          "CreditDebit": "Credit",
          "AmountType": "PreviousClosingBalance"
        }
      ]
    },
    {
      "StatementId": "8sfhke-sifhkeuf-97813",
      "StartDateTime": "2017-08-01T00:00:00+00:00",
      "EndDateTime": "2017-08-31T23:59:59+00:00",
      "CreationDateTime": "2017-09-01T00:00:00+00:00",
      "StatementType": "RegularPeriodic"
    }
  ]
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /payment-funds-confirmation

PISP requests confirmation funds are available for a payment that has been consented to (prior to execution). This operation is only relevant for Domestic and International payments (not scheduled payments or standing orders).

Please note that this is not a request to execute the payment and should not affect the status of the consent or the account balance.

**Request**

| Field         | Description                                                                                                                                                                              |
| :------------ | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| AccountId     | A unique identifier for the account being requested                                                                                                                                      |
| DebtorAccount | Identification of the account from which funds should be drawn. This may be the same as the AccountId except in cases where the Id used by the customer is different from your system Id |
| Amount        | The amount due to be paid expressed as number with two or three decimal points e.g. 12.34                                                                                                |
| Currency      | Payment currency in ISO 4217 three-letter code format                                                                                                                                    |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        FundsAvailable
      </td>

      <td>
        Confirmation of whether sufficient funds are currently available to successfully execute the payment expressed as a Boolean value
      </td>

      <td>
        Yes
      </td>

      <td>
        TRUE
        FALSE
      </td>
    </tr>
  </tbody>
</Table>

**GET Payment Funds Confirmation Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /payment-funds-confirmation",
    "RqId": "d8490996-79aa-4ceb-a901-5a58abce9e5b",
    "ConsentId": "215d0837-c4fb-4915-bc4a-c046726ffb56",
    "UserId": "106726572",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Integration App"
    }
  },
  "Data": {
    "AccountId": "10000001",
    "DebtorAccount": "00000010000001",
    "Amount": "123.12",
    "Currency": "GBP"
  }
}
```

**GET Payment Funds Confirmation Response**

```
{
  "FundsAvailable": true
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ POST /payment

PISP requests execution of a payment which has been authorised by the PSU through the consent process. This operation is used for all payment types (domestic, domestic standing order, domestic scheduled, international, international scheduled and international standing order) with differing payloads based on the payment type.

The request data will always match the data provided when the consent was requested and accepted (neither the user nor the third party provider can alter it after consent is granted).

**Request**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Used Where Payment Type Is
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        AccountId
      </td>

      <td>
        A unique identifier for the account being requested
      </td>

      <td>
        All Payment Types
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        PaymentType
      </td>

      <td>
        Type of payment
      </td>

      <td>
        All Payment Types
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic

        * Domestic Scheduled

        * Domestic Standing Order

        * International

        * International Scheduled

        * International Standing Order

        <Glossary>NextGenPSD2</Glossary>:

        * SEPA Credit Transfers

        * Instant SEPA Credit Transfers

        * Target 2 Payments

        * Cross Border Credit Transfers
      </td>
    </tr>

    <tr>
      <td>
        DebtorIdentification
      </td>

      <td>
        Identification of the account of the debtor to which a debit entry will be made as a result of the transaction.

        For <Glossary>OBIE</Glossary>, if the debtor account was selected during authorisation, the value will be "ProvidedDuringAuthorisation". In this case, refer to the AccountId for the debtor account.
      </td>

      <td>
        All Payment Types
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

<Glossary>OBIE</Glossary>
-ProvidedDuringAuthorisation

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>

      </th>

      <th>

      </th>

      <th>

      </th>

      <th>

      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        BeneficiaryIdentification
      </td>

      <td>
        Identification of the beneficiary account
      </td>

      <td>
        All Payment Types
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        BeneficiarySchemeName
      </td>

      <td>
        The SchemeName of the BeneficiaryIdentification
      </td>

      <td>
        All Payment Types
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * SortCodeAccountNumber

        * IBAN

        * CustomCode

        <Glossary>NextGenPSD2</Glossary>:

        * IBAN

        * BBAN

        * MSISDN
      </td>
    </tr>

    <tr>
      <td>
        BeneficiaryName
      </td>

      <td>
        Name of the beneficiary
      </td>

      <td>
        All Payment Types
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Amount
      </td>

      <td>
        The amount due to be paid expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic

        * Domestic Scheduled

        * International

        * International Scheduled

        <Glossary>NextGenPSD2</Glossary>:

        * SEPA Credit Transfers

        * Instant SEPA Credit Transfers

        * Target 2 Payments

        * Cross Border Credit Transfers
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Currency
      </td>

      <td>
        Payment currency in ISO 4217 three-letter code format
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic

        * Domestic Scheduled

        * International

        * International Scheduled

        <Glossary>NextGenPSD2</Glossary>:

        * SEPA Credit Transfers

        * Instant SEPA Credit Transfers

        * Target 2 Payments

        * Cross Border Credit Transfers
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        ExecutionDateTime
      </td>

      <td>
        Date at which the requestor would like the payment to be made
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Scheduled
        * International Scheduled
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Frequency
      </td>

      <td>
        Frequency of the standing order
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>
        See

        [Frequency](#frequency)

        for details
      </td>
    </tr>

    <tr>
      <td>
        FirstPaymentAmount
      </td>

      <td>
        The amount of the first Standing Order. This field will not always be provided
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        FirstPaymentCurrency
      </td>

      <td>
        The currency of the first Standing Order in ISO 4217 three-letter code format. This field will only be provided if FirstPaymentAmount is present
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        FirstPaymentDateTime
      </td>

      <td>
        The date on which the first payment for a Standing Order schedule will be made in ISODateTime format. This field will only be provided if FirstPaymentAmount is present
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        RecurringPaymentAmount
      </td>

      <td>
        The amount of the recurring Standing Order
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        RecurringPaymentCurrency
      </td>

      <td>
        The currency of the recurring Standing Order in ISO 4217 three-letter code format
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        FinalPaymentAmount
      </td>

      <td>
        The amount of the final Standing Order. This field will not always be provided
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        FinalPaymentCurrency
      </td>

      <td>
        The currency of the final Standing Order in ISO 4217 three-letter code format. This field will only be provided if FinalPaymentAmount is present
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        FinalPaymentDateTime
      </td>

      <td>
        The date on which the final payment for a Standing Order schedule will be made in ISODateTime format. This field will only be provided if FinalPaymentAmount is present
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic Standing Order
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        CurrencyOfTransfer
      </td>

      <td>
        The currency of the amount to be transferred in ISO 4217 three-letter code format, which is different from the currency of the debtor's account
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * International
        * International Scheduled
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        EndToEndIdentification
      </td>

      <td>
        Unique identification to unambiguously identify the transaction. This identification is immutable throughout the entire end-to-end chain.
      </td>

      <td>
        <Glossary>OBIE</Glossary>:

        * Domestic
        * Domestic Scheduled
        * International
        * International Scheduled
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Reference
      </td>

      <td>
        Reference to enable the matching/reconciliation of an entry with the items that the payment is intended to settle. The <Glossary>TPP</Glossary> may not provide one.
      </td>

      <td>
        * _(Optional)_* All Payment Types
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        CreditorAgent/Identification
      </td>

      <td>
        Unique and unambiguous identification of a financial institution or a branch of a financial institution
      </td>

      <td>
        <Glossary>OBIE</Glossary>:
        **(Optional)**

        * International
        * International Scheduled
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        CreditorAgent/SchemeName
      </td>

      <td>
        Name of the identification scheme.
      </td>

      <td>
        <Glossary>OBIE</Glossary>:
        **(Optional)**

        * International
        * International Scheduled
        * International Standing Order
      </td>

      <td>
        <Glossary>OBIE</Glossary>

        * BICFI
        * NCC.**[ISO3166CountryCode]**
      </td>
    </tr>

    <tr>
      <td>
        CreditorAgent/Name
      </td>

      <td>
        Name by which an agent is known and which is usually used to identify that agent
      </td>

      <td>
        <Glossary>OBIE</Glossary>:
        **(Optional)**

        * International
        * International Scheduled
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        CreditorAgent/AddressLine
      </td>

      <td>
        Information that locates and identifies a specific address, as defined by postal services, presented in free format text.
      </td>

      <td>
        <Glossary>OBIE</Glossary>:
        **(Optional)**

        * International
        * International Scheduled
        * International Standing Order
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**Response**

| Field            | Description                                                                         | Mandatory |
| :--------------- | :---------------------------------------------------------------------------------- | :-------- |
| PaymentReference | Unique identification assigned by your application to uniquely identify the payment | Yes       |

**POST Payment Request**

```Text OBIE
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "POST /payment",
    "RqId": "d8490996-79aa-4ceb-a901-5a58abce9e5b",
    "ConsentId": "215d0837-c4fb-4915-bc4a-c046726ffb56",
    "UserId": "106726572",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Integration App"
    }
  },
  "Data": {
    "PaymentType": "Domestic",
    "AccountId": "10000001",
    "DebtorIdentification": "00000010000001",
    "BeneficiaryIdentification": "12345612345678",
    "BeneficiarySchemeName": "SortCodeAccountNumber",
    "BeneficiaryName": "Joe Bloggs",
    "Amount": "123.12",
    "Currency": "GBP",
    "EndToEndIdentification": "e574a44a-3e85-476e-8503-d6c0f4d487d6",
    "Reference": "1234567",
    "CreditorAgent": {
      "Identification": "BANKGB22XXX",
      "SchemeName": "BICFI",
      "Name": "Joe Bloggs",
    }
  }
}
```

**POST Payment Response**

```
{
  "PaymentReference": "4e28ff4c-3639-4183-a8f6-bcb5a3f36754"
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ GET /payment

PISP requests the status of a payment which has been submitted for execution. This operation is used for all payment types (domestic, domestic standing order, domestic scheduled, international, international scheduled and international standing order).

**Request**

| Field            | Description                                                                                            |
| :--------------- | :----------------------------------------------------------------------------------------------------- |
| AccountId        | A unique identifier for the account being requested                                                    |
| PaymentReference | Unique identification assigned by your application and returned as part of the POST /payment operation |

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        PaymentStatus
      </td>

      <td>
        Status of the payment
      </td>

      <td>
        Yes
      </td>

      <td>
        Pending
        Rejected
        AcceptedSettlementInProcess
        AcceptedSettlementCompleted
      </td>
    </tr>
  </tbody>
</Table>

**GET Payment Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "GET /payment",
    "RqId": "d8490996-79aa-4ceb-a901-5a58abce9e5b",
    "ConsentId": "215d0837-c4fb-4915-bc4a-c046726ffb56",
    "UserId": "106726572",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Integration App"
    }
  },
  "Data": {
    "AccountId": "10000001",
    "PaymentReference": "4e28ff4c-3639-4183-a8f6-bcb5a3f36754"
  }
}
```

**GET Payment Response**

```
{
  "PaymentStatus": "AcceptedSettlementCompleted"
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

## ❯ POST /funds-confirmation

CBPII requests confirmations of the availability of funds.

The request data will always match the data provided when the consent was requested and accepted (neither the user nor the third party provider can alter it after consent is granted).

**Request**

<Table align={["left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        AccountId
      </td>

      <td>
        A unique identifier for the account being requested
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        DebtorAccount
      </td>

      <td>
        Identification of the account of the debtor to which a confirmation of funds consent was applied
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        DebtorSchemeName
      </td>

      <td>
        Name of the debtor account's identification scheme.
      </td>

      <td>
        `"SortCodeAccountNumber"`
        6-digit sort code concatenated with 8-digit account number.

        `"IBAN"`

        `"CustomCode"`
        Custom identification type known to the <Glossary>Account Holder</Glossary> and/or <Glossary>Account Providers</Glossary>.
      </td>
    </tr>

    <tr>
      <td>
        Amount
      </td>

      <td>
        The amount to confirm expressed as number with two or three decimal points e.g. 12.34
      </td>

      <td>

      </td>
    </tr>

    <tr>
      <td>
        Currency
      </td>

      <td>
        Currency in ISO 4217 three-letter code format
      </td>

      <td>

      </td>
    </tr>
  </tbody>
</Table>

**Response**

<Table align={["left","left","left","left"]}>
  <thead>
    <tr>
      <th>
        Field
      </th>

      <th>
        Description
      </th>

      <th>
        Mandatory
      </th>

      <th>
        Options
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        FundsAvailable
      </td>

      <td>
        Confirmation of whether sufficient funds are currently available based on the value supplied, expressed as a Boolean value
      </td>

      <td>
        Yes
      </td>

      <td>
        TRUE
        FALSE
      </td>
    </tr>
  </tbody>
</Table>

**POST Funds Confirmation Request**

```
POST /your-bank.com/tell-gateway-api HTTP/1.1
x-api-key: 6d0b32a2-xxxx-xxxx-xxxx-xxxxxxxxxxxx
x-jws-signature: eyJhxxxx.eyJJxxxx.Ugzpxxxx
Content-Type: application/json
Accept: application/json

{
  "Info": {
    "Operation": "POST /funds-confirmation",
    "RqId": "d8490996-79aa-4ceb-a901-5a58abce9e5b",
    "ConsentId": "215d0837-c4fb-4915-bc4a-c046726ffb56",
    "UserId": "106726572",
    "Tpp": {
      "TppName": "Tell Money",
      "AppName": "My Integration App"
    }
  },
  "Data": {
    "AccountId": "10000001",
    "DebtorAccount": "00000012345678",
    "DebtorSchemeName": "SortCodeAccountNumber",
    "Amount": "20.00",
    "Currency": "GBP"
  }
}
```

**POST Funds Confirmation Response**

```
{
  "FundsAvailable": true
}
```

<HTMLBlock>{`
<br/>
`}</HTMLBlock>

***

# Frequency

### Individual Definitions:

* EvryDay - Every day
* EvryWorkgDay - Every working day
* IntrvlWkDay - An interval specified in weeks (01 to 09), and the day within the week (01 to 07)
* WkInMnthDay - A monthly interval, specifying the week of the month (01 to 05) and day within the week (01 to 07)
* IntrvlMnthDay - An interval specified in months (between 01 to 06, 12, 24), specifying the day within the month (-5 to -1, 1 to 31)
* QtrDay - Quarterly (either ENGLISH, SCOTTISH, or RECEIVED)
* ENGLISH = Paid on the 25th March, 24th June, 29th September and 25th December.
* SCOTTISH = Paid on the 2nd February, 15th May, 1st August and 11th November.
* RECEIVED = Paid on the 20th March, 19th June, 24th September and 20th December.

### Individual Patterns:

* EvryDay (ScheduleCode)
* EvryWorkgDay (ScheduleCode)
* IntrvlWkDay:IntervalInWeeks:DayInWeek (ScheduleCode + IntervalInWeeks + DayInWeek)
* WkInMnthDay:WeekInMonth:DayInWeek (ScheduleCode + WeekInMonth + DayInWeek)
* IntrvlMnthDay:IntervalInMonths:DayInMonth (ScheduleCode + IntervalInMonths + DayInMonth)
* QtrDay: + either (ENGLISH, SCOTTISH or RECEIVED) ScheduleCode + QuarterDay

### Regular Expression:

The regular expression for this element combines five smaller versions for each permitted pattern. To aid legibility - the components are presented individually here:

* EvryDay EvryWorkgDay
* IntrvlWkDay:0\[1-9]:0\[1-7]
* WkInMnthDay:0\[1-5]:0\[1-7]
* IntrvlMnthDay:(0\[1-6]|12|24):(-0\[1-5]|0\[1-9]|\[0-9]|3\[01])
* QtrDay:(ENGLISH|SCOTTISH|RECEIVED)

  ^(EvryDay)$|^(EvryWorkgDay)$|^(IntrvlWkDay:0\[1-9]:0\[1-7])$|^(WkInMnthDay:0\[1-5]:0\[1-7])$|^(IntrvlMnthDay:(0\[1-6]|12|24):(-0\[1-5]|0\[1-9]|\[0-9]|3\[01]))$|^(QtrDay:(ENGLISH|SCOTTISH|RECEIVED))