openapi: 3.1.1
info:
  title: Open Banking API
  description: |-
    The Revolut Open Banking API is the gateway for third-party providers to interact with Revolut customers and products.

    :::tip[Before you get started]
    To learn more about the Open Banking API and its features, check the [**user guides**](/docs/guides/build-banking-apps/introduction-to-the-open-banking-api/introduction).

    You can reach them at any time from the main navigation bar **→ Guides → Open Banking**.
    :::

    You can take advantage of the Open Banking API to build your banking applications whether you are:
    - A regulated third party provider that wants to get account and transaction information of Revolut customers and initiate different types of payments, or
    - An innovative service provider that is looking to seamlessly integrate Revolut functions into your own applications.

    As such, you can use the Open Banking API to leverage the following features:
    - [Account management](/docs/api/open-banking#tag-accounts)
    - [Transaction management](/docs/api/open-banking#tag-transactions)
    - Payment management:
      - Domestic: [Domestic payments](/docs/api/open-banking#tag-domestic-payment), [Domestic scheduled payments](/docs/api/open-banking#tag-domestic-scheduled-payment), [Domestic standing orders](/docs/api/open-banking#tag-domestic-standing-order)
      - International: [International payments](/docs/api/open-banking#tag-international-payment), [International scheduled payments](/docs/api/open-banking#tag-international-scheduled-payment), [International standing orders](/docs/api/open-banking#tag-international-standing-order)
      - Other: [Draft payments](/docs/api/open-banking#tag-draft-payment), [File payments](/docs/api/open-banking#tag-file-payment)
    - [Application management](/docs/api/open-banking#tag-applications)

    Browse the menu on the left to see the reference for the specific endpoints and operations of this API.
    You can also go to [Updates](/blog) to learn about upcoming changes and other news related to the Open Banking API.

    ### Test the Open Banking API

    You can test the Open Banking API in Postman by forking this collection:

    [![View in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)

    ## Get Access token

    ### Certificates

    You must use a transport certificate and its private key in order to request an access token.

    - For Sandbox testing, you can use the `transport.pem` certificate file which you obtained in [Convert certificates](/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#convert-certificates) together with the private key generated in step [Generate a CSR](/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#generate-a-csr).

    - For Production, you will need to use a valid OBIE or eIDAS transport certificate from a regulated Certificate Authority, and its corresponding private key.

    :::note
    Revolut Open Banking API servers use certificates issued by Open Banking Limited.

    You can find the root and issuing certificates [here](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/23494678/Certificates+and+Software+Statements) if you need to add them to your truststore.
    :::

    ### Headers

    - `Content-Type: application/x-www-form-urlencoded`

    ### Parameters

    - `grant_type`: Must be set to `client_credentials` to get the access token.
    - `scope`: Must be set to `accounts`.

    ### Example

    :::note
    The parameters `-k` or `--insecure` are not necessary if you added Open Banking Root and Issuing certificates to your truststore.
    :::

    **For production:**

    ```shell
    curl -k --cert transport.pem --key private.key \
    --location -X POST 'https://oba-auth.revolut.com/token' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    -d 'grant_type=client_credentials' \
    -d 'scope=accounts' \
    ```

    **For sandbox:**

    ```shell
    curl -k --cert transport.pem --key private.key \
    --location -X POST 'https://sandbox-oba-auth.revolut.com/token' \
    --header 'Content-Type: application/x-www-form-urlencoded' \
    -d 'grant_type=client_credentials' \
    -d 'scope=accounts' \
    ```

    ## Response

    The response contains the following JSON object:

    ```json
    {
        "access_token":"<access token>",
        "token_type":"Bearer",
        "expires_in":2399
    }
    ```

    **What's next**

    Use this access token as the authentication bearer for all subsequent requests to the API, as described in the [Tutorials](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information) section.
    When your certificate expires, repeat the steps above to create a new one.
  version: v3.1.0
servers:
  - url: https://oba-auth.revolut.com
    description: Production server (uses live data)
  - url: https://sandbox-oba-auth.revolut.com
    description: Sandbox server (uses test data)
tags:
  - name: Applications
    description: |-
      These endpoints let you manage your applications.

      Applications can also be created in the [Developer Portal](https://developer.revolut.com/portal/).

      For more information, see:
      - [Register your application using DCR](/docs/guides/build-banking-apps/register-your-application-using-dcr/)
      - [Manage your applications](/docs/guides/build-banking-apps/manage-your-applications/get-an-application)
  - name: Accounts
    description: |-
      Open Banking Accounts API is implemented as specified in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

      See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
  - name: Transactions
    description: |-
      Open Banking Transactions API is implemented as specified in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

      See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
  - name: Domestic payment
    description: |-
      *Domestic payments*, which you can use for local payments in the local currency of the user.

      :::note
      Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.
      :::

      As a regulated third party provider, you can use the provided endpoints to initiate a domestic payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also [Domestic scheduled payments](/docs/api/open-banking#tag-domestic-scheduled-payment) and [Domestic standing orders](/docs/api/open-banking#tag-domestic-standing-order).
      :::
  - name: Domestic scheduled payment
    description: |-
      *Domestic scheduled payments*, which you can use for local payments in the local currency of the user.

      :::note
      Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.
      :::

      As a regulated third party provider, you can use the provided endpoints to initiate a payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also [Domestic payments](/docs/api/open-banking#tag-domestic-payment) and [Domestic standing orders](/docs/api/open-banking#tag-domestic-standing-order).
      :::
  - name: Domestic standing order
    description: |-
      *Domestic standing orders*, which you can use for local payments in the local currency of the user.

      :::note
      Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.
      :::

      As a regulated third party provider, you can use the provided endpoints to initiate a domestic payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also [Domestic payments](/docs/api/open-banking#tag-domestic-payment) and [Domestic scheduled payments](/docs/api/open-banking#tag-domestic-scheduled-payment).
      :::
  - name: File payment
    description: >-
      *File payments*, which you can use to process all individual payments in
      an uploaded CSV file that you specify.


      As a regulated third party provider, you can use the provided endpoints to
      initiate a payment in the following high-level workflow:


      - Create a consent.

      - Get the consent.

      - Create a payment.

      - Get the payment.


      Before you begin, ensure that you've registered your application with the
      `payments` scope.

      For more information, see [Tutorials: Create a file
      payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment).
  - name: International payment
    description: |-
      *International payments*, which you can use for international SWIFT payments in all currencies that Revolut supports.

      As a regulated third party provider, you can use the provided endpoints to initiate a payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also [International scheduled payments](/docs/api/open-banking#tag-international-scheduled-payment) and [International standing orders](/docs/api/open-banking#tag-international-standing-order).
      :::
  - name: International scheduled payment
    description: |-
      *International scheduled payments*, which you can use for international SWIFT payments in all currencies that Revolut supports.

      As a regulated third party provider, you can use the provided endpoints to initiate a payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also: [International payments](/docs/api/open-banking#tag-international-payment) and [International standing orders](/docs/api/open-banking#tag-international-standing-order) .
      :::
  - name: International standing order
    description: |-
      *International standing orders*, which you can use for international SWIFT payments in all currencies that Revolut supports.

      As a regulated third party provider, you can use the provided endpoints to initiate a payment in the following high-level workflow:

      - Create a consent.
      - Get the consent.
      - Create a payment.
      - Get the payment.

      Before you begin, ensure that you've registered your application with the `payments` scope.
      For more information, see [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).

      :::tip
      See also [International payments](/docs/api/open-banking#tag-international-payment) and [International scheduled payments](/docs/api/open-banking#tag-international-scheduled-payment).
      :::
  - name: Draft payment
    description: |-
      You can create a draft payment to initiate a payment on behalf of a user, and request the approval for the draft payment in the user account.

      Then, you can retrieve or delete a draft payment.

      :::note
      The draft payments API is available only for Revolut Business customers.
      If you'd like to use this endpoint, reach out to us.
      :::

      For more information, see [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments).
paths:
  /account-access-consents:
    post:
      tags:
        - Accounts
      summary: Create an account access consent
      operationId: CreateAccountAccessConsents
      description: |-
        Before you can access any data from a Revolut user, you must create an access consent to read data from the user's profile.

        :::note
        When you create an account access consent, you must include a specific permission that follows the rules in the table below; otherwise, you get a `400 Bad request` error.
        :::

        **Request Permissions**

        | PERMISSIONS | DEPENDENCIES |
        |--|--|
        | ReadAccountsBasic | None |
        | ReadAccountsDetail |None|
        | ReadBalances |None|
        | ReadBeneficiariesBasic |None|
        | ReadBeneficiariesDetail |None|
        | ReadDirectDebits |None|
        | ReadScheduledPaymentsBasic |None|
        | ReadScheduledPaymentsDetail |None|
        | ReadStandingOrdersBasic |None|
        | ReadStandingOrdersDetail |None|
        | ReadTransactionsBasic |None|
        | ReadTransactionsCredits |ReadTransactionsBasic OR ReadTransactionsDetail|
        |ReadTransactionsDebits |ReadTransactionsBasic OR ReadTransactionsDetail|
        | ReadTransactionsDetail | None |

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information#2-create-an-account-access-consent).
      parameters:
        - $ref: "#/components/parameters/x-fapi-financial-id-Param"
        - $ref: "#/components/parameters/x-fapi-customer-last-logged-time-Param"
        - $ref: "#/components/parameters/x-fapi-customer-ip-address-Param"
        - $ref: "#/components/parameters/x-fapi-interaction-id-Param"
        - $ref: "#/components/parameters/AuthorizationParam"
        - $ref: "#/components/parameters/x-customer-user-agent-Param"
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBReadConsent1"
            examples:
              default:
                value:
                  Data:
                    Permissions:
                      - ReadAccountsBasic
                      - ReadAccountsDetail
                    ExpirationDateTime: 2022-12-02T00:00:00+00:00
                    TransactionFromDateTime: 2022-09-03T00:00:00+00:00
                    TransactionToDateTime: 2022-12-03T00:00:00+00:00
                  Risk: {}
        required: true
      responses:
        "201":
          description: Account Access Consents Created
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadConsentResponse1"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-22T11:47:10.366163Z
                      CreationDateTime: 2022-09-22T11:47:10.366163Z
                      TransactionToDateTime: 2022-12-03T00:00:00+00:00
                      ExpirationDateTime: 2022-12-02T00:00:00+00:00
                      Permissions:
                        - ReadAccountsBasic
                        - ReadAccountsDetail
                      ConsentId: e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                      TransactionFromDateTime: 2022-09-03T00:00:00+00:00
                    Risk: {}
                    Links:
                      Self: https://oba-auth.revolut.com/account-access-consents
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      security:
        - AccessToken:
            - accounts
      x-codegen-request-body-name: OBReadConsent1Param
  /account-access-consents/{ConsentId}:
    get:
      tags:
        - Accounts
      summary: Retrieve an account access consent
      operationId: GetAccountAccessConsentsConsentId
      description: |-
        Get the details of the account access consent as described in the Open Banking [official documentation](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - $ref: "#/components/parameters/x-fapi-financial-id-Param"
        - $ref: "#/components/parameters/x-fapi-customer-last-logged-time-Param"
        - $ref: "#/components/parameters/x-fapi-customer-ip-address-Param"
        - $ref: "#/components/parameters/x-fapi-interaction-id-Param"
        - $ref: "#/components/parameters/AuthorizationParam"
        - $ref: "#/components/parameters/x-customer-user-agent-Param"
      responses:
        "200":
          description: Account Access Consents Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadConsentResponse1"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-22T11:47:10.366163Z
                      CreationDateTime: 2022-09-22T11:47:10.366163Z
                      TransactionToDateTime: 2022-12-03T00:00:00+00:00
                      ExpirationDateTime: 2022-12-02T00:00:00+00:00
                      Permissions:
                        - ReadAccountsBasic
                        - ReadAccountsDetail
                      ConsentId: e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                      TransactionFromDateTime: 2022-09-03T00:00:00+00:00
                    Risk: {}
                    Links:
                      Self: https://oba-auth.revolut.com/account-access-consents/e0bdfd78-2388-xxxx-xxxx-acc0b84c9210
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      security:
        - AccessToken:
            - accounts
    delete:
      tags:
        - Accounts
      summary: Delete an account access consent
      security:
        - AccessToken:
            - accounts
      description: |-
        Use this endpoint to:

        - Reject a consent if it is in the `AwaitingAuthorisation` state or any error occurs while the consent is being authorised.
        - Revoke a consent if it is in the `Authorised` state.

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: DeleteAccountAccessConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "204":
          description: Account Access Consent Deleted
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts:
    get:
      tags:
        - Accounts
      summary: Retrieve all accounts
      security:
        - AccessToken:
            - accounts
      description: |-
        Get a list of user accounts.

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information#6-get-the-list-of-accounts).
      operationId: GetAccounts
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Accounts Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadAccount3"
              examples:
                uk-accounts:
                  summary: UK Accounts
                  value:
                    Data:
                      Account:
                        - AccountId: d3779729-xxxx-xxxx-bb43-fb5159b7c166
                          Currency: GBP
                          AccountType: Personal
                          AccountSubType: CurrentAccount
                          Account:
                            - SchemeName: UK.OBIE.IBAN
                              Identification: GB95REVO00997053872360
                              Name: John Smith
                            - SchemeName: UK.OBIE.SortCodeAccountNumber
                              Identification: "00000001611667"
                              Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts
                    Meta:
                      TotalPages: 1
                savings-account:
                  summary: Savings Account
                  value:
                    Data:
                      Account:
                        - AccountId: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                          Currency: GBP
                          AccountType: Personal
                          AccountSubType: Savings
                          Account:
                            - SchemeName: UK.Revolut.InternalAccountId
                              Identification: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                              Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned when the access token has expired or is invalid, for
            example, when the consent has been revoked.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                sca_expired:
                  $ref: "#/components/examples/Error403ForbiddenAccess"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}:
    get:
      tags:
        - Accounts
      summary: Retrieve an account
      security:
        - AccessToken:
            - accounts
      description: |-
        Get the information about a specific account by ID.

        :::note
        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.
        After those 5 minutes, access to this endpoint is denied, and an HTTP `403` error is returned.
        :::

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountId
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Accounts Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadAccount3"
              examples:
                uk-accounts:
                  summary: UK Accounts
                  value:
                    Data:
                      Account:
                        - AccountId: d3779729-xxxx-xxxx-bb43-fb5159b7c166
                          Currency: GBP
                          AccountType: Personal
                          AccountSubType: CurrentAccount
                          Account:
                            - SchemeName: UK.OBIE.IBAN
                              Identification: GB95REVO00997053872360
                              Name: John Smith
                            - SchemeName: UK.OBIE.SortCodeAccountNumber
                              Identification: "00000001611667"
                              Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d3779729-xxxx-xxxx-bb43-fb5159b7c166
                    Meta:
                      TotalPages: 1
                savings-account:
                  summary: Savings Account
                  value:
                    Data:
                      Account:
                        - AccountId: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                          Currency: GBP
                          AccountType: Personal
                          AccountSubType: Savings
                          Account:
                            - SchemeName: UK.Revolut.InternalAccountId
                              Identification: be2249e6-xxxx-xxxx-b9d1-0242ac120002
                              Name: John Smith
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/be2249e6-xxxx-xxxx-b9d1-0242ac120002
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned when the access token has expired or is invalid, for
            example, when the consent has been revoked.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
        "403":
          description: |-
            Forbidden

            Returned, for example, when the 5-minute [SCA](https://www.openbanking.org.uk/glossary/strong-customer-authentication/) session has expired.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                sca_expired:
                  $ref: "#/components/examples/Error403ForbiddenAccess"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}/balances:
    get:
      tags:
        - Accounts
      summary: Retrieve an account balance
      security:
        - AccessToken:
            - accounts
      description: |-
        Get the balance of an account.

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountIdBalances
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Balances Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadBalance1"
              examples:
                default:
                  value:
                    Data:
                      Balance:
                        - AccountId: d3779729-xxxx-xxxx-bb43-fb5159b7c166
                          Amount:
                            Amount: "970.49"
                            Currency: GBP
                          CreditDebitIndicator: Credit
                          Type: InterimAvailable
                          DateTime: 2022-09-22T08:32:02.775972Z
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d3779729-xxxx-xxxx-bb43-fb5159b7c166/balances
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned, for instance, when the access token has expired or is
            invalid, for example, when the consent has been revoked, or when the
            consent lacks necessary permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
                no_permissions:
                  $ref: "#/components/examples/Error401ConsentLacksPermissions"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}/beneficiaries:
    get:
      tags:
        - Accounts
      summary: Retrieve all account's beneficiaries
      security:
        - AccessToken:
            - accounts
      description: |-
        Get all the beneficiaries of a specific user account.

        :::note
        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.
        After those 5 minutes, access to this endpoint is denied, and an HTTP `403` error is returned.
        :::

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountIdBeneficiaries
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Beneficiaries Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadBeneficiary3"
              examples:
                default:
                  value:
                    Data:
                      Beneficiary:
                        - AccountId: d3779729-xxxx-xxxx-1234-fb5159b7c166
                          BeneficiaryId: 619e270c-989f-44ca-1234-a161be65d5f4
                          CreditorAccount:
                            SchemeName: UK.OBIE.SortCodeAccountNumber
                            Identification: "11223321325698"
                            Name: Receiver Co.
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d3779729-xxxx-xxxx-1234-fb5159b7c166/beneficiaries
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned, for instance, when the access token has expired or is
            invalid, for example, when the consent has been revoked, or when the
            consent lacks necessary permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
                no_permissions:
                  $ref: "#/components/examples/Error401ConsentLacksPermissions"
        "403":
          description: |-
            Forbidden

            Returned, for example, when the 5-minute [SCA](https://www.openbanking.org.uk/glossary/strong-customer-authentication/) session has expired.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                sca_expired:
                  $ref: "#/components/examples/Error403ForbiddenAccess"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}/direct-debits:
    get:
      tags:
        - Transactions
      summary: Retrieve all account's direct debits
      security:
        - AccessToken:
            - accounts
      description: |-
        Get a list of all the direct debits for a specific user account.

        :::note
        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.
        After those 5 minutes, access to this endpoint is denied, and an HTTP `403` error is returned.
        :::

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountIdDirectDebits
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Direct Debits Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadDirectDebit1"
              examples:
                default:
                  value:
                    Data:
                      DirectDebit:
                        - AccountId: d48e9496-xxxx-4af1-xxxx-8b20fc362bd3
                          DirectDebitId: 631b8ea1-5678-48d1-1234-25ccba25eb40
                          MandateIdentification: a028-45ee
                          DirectDebitStatusCode: Active
                          Name: DirectDebit name
                          PreviousPaymentAmount:
                            Amount: "50.00"
                            Currency: EUR
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d48e9496-xxxx-4af1-xxxx-8b20fc362bd3/direct-debits
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned, for instance, when the access token has expired or is
            invalid, for example, when the consent has been revoked, or when the
            consent lacks necessary permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
                no_permissions:
                  $ref: "#/components/examples/Error401ConsentLacksPermissions"
        "403":
          description: |-
            Forbidden

            Returned, for example, when the 5-minute [SCA](https://www.openbanking.org.uk/glossary/strong-customer-authentication/) session has expired.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                sca_expired:
                  $ref: "#/components/examples/Error403ForbiddenAccess"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}/standing-orders:
    get:
      tags:
        - Transactions
      summary: Retrieve all account's standing orders
      security:
        - AccessToken:
            - accounts
      description: |-
        Get a list of all the standing orders for a specific user account.

        :::note
        In compliance with PSD2 SCA regulations, access to this endpoint is only allowed within the first 5 minutes after the Revolut user has authorised the consent.
        After those 5 minutes, access to this endpoint is denied, and an HTTP `403` error is returned.
        :::

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountIdStandingOrders
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Standing Orders Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadStandingOrder4"
              examples:
                default:
                  value:
                    Data:
                      StandingOrder:
                        - AccountId: d48e9496-xxxx-4af1-xxxx-8b20fc362bd3
                          StandingOrderId: fb02306c-1234-4260-5678-371ea6dc6ea3
                          Frequency: EvryDay
                          Reference: Reference1234
                          FirstPaymentAmount:
                            Amount: 3.48
                            Currency: GBP
                          FirstPaymentDateTime: 2023-09-24T00:00
                          NextPaymentAmount:
                            Amount: 3.48
                            Currency: GBP
                          StandingOrderStatusCode: Active
                          CreditorAccount:
                            SchemeName: UK.OBIE.SortCodeAccountNumber
                            Identification: "11223321325698"
                            Name: Receiver Co.
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/d48e9496-xxxx-4af1-xxxx-8b20fc362bd3/standing-orders
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned, for instance, when the access token has expired or is
            invalid, for example, when the consent has been revoked, or when the
            consent lacks necessary permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
                no_permissions:
                  $ref: "#/components/examples/Error401ConsentLacksPermissions"
        "403":
          description: |-
            Forbidden

            Returned, for example, when the 5-minute [SCA](https://www.openbanking.org.uk/glossary/strong-customer-authentication/) session has expired.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                sca_expired:
                  $ref: "#/components/examples/Error403ForbiddenAccess"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /accounts/{AccountId}/transactions:
    get:
      tags:
        - Transactions
      summary: Retrieve all transactions
      security:
        - AccessToken:
            - accounts
      description: |
        Get all the recent transactions for an account.

        :::note
        In compliance with PSD2 SCA regulations, full transaction history can only be accessed within the first 5 minutes after the Revolut user has authorised the consent.
        After those 5 minutes, transaction history is restricted to the last 90 days counting from the moment the API request is made, and older transactions are not returned.

        Additionally, after those 5 minutes, unless the user is present and actively requesting data, you should not retrieve transaction data of an individual account more than 4 times within a 24-hour period.
        :::

        See also [Tutorials: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information).
      operationId: GetAccountsAccountIdTransactions
      parameters:
        - name: AccountId
          in: path
          description: The ID of the account.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: fromBookingDateTime
          in: query
          $ref: "#/components/parameters/FromBookingDateTimeParam"
        - name: toBookingDateTime
          in: query
          $ref: "#/components/parameters/ToBookingDateTimeParam"
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Transactions Read
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReadTransaction4"
              examples:
                transfer-out:
                  summary: Outgoing Transfers
                  value:
                    Data:
                      Transaction:
                        - AccountId: c362263a-xxxx-xxxx-xxxx-70ee3d4fede9
                          Amount:
                            Amount: "20.54"
                            Currency: GBP
                          Balance:
                            Amount:
                              Amount: "2088.55"
                              Currency: GBP
                            CreditDebitIndicator: Credit
                            Type: InterimBooked
                          BookingDateTime: 2024-12-27T06:05:20.625880Z
                          ValueDateTime: 2024-12-27T06:05:21.162872Z
                          CreditDebitIndicator: Debit
                          CurrencyExchange:
                            InstructedAmount:
                              Amount: "20.54"
                              Currency: GBP
                            SourceCurrency: GBP
                            TargetCurrency: EUR
                            UnitCurrency: GBP
                            ExchangeRate: "1.07123405660663439638574742941974304"
                          CreditorAccount:
                            SchemeName: UK.OBIE.IBAN
                            Identification: LT111111111111111111
                            Name: Receiver Co.
                          DebtorAccount:
                            SchemeName: UK.OBIE.IBAN
                            Identification: GB95REVO00997053872360
                            Name: John Doe
                          ProprietaryBankTransactionCode:
                            Code: TRANSFER
                            Issuer: Revolut
                          Status: Booked
                          TransactionId: 676e43a0-a0e9-ad9a-xxxx-a0e99aea6678
                          TransactionInformation: To Receiver Co.
                          SupplementaryData:
                            UserComments: test
                        - AccountId: c362263a-xxxx-xxxx-xxxx-70ee3d4fede9
                          Amount:
                            Amount: "11.00"
                            Currency: GBP
                          Balance:
                            Amount:
                              Amount: "2109.09"
                              Currency: GBP
                            CreditDebitIndicator: Credit
                            Type: InterimBooked
                          BookingDateTime: 2024-12-27T06:01:57.925579Z
                          ValueDateTime: 2024-12-27T06:01:58.958920Z
                          CreditDebitIndicator: Debit
                          CreditorAccount:
                            SchemeName: UK.OBIE.SortCodeAccountNumber
                            Identification: "11223300000000"
                            Name: Receiver Co.
                          DebtorAccount:
                            SchemeName: UK.OBIE.IBAN
                            Identification: GB95REVO00997053872360
                            Name: John Doe
                          ProprietaryBankTransactionCode:
                            Code: TRANSFER
                            Issuer: Revolut
                          Status: Booked
                          TransactionId: 67972281-bed3-a4dc-xxxx-81447ebe5717
                          TransactionInformation: To Water Company LIMITED
                          SupplementaryData:
                            UserComments: Some other test 2
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?toBookingDateTime=2024-12-27T06:05:21.259576Z'
                      Next: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?fromBookingDateTime=2024-10-30T15:28:17.173&toBookingDateTime=2024-12-25T06:09:34.558291'
                    Meta: {}
                transfer-in:
                  summary: Incoming Transfer
                  value:
                    Data:
                      Transaction:
                        - AccountId: c362263a-xxxx-xxxx-xxxx-70ee3d4fede9
                          Amount:
                            Amount: "12.00"
                            Currency: GBP
                          Balance:
                            Amount:
                              Amount: "10122.55"
                              Currency: GBP
                            CreditDebitIndicator: Credit
                            Type: InterimBooked
                          BookingDateTime: 2024-12-27T06:05:20.625880Z
                          ValueDateTime: 2024-12-27T06:05:21.162872Z
                          CreditDebitIndicator: Credit
                          CreditorAccount:
                            SchemeName: UK.OBIE.IBAN
                            Identification: GB95REVO00997053872360
                            Name: John Doe
                          DebtorAccount:
                            SchemeName: UK.OBIE.IBAN
                            Identification: LT111111111111111111
                            Name: World Co.
                          ProprietaryBankTransactionCode:
                            Code: TRANSFER
                            Issuer: Revolut
                          Status: Booked
                          TransactionId: 677fca51-9299-add5-xxxx-e8d5492991ac
                          TransactionInformation: From World Co.
                          SupplementaryData:
                            UserComments: Reference A11002D
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?toBookingDateTime=2024-12-27T06:05:21.259576Z'
                      Next: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?fromBookingDateTime=2024-10-30T15:28:17.173&toBookingDateTime=2024-12-25T06:09:34.558291'
                    Meta: {}
                exchange:
                  summary: Foreign Exchange
                  value:
                    Data:
                      Transaction:
                        - AccountId: c362263a-xxxx-xxxx-xxxx-70ee3d4fede9
                          Amount:
                            Amount: "2.21"
                            Currency: EUR
                          Balance:
                            Amount:
                              Amount: "24.48"
                              Currency: EUR
                            CreditDebitIndicator: Credit
                            Type: InterimBooked
                          BookingDateTime: 2024-12-27T06:05:20.625880Z
                          ValueDateTime: 2024-12-27T06:05:21.162872Z
                          CreditDebitIndicator: Credit
                          CurrencyExchange:
                            InstructedAmount:
                              Amount: "2.21"
                              Currency: EUR
                            SourceCurrency: GBP
                            TargetCurrency: EUR
                            UnitCurrency: GBP
                            ExchangeRate: "1.1072646654"
                          ProprietaryBankTransactionCode:
                            Code: EXCHANGE
                            Issuer: Revolut
                          Status: Booked
                          TransactionId: 12345678-af30-a241-xxxx-ad09076be3b1
                          TransactionInformation: To EUR
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?toBookingDateTime=2024-12-27T06:05:21.259576Z'
                      Next: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?fromBookingDateTime=2024-10-30T15:28:17.173&toBookingDateTime=2024-12-25T06:09:34.558291'
                    Meta: {}
                card-payment:
                  summary: Card payment
                  value:
                    Data:
                      Transaction:
                        - AccountId: dab95f8b-xxxx-xxxx-xxxx-8129e75c789f
                          Amount:
                            Amount: "12.34"
                            Currency: GBP
                          BookingDateTime: 2024-12-26T09:32:15.111112Z
                          CreditDebitIndicator: Debit
                          MerchantDetails:
                            MerchantName: John-Lewis Direct
                          ProprietaryBankTransactionCode:
                            Code: CARD_PAYMENT
                            Issuer: Revolut
                          Status: Pending
                          TransactionId: 67a4819f-f349-a1a3-xxxx-e2835336f69c
                          TransactionInformation: John-Lewis Direct
                          SupplementaryData:
                            StartedDate: 2024-12-25T11:23:04.322739Z
                          CardInstrument:
                            Identification: "2252"
                            CardSchemeName: MASTERCARD
                            Name: Anna Gloss
                    Links:
                      Self: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?toBookingDateTime=2024-12-27T06:05:21.259576Z'
                      Next: https://oba-auth.revolut.com/accounts/c362263a-xxxx-xxxx-xxxx-70ee3d4fede9/transactions?fromBookingDateTime=2024-10-30T15:28:17.173&toBookingDateTime=2024-12-25T06:09:34.558291'
                    Meta: {}
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: >-
            Unauthorized


            Returned, for instance, when the access token has expired or is
            invalid, for example, when the consent has been revoked, or when the
            consent lacks necessary permissions.
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                consent_revoked:
                  $ref: "#/components/examples/Error401InvalidRevokedOrExpiredToken"
                no_permissions:
                  $ref: "#/components/examples/Error401ConsentLacksPermissions"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "405":
          description: Method Not Allowed
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "406":
          description: Not Acceptable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-payment-consents:
    post:
      tags:
        - Domestic payment
      summary: Create a domestic payment consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a domestic payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use domestic payments for local payments in the local currency of the user.

        :::note
        Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.
        :::

        Because Revolut Business users can have multiple accounts in the same currency, they can choose which account they want to be charged in the consent authorization UI.

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateDomesticPaymentConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomesticConsent2"
            examples:
              default:
                value:
                  Data:
                    Initiation:
                      InstructionIdentification: ID412
                      EndToEndIdentification: E2E123
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                      RemittanceInformation:
                        Unstructured: Shipment fee
                  Risk:
                    PaymentContextCode: EcommerceGoods
                    MerchantCategoryCode: "5967"
                    MerchantCustomerIdentification: "1238808123123"
                    DeliveryAddress:
                      AddressLine:
                        - "7"
                      StreetName: Apple Street
                      BuildingNumber: "1"
                      PostCode: E2 7AA
                      TownName: London
                      Country: UK
        required: true
      responses:
        "201":
          description: Domestic Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T08:34:43.275221Z
                      CreationDateTime: 2022-09-23T08:34:43.275221Z
                      ConsentId: 0d4b6692-xxxx-4938-xxxx-99e125231cf9
                      Initiation:
                        InstructionIdentification: ID412
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                        RemittanceInformation:
                          Unstructured: Shipment fee
                    Risk:
                      PaymentContextCode: EcommerceGoods
                      MerchantCategoryCode: "5967"
                      MerchantCustomerIdentification: "1238808123123"
                      DeliveryAddress:
                        AddressLine:
                          - "7"
                        StreetName: Apple Street
                        BuildingNumber: "1"
                        PostCode: E2 7AA
                        TownName: London
                        Country: UK
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payment-consents/0d4b6692-xxxx-4938-xxxx-99e125231cf9
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomesticConsent2Param
  /domestic-payment-consents/{ConsentId}:
    get:
      tags:
        - Domestic payment
      summary: Retrieve a domestic payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of a domestic payment consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetDomesticPaymentConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T08:34:43.275221Z
                      CreationDateTime: 2022-09-23T08:34:43.275221Z
                      ConsentId: 0d4b6692-xxxx-4938-xxxx-99e125231cf9
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                    Risk:
                      DeliveryAddress:
                        Country: UK
                        PostCode: E2 7AA
                        TownName: London
                        StreetName: Apple Street
                        AddressLine:
                          - "7"
                        BuildingNumber: "1"
                      PaymentContextCode: EcommerceGoods
                      MerchantCategoryCode: "5967"
                      MerchantCustomerIdentification: "1238808123123"
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payment-consents/0d4b6692-xxxx-4938-xxxx-99e125231cf9
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-payment-consents/{ConsentId}/funds-confirmation:
    get:
      tags:
        - Domestic payment
      summary: Get funds confirmation for a domestic payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Check the funds for a domestic payment with the given consent.
        You can get the information only if the user has authorized the related consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetDomesticPaymentConsentsConsentIdFundsConfirmation
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Payment Consents Funds Confirmation Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
              examples:
                default:
                  value:
                    Data:
                      FundsAvailableResult:
                        FundsAvailableDateTime: 2022-09-23T09:08:27.508922Z
                        FundsAvailable: true
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payment-consents/e3884854-be36-xxxx-xxxx-9ce807ab1335/funds-confirmation
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-payments:
    post:
      tags:
        - Domestic payment
      summary: Create a domestic payment
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a domestic payment.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateDomesticPayments
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomestic2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                    Initiation:
                      InstructionIdentification: ID412
                      EndToEndIdentification: E2E123
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                      RemittanceInformation:
                        Unstructured: Shipment fee
                  Risk:
                    PaymentContextCode: EcommerceGoods
                    MerchantCategoryCode: "5967"
                    MerchantCustomerIdentification: "1238808123123"
                    DeliveryAddress:
                      AddressLine:
                        - "7"
                      StreetName: Apple Street
                      BuildingNumber: "1"
                      PostCode: E2 7AA
                      TownName: London
                      Country: UK
        required: true
      responses:
        "201":
          description: Domestic Payment Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticResponse2"
              examples:
                Pending:
                  value:
                    Data:
                      ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                      CreationDateTime: 2022-09-23T14:57:45.899155Z
                      DomesticPaymentId: 632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        InstructionIdentification: ID412
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Status: Pending
                      StatusUpdateDateTime: 2022-09-23T14:57:45.899155Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                    Meta:
                      TotalPages: 1
                AcceptedSettlementInProcess:
                  value:
                    Data:
                      ConsentId: ec62477b-xxxx-41e2-xxxx-4d760c425a3e
                      CreationDateTime: 2022-09-23T14:57:45.899155Z
                      DomesticPaymentId: 632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        InstructionIdentification: ID412
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Status: AcceptedSettlementInProcess
                      StatusUpdateDateTime: 2022-09-23T14:57:45.899155Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dc969-xxxx-ae29-xxxx-50cefc4ceae7
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomestic2Param
  /domestic-payments/{DomesticPaymentId}:
    get:
      tags:
        - Domestic payment
      summary: Retrieve a domestic payment
      security:
        - AccessToken:
            - payments
      description: |-
        Get the status of a domestic payment.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetDomesticPaymentsDomesticPaymentId
      parameters:
        - name: DomesticPaymentId
          in: path
          description: The ID of the domestic payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticResponse2"
              examples:
                Pending:
                  value:
                    Data:
                      DomesticPaymentId: 632dce07-xxxx-xxxx-9950-6614f70f0009
                      Status: Pending
                      StatusUpdateDateTime: 2022-09-23T15:17:27.904903Z
                      CreationDateTime: 2022-09-23T15:17:27.904903Z
                      ConsentId: e6c8ea6c-xxxx-42ec-xxxx-aeab34c33f4a
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dce07-xxxx-xxxx-9950-6614f70f0009
                    Meta:
                      TotalPages: 1
                AcceptedSettlementInProcess:
                  value:
                    Data:
                      DomesticPaymentId: 632dce07-xxxx-xxxx-9950-6614f70f0009
                      Status: AcceptedSettlementInProcess
                      StatusUpdateDateTime: 2022-09-23T15:17:28.924522Z
                      CreationDateTime: 2022-09-23T15:17:27.904903Z
                      ConsentId: e6c8ea6c-xxxx-42ec-xxxx-aeab34c33f4a
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dce07-xxxx-xxxx-9950-6614f70f0009
                    Meta:
                      TotalPages: 1
                AcceptedSettlementCompleted:
                  value:
                    Data:
                      DomesticPaymentId: 632dce07-xxxx-xxxx-9950-6614f70f0009
                      Status: AcceptedSettlementCompleted
                      StatusUpdateDateTime: 2022-09-23T15:17:31.965961Z
                      CreationDateTime: 2022-09-23T15:17:27.904903Z
                      ConsentId: e6c8ea6c-xxxx-42ec-xxxx-aeab34c33f4a
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-payments/632dce07-xxxx-xxxx-9950-6614f70f0009
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-scheduled-payment-consents:
    post:
      tags:
        - Domestic scheduled payment
      summary: Create a domestic scheduled payment consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a scheduled payment consent as described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use domestic scheduled payments for local scheduled payments in the local currency of the user.

        :::note
        Revolut supports only GBP as local in the UK and EUR in SEPA countries.
        :::

        Because Revolut Business users can have multiple accounts in the same currency, they can select which account they want to be charged in the consent authorization UI.

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        :::note
        The domestic scheduled payments API is in beta.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateDomesticScheduledPaymentConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomesticScheduledConsent2"
            examples:
              default:
                value:
                  Data:
                    Permission: Create
                    Initiation:
                      InstructionIdentification: ID412
                      EndToEndIdentification: E2E123
                      RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                      RemittanceInformation:
                        Unstructured: Shipment fee
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: Domestic Scheduled Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticScheduledConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T16:24:44.538265Z
                      CreationDateTime: 2022-09-23T16:24:44.538265Z
                      Permission: Create
                      ConsentId: 334fxxxx-e6e8-xxxx-a823-acaf8c93a6af
                      Initiation:
                        InstructionIdentification: ID412
                        EndToEndIdentification: E2E123
                        RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                        RemittanceInformation:
                          Unstructured: Shipment fee
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-scheduled-payment-consents/334fxxxx-e6e8-xxxx-a823-acaf8c93a6af
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomesticScheduledConsent2Param
  /domestic-scheduled-payment-consents/{ConsentId}:
    get:
      tags:
        - Domestic scheduled payment
      summary: Retrieve a domestic scheduled payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of a domestic scheduled payment consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetDomesticScheduledPaymentConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: |-
            The date and time when the [PSU](/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](/docs/guides/build-banking-apps/glossary).

            All dates in the HTTP headers are represented as [RFC 7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1) Full Dates.
            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.

            See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Scheduled Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticScheduledConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T16:30:48.724988Z
                      CreationDateTime: 2022-09-23T16:30:48.724988Z
                      Permission: Create
                      ConsentId: 9709f508-xxxx-44bd-xxxx-94cb8d574d2f
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                        RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-scheduled-payment-consents/9709f508-xxxx-44bd-xxxx-94cb8d574d2f
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-scheduled-payments:
    post:
      tags:
        - Domestic scheduled payment
      summary: Create a domestic scheduled payment
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |
        Create a domestic scheduled payment.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateDomesticScheduledPayments
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomesticScheduled2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: 9709f508-xxxx-44bd-xxxx-94cb8d574d2f
                    Initiation:
                      InstructionIdentification: ID412
                      EndToEndIdentification: E2E123
                      RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                      RemittanceInformation:
                        Unstructured: Shipment fee
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: Domestic Scheduled Payments Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticScheduledResponse2"
              examples:
                default:
                  value:
                    Data:
                      ConsentId: 163cefc8-830b-xxxx-xxxx-34022a19a556
                      CreationDateTime: 2022-09-23T16:36:48.416214Z
                      DomesticScheduledPaymentId: 12345678-xxxx-422b-9270-482770c42379
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        EndToEndIdentification: E2E123
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        InstructionIdentification: ID412
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Permission: Create
                      Status: InitiationPending
                      StatusUpdateDateTime: 2022-09-23T16:36:48.416214Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-scheduled-payments/12345678-xxxx-422b-9270-482770c42379
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomesticScheduled2Param
  /domestic-scheduled-payments/{DomesticScheduledPaymentId}:
    get:
      tags:
        - Domestic scheduled payment
      summary: Retrieve a domestic scheduled payment
      security:
        - AccessToken:
            - payments
      description: |-
        Get the status of a domestic scheduled payment.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetDomesticScheduledPaymentsDomesticScheduledPaymentId
      parameters:
        - name: DomesticScheduledPaymentId
          in: path
          description: The ID of the domestic scheduled payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Scheduled Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticScheduledResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationPending
                      StatusUpdateDateTime: 2022-09-23T16:36:48.416214Z
                      CreationDateTime: 2022-09-23T16:36:48.416214Z
                      Permission: Create
                      DomesticScheduledPaymentId: 12345678-xxxx-422b-9270-482770c42379
                      ConsentId: 163cefc8-830b-xxxx-xxxx-34022a19a556
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        RemittanceInformation:
                          Unstructured: Shipment fee
                        EndToEndIdentification: E2E123
                        InstructionIdentification: ID412
                        RequestedExecutionDateTime: 2023-08-24T14:15:22Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-scheduled-payments/12345678-xxxx-422b-9270-482770c42379
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-standing-order-consents:
    post:
      tags:
        - Domestic standing order
      summary: Create a domestic standing order consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a domestic standing order consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use domestic standing orders for local recurring payments in the local currency of the user.

        :::note
        Revolut supports only GBP as local in the UK and EUR in Single Euro Payments Area (SEPA) countries.
        :::

        Because Revolut Business users can have multiple accounts in the same currency, they can choose which account they want to be charged in the consent authorization UI.

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).


        The following types of standing orders frequency are supported:

        |  FREQUENCY |  EXAMPLE | DETAILS  |
        |---|---|---|
        |  `EvryDay` | EvryDay  | daily, supported only for personal accounts  |
        | `IntrvlWkDay`  | IntrvlWkDay:01:03  | weekly on a specified week day, only 1 week interval is supported  |
        | `IntrvlMnthDay`  | IntrvlMnthDay:01:03  |  monthly on a specified day of month, only 1 month interval is supported |

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateDomesticStandingOrderConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsent2"
            examples:
              default:
                value:
                  Data:
                    Permission: Create
                    Initiation:
                      Frequency: EvryDay
                      Reference: Reference1234
                      FirstPaymentDateTime: 2022-09-23T14:15:22Z
                      FirstPaymentAmount:
                        Amount: "1.00"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: Domestic Standing Order Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T17:29:11.18491Z
                      CreationDateTime: 2022-09-23T17:29:11.18491Z
                      Permission: Create
                      ConsentId: a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        FirstPaymentDateTime: 2022-09-24T14:15:22Z
                        FirstPaymentAmount:
                          Amount: "1.00"
                          Currency: GBP
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-standing-order-consents/a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                FirstPaymentDateTime-and-Frequency-mismatch:
                  summary: Unsupported frequency - FirstPaymentDateTime and Frequency date
                    mismatch
                  value:
                    Code: 400 Bad Request
                    Message: Invalid request parameters
                    Id: 2CIH72EKKPW2
                    Errors:
                      - ErrorCode: UK.OBIE.Field.Invalid
                        Message: Unsupported frequency
                FirstPaymentDateTime-in-the-past:
                  summary: FirstPaymentDateTime is in the past
                  value:
                    Code: 400 Bad Request
                    Message: Invalid request parameters
                    Id: S62D6M5AC9DZ
                    Errors:
                      - ErrorCode: UK.OBIE.Field.Invalid
                        Message: FirstPaymentDateTime has to be in the future
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomesticStandingOrderConsent2Param
  /domestic-standing-order-consents/{ConsentId}:
    get:
      tags:
        - Domestic standing order
      summary: Retrieve a domestic standing order consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of a domestic standing order consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetDomesticStandingOrderConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Standing Order Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-23T17:29:11.18491Z
                      CreationDateTime: 2022-09-23T17:29:11.18491Z
                      Permission: Create
                      ConsentId: a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        FirstPaymentAmount:
                          Amount: "1.00"
                          Currency: GBP
                        FirstPaymentDateTime: 2022-09-24T14:15:22Z
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-standing-order-consents/a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /domestic-standing-orders:
    post:
      tags:
        - Domestic standing order
      summary: Create a domestic standing order
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |
        Create a domestic standing order.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateDomesticStandingOrders
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteDomesticStandingOrder2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                    Initiation:
                      Frequency: EvryDay
                      Reference: Reference1234
                      FirstPaymentDateTime: 2022-09-24T14:15:22Z
                      FirstPaymentAmount:
                        Amount: "1.00"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: Domestic Standing Orders Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticStandingOrderResponse2"
              examples:
                default:
                  value:
                    Data:
                      ConsentId: a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                      CreationDateTime: 2022-09-23T17:37:46.190063Z
                      DomesticStandingOrderId: 4c31965f-3de0-xxxx-8946-2f4f0e50dcda
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        FirstPaymentAmount:
                          Amount: "1.00"
                          Currency: GBP
                        FirstPaymentDateTime: 2022-09-24T14:15:22Z
                        Frequency: EvryDay
                        Reference: Reference1234
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      Permission: Create
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-09-23T17:37:46.190063Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-standing-orders/4c31965f-3de0-xxxx-8946-2f4f0e50dcda
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteDomesticStandingOrder2Param
  /domestic-standing-orders/{DomesticStandingOrderId}:
    get:
      tags:
        - Domestic standing order
      summary: Retrieve a domestic standing order
      security:
        - AccessToken:
            - payments
      description: |-
        Get the status of a domestic standing order.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetDomesticStandingOrdersDomesticStandingOrderId
      parameters:
        - name: DomesticStandingOrderId
          in: path
          description: The ID of the domestic standing order.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: Domestic Standing Orders Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UID
                used as a correlation id.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteDomesticStandingOrderResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-09-23T17:37:46.190063Z
                      CreationDateTime: 2022-09-23T17:37:46.190063Z
                      Permission: Create
                      DomesticStandingOrderId: 4c31965f-3de0-xxxx-8946-2f4f0e50dcda
                      ConsentId: a8987204-xxxx-4c26-xxxx-f7a3effea6f3
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        FirstPaymentAmount:
                          Amount: "1.00"
                          Currency: GBP
                        FirstPaymentDateTime: 2022-09-24T14:15:22Z
                    Links:
                      Self: https://oba-auth.revolut.com/domestic-standing-orders/4c31965f-3de0-xxxx-8946-2f4f0e50dcda
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /file-payment-consents:
    post:
      tags:
        - File payment
      summary: Create a file payment consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a file payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        :::note
        File Payments are available only for Revolut Business users.
        Currently only the `text/csv` file type is supported for File Payments.
        :::

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        For more information, see [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment#4-create-a-file-payment-consent).
      operationId: CreateFilePaymentConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteFileConsent2"
            examples:
              default:
                value:
                  Data:
                    Initiation:
                      FileType: text/csv
                      FileHash: a31f80c0-4946-11ed-b878-0242ac120002
                      FileReference: reference1234
        required: true
      responses:
        "201":
          description: File Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFileConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingUpload
                      StatusUpdateDateTime: 2022-10-11T13:17:08.140705Z
                      CreationDateTime: 2022-10-11T13:17:08.140705Z
                      ConsentId: d2ca7407-1234-466e-xxxx-00010770a4ff
                      Initiation:
                        FileType: text/csv
                        FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
                        FileReference: reference1234
                    Links:
                      Self: https://oba-auth.revolut.com/file-payment-consents/d2ca7407-1234-466e-xxxx-00010770a4ff
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteFileConsent2Param
  /file-payment-consents/{ConsentId}:
    get:
      tags:
        - File Payment
      summary: Retrieve a file payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of a file payment consent.

        See also [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment).
      operationId: GetFilePaymentConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: File Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFileConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingUpload
                      StatusUpdateDateTime: 2022-11-22T17:16:28.350197Z
                      CreationDateTime: 2022-11-22T17:16:28.350197Z
                      ConsentId: 6fb10dd9-xxxx-yyyy-zzzz-430e37f8cea0
                      Initiation:
                        FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
                        FileType: text/csv
                        FileReference: reference1234
                    Links:
                      Self: https://oba-auth.revolut.com/file-payment-consents/6fb10dd9-xxxx-yyyy-zzzz-430e37f8cea0
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /file-payment-consents/{ConsentId}/file:
    get:
      tags:
        - File payment
      summary: Retrieve an uploaded payment file
      security:
        - AccessToken:
            - payments
      description: |-
        Get the payment file that was uploaded with the given consent.

        See also [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment).
      operationId: GetFilePaymentConsentsConsentIdFile
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: File Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            text/csv:
              schema:
                description: The payment file that was uploaded with the specified consent.
                type: string
                contentMediaType: application/octet-stream
              examples:
                fileExample:
                  summary: CSV formatted-text
                  value: >-
                    Name,Recipient type,Account number,Sort code,Routing
                    number,IBAN,BIC,Recipient bank
                    country,Currency,Amount,Payment reference,Recipient
                    country,State or province,Address line 1,Address line
                    2,City,Postal code

                    John Smith,INDIVIDUAL,40513598,207409,,,GB,GBP,10,User
                    comment,GB,,Revolutest LTD,Somewhere in London,London,E14
                    5AB
        "400":
          description: Bad request
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
    post:
      tags:
        - File payment
      summary: Upload a payment file
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Use this endpoint to upload a file for the given file payment consent.

        For the format of the CSV file, check the request body details.

        :::note
        Download an [example CSV file](https://assets.revolut.com/api-docs/oba-api/file-payment-file.csv).
        :::

        For more information, see [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment#5-upload-the-csv-file).
      operationId: CreateFilePaymentConsentsConsentIdFile
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          text/csv:
            schema:
              description: >-
                The CSV payments file.

                Provided as CSV-formatted text representing file payments, or as
                the path to the CSV payments file preceded by `@`.

                For the format of the CSV file, check the details below.


                <details><summary>The format of the payment file:</summary>


                | FIELD | REQUIRED | DESCRIPTION |

                |---|---|---|

                |`Name`|Yes| Can contain up to 80 characters. If `recipient
                type` is `INDIVIDUAL`, this field must contain a first and a
                last name, separated by a space.|

                |`Recipient type` |Yes| Can be either `INDIVIDUAL` or
                `COMPANY`.|

                |`Account number` |For UK transfers| Must contain valid account
                number if provided.|

                |`Sort code`| For UK transfers| Must contain valid sort code if
                provided.|

                |`Routing number`| For US transfers| Must contain valid routing
                number if provided.|

                |`IBAN` |For SEPA transfers| Must contain valid IBAN if
                provided.|

                |`BIC` |For SEPA transfers| Must contain valid BIC if provided.|

                |`Recipient bank country` |Yes| Must contain valid [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code.|

                |`Currency`| Yes |Must contain valid [ISO
                4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.|

                |`Amount` |Yes| Must match the following pattern
                `[0-9]*(\.[0-9]*)?`.|

                |`Payment reference` |Yes| Can contain up to 100 characters.|

                |`Recipient country` |No |Must contain valid [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code
                if provided.|

                |`State or province`| No| Can contain up to 50 characters.|

                |`Address line 1` |No| Can contain up to 50 characters.|

                |`Address line 2` | No |Can contain up to 50 characters.|

                |`City` |No| Can contain up to 50 characters.|

                |`Postal code` |No| Can contain up to 50 characters.|


                </details>
              type: string
            examples:
              CSV-formatted text-UK:
                summary: "CSV-formatted text: UK local transfer"
                value: >-
                  Name,Recipient type,Account number,Sort code,Recipient bank
                  country,Currency,Amount,Payment reference,Payment
                  reference,Recipient country,State or province,Address line
                  1,Address line 2,City,Postal code

                  John Smith,INDIVIDUAL,40513598,207409,,,GB,GBP,10,User
                  comment,GB,,Revolutest LTD,Somewhere in London,London,E14 5AB

                  John Doe,INDIVIDUAL,90352556,600001,GB,GBP,10,Second
                  comment,,,,,,
              CSV-formatted text-US:
                summary: "CSV-formatted text: US local transfer"
                value: >-
                  Name,Recipient type,Account number,Routing number,Recipient
                  bank country,Currency,Amount,Payment reference,Recipient
                  country,State or province,Address line 1,Address line
                  2,City,Postal code

                  John Smith,INDIVIDUAL,531782059505,024600402,US,USD,10,First
                  comment,US,California,Revolutest LTD,2340 Marietta
                  Street,Oakland,94612

                  John Doe,INDIVIDUAL,356972945639,118677794,US,USD,10,Second
                  comment,US,Arkansas,Revolutest LTD,3243 Midway
                  Road,Portland,71654
              CSV-formatted text-IBAN:
                summary: "CSV-formatted text: IBAN transfer"
                value: |-
                  Name,Recipient type,IBAN,BIC,Recipient bank country,Currency,Amount,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
                  Jaques Martin,INDIVIDUAL,FR0514508000305251415643Y69,SOGEFRPP,FR,EUR,10,First comment,FR,Bretagne,Revolutest LTD,82 rue Lenotre,RENNES,35000
                  Michel Dupont,INDIVIDUAL,FR3210057000308845567335Q88,BNPAFRPP,FR,EUR,10,Second comment,FR,Aquitaine,Revolutest LTD,52 rue Jean Vilar,BERGERAC,24100
              CSV file:
                summary: Path to a CSV file
                value: "@file-payment-file.csv"
        required: true
      responses:
        "200":
          description: File Payment CSV Uploaded
          headers:
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                description: An empty JSON object (`{}`) is returned.
                $ref: "#/components/schemas/EmptyBody"
              examples:
                default:
                  value: {}
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: FileParam
  /file-payments:
    post:
      tags:
        - File payment
      summary: Create a file payment
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create a file payment.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        For more information, see [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment).
      operationId: CreateFilePayments
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteFile2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: 7ffe4969-1234-1234-acab-d24e89855fdd
                    Initiation:
                      FileType: text/csv
                      FileHash: 7YuW8NQJ78/cHthltcqeJdJKX3BlATBS92IzoBXqQz0=
                      FileReference: reference1234
        required: true
      responses:
        "201":
          description: File Payments Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFileResponse2"
              examples:
                default:
                  value:
                    Data:
                      ConsentId: 7ffe4969-1234-1234-acab-d24e89855fdd
                      CreationDateTime: 2022-10-12T14:06:27.883606Z
                      FilePaymentId: 6036c4d7-b311-xxxx-xxxx-b37a0a1395e0
                      Initiation:
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
                        FileReference: reference1234
                        FileType: text/csv
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-10-12T14:06:27.883606Z
                    Links:
                      Self: https://oba-auth.revolut.com/file-payments/6036c4d7-b311-xxxx-xxxx-b37a0a1395e0
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteFile2Param
  /file-payments/{FilePaymentId}:
    get:
      tags:
        - File payment
      summary: Retrieve a file payment
      security:
        - AccessToken:
            - payments
      description: |-
        Get the state of a file payment.

        For more information, see [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment#10-check-the-file-payment-status).
      operationId: GetFilePaymentsFilePaymentId
      parameters:
        - name: FilePaymentId
          in: path
          description: The ID of the file payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: File Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFileResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-10-12T14:06:28.48358Z
                      CreationDateTime: 2022-10-12T14:06:27.883606Z
                      FilePaymentId: 6036c4d7-b311-xxxx-xxxx-b37a0a1395e0
                      ConsentId: 7ffe4969-1234-1234-acab-d24e89855fdd
                      Initiation:
                        FileHash: 7YuW8NQJ78/cHthltcqeJd1234BlATBS92IzoBXqQz0=
                        FileType: text/csv
                        FileReference: reference1234
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                    Links:
                      Self: https://oba-auth.revolut.com/file-payments/6036c4d7-b311-xxxx-xxxx-b37a0a1395e0
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /file-payments/{FilePaymentId}/report-file:
    get:
      tags:
        - File payment
      summary: Retrieve all payments of a file payment
      security:
        - AccessToken:
            - payments
      description: |
        Get the state of all individual payments for the given file payment.

        :::note
        Currently only the `JSON` format is supported.
        :::

        For more information, see [Tutorials: Create a file payment](/docs/guides/build-banking-apps/tutorials/create-a-file-payment#11-check-the-status-of-all-payments).
      operationId: GetFilePaymentsFilePaymentIdReportFile
      parameters:
        - name: FilePaymentId
          in: path
          description: The ID of the file payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: File Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBReportFileResponse"
              examples:
                default:
                  value:
                    Payments:
                      - Amount:
                          Amount: "10.00"
                          Currency: GBP
                        Reference: First of my two payments in the file
                        Status: Created
                      - Amount:
                          Amount: "213.00"
                          Currency: GBP
                        Reference: Second of my two payments in the file
                        Status: Created
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            "*/*":
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-payment-consents:
    post:
      tags:
        - International payment
      summary: Create an international payment consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |
        Create an international payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use international payments for international SWIFT payments in all currencies supported by Revolut.

        :::note
        Only the payments with `InstructedAmount` in the same currency as `CurrencyOfTransfer` are supported.

        However, users can select which account they want to be charged in the consent authorization UI even if the selected account is in a different currency.

        In such a case, the `ExchangeRateInformation` response field contains information about the `ExchangeRate` between `SourceCurrency` and `CurrencyOfTransfer`.
        If the user doesn't have enough funds on the selected account, the consent authorization is rejected.
        :::

        :::note
        For international payment initiation consents, we recommend including the creditor's name and address.
        Otherwise, the API may return the error `Address is required for this beneficiary` if the address is not provided for international payments.
        :::

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateInternationalPaymentConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternationalConsent2"
            examples:
              default:
                value:
                  Data:
                    Initiation:
                      InstructionIdentification: Reference1234
                      EndToEndIdentification: E2E1234
                      CurrencyOfTransfer: EUR
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: EUR
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-26T09:07:30.952882Z
                      CreationDateTime: 2022-09-26T09:07:30.952882Z
                      ConsentId: 3446d4b6-xxxx-4e4f-xxxx-6605eeff5d1f
                      Initiation:
                        InstructionIdentification: Reference1234
                        EndToEndIdentification: E2E1234
                        CurrencyOfTransfer: EUR
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: EUR
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                      ExchangeRateInformation:
                        UnitCurrency: EUR
                        RateType: Indicative
                        ExchangeRate: "1.0000"
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-payment-consents/3446d4b6-xxxx-4e4f-xxxx-6605eeff5d1f
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternationalConsent2Param
  /international-payment-consents/{ConsentId}:
    get:
      tags:
        - International payment
      summary: Retrieve an international payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of an international payment consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetInternationalPaymentConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-26T09:07:30.952882Z
                      CreationDateTime: 2022-09-26T09:07:30.952882Z
                      ConsentId: 3446d4b6-xxxx-4e4f-xxxx-6605eeff5d1f
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: EUR
                        CurrencyOfTransfer: EUR
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                      ExchangeRateInformation:
                        UnitCurrency: EUR
                        RateType: Indicative
                        ExchangeRate: "1.0000"
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-payment-consents/3446d4b6-xxxx-4e4f-xxxx-6605eeff5d1f
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-payment-consents/{ConsentId}/funds-confirmation:
    get:
      tags:
        - International payment
      summary: Get funds confirmation for an international payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Check the funds for an international payment with the given consent.
        You can get the information only if the user has authorized the related consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetInternationalPaymentConsentsConsentIdFundsConfirmation
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
              examples:
                default:
                  value:
                    Data:
                      FundsAvailableResult:
                        FundsAvailableDateTime: 2022-09-26T14:13:46.585307Z
                        FundsAvailable: true
                    Links:
                      Self: https://oba-auth.revolut.com/international-payment-consents/323673db-babc-xxxx-xxxx-148cd24c390e/funds-confirmation
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-payments:
    post:
      tags:
        - International payment
      summary: Create an international payment
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |
        Create an international payment.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateInternationalPayments
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternational2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: 65067c5d-e752-410d-a922-c9da2aeb8e6b
                    Initiation:
                      InstructionIdentification: Reference1234
                      EndToEndIdentification: E2E1234
                      CurrencyOfTransfer: EUR
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: EUR
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Payments Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalResponse2"
              examples:
                Pending:
                  value:
                    Data:
                      ConsentId: 2373df19-xxxx-43a9-xxxx-b5fd14e5920f
                      CreationDateTime: 2022-09-26T09:29:10.152499Z
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        InstructionIdentification: Reference1234
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      InternationalPaymentId: 633170e6-xxxx-xxxx-xxxx-e90e7f88abee
                      Status: Pending
                      StatusUpdateDateTime: 2022-09-26T09:29:10.152499Z
                    Links:
                      Self: https://oba-auth.revolut.com/international-payments/633170e6-xxxx-xxxx-xxxx-e90e7f88abee
                    Meta:
                      TotalPages: 1
                AcceptedSettlementInProcess:
                  value:
                    Data:
                      ConsentId: 2373df19-xxxx-43a9-xxxx-b5fd14e5920f
                      CreationDateTime: 2022-09-26T09:29:10.152499Z
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        InstructionIdentification: Reference1234
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      InternationalPaymentId: 633170e6-xxxx-xxxx-xxxx-e90e7f88abee
                      Status: AcceptedSettlementInProcess
                      StatusUpdateDateTime: 2022-09-26T09:29:10.152499Z
                    Links:
                      Self: https://oba-auth.revolut.com/international-payments/633170e6-xxxx-xxxx-xxxx-e90e7f88abee
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternational2Param
  /international-payments/{InternationalPaymentId}:
    get:
      tags:
        - International payment
      summary: Retrieve an international payment
      security:
        - AccessToken:
            - payments
      description: |-
        Get the state of an international payment.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetInternationalPaymentsInternationalPaymentId
      parameters:
        - name: InternationalPaymentId
          in: path
          description: The ID of the international payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalResponse2"
              examples:
                Pending:
                  value:
                    Data:
                      Status: Pending
                      StatusUpdateDateTime: 2022-09-26T14:28:00.178343Z
                      CreationDateTime: 2022-09-26T14:28:00.178343Z
                      InternationalPaymentId: 12345678-6992-a81e-xxxx-01f9c376f047
                      ConsentId: dd8b3bc7-xxxx-498e-xxxx-72d31ca13970
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                    Links:
                      Self: https://oba-auth.revolut.com/international-payments/12345678-6992-a81e-xxxx-01f9c376f047
                    Meta:
                      TotalPages: 1
                AcceptedSettlementInProcess:
                  value:
                    Data:
                      Status: AcceptedSettlementInProcess
                      StatusUpdateDateTime: 2022-09-26T14:28:02.127734Z
                      CreationDateTime: 2022-09-26T14:28:00.178343Z
                      InternationalPaymentId: 12345678-6992-a81e-xxxx-01f9c376f047
                      ConsentId: dd8b3bc7-xxxx-498e-xxxx-72d31ca13970
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                    Links:
                      Self: https://oba-auth.revolut.com/international-payments/12345678-6992-a81e-xxxx-01f9c376f047
                    Meta:
                      TotalPages: 1
                AcceptedSettlementCompleted:
                  value:
                    Data:
                      Status: AcceptedSettlementCompleted
                      StatusUpdateDateTime: 2022-09-26T14:28:04.342276Z
                      CreationDateTime: 2022-09-26T14:28:00.178343Z
                      InternationalPaymentId: 12345678-6992-a81e-xxxx-01f9c376f047
                      ConsentId: dd8b3bc7-xxxx-498e-xxxx-72d31ca13970
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                    Links:
                      Self: https://oba-auth.revolut.com/international-payments/12345678-6992-a81e-xxxx-01f9c376f047
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-scheduled-payment-consents:
    post:
      tags:
        - International scheduled payment
      summary: Create an international scheduled payment consent
      security:
        - AccessToken:
            - payments
      description: |
        Create an international scheduled payment consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use international scheduled payments for international SWIFT payments in all currencies supported by Revolut.

        :::note
        Only the payments with `InstructedAmount` in the same currency as `CurrencyOfTransfer` are supported.
        :::

        However, users can select which account they want to be charged in the consent authorization UI even if the selected account is in a different currency.

        In such a case, the `ExchangeRateInformation` response field contains information about the `ExchangeRate` between `SourceCurrency` and `CurrencyOfTransfer`.
        If the user doesn't have enough funds on the selected account, the consent authorization is rejected.

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateInternationalScheduledPaymentConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternationalScheduledConsent2"
            examples:
              default:
                value:
                  Data:
                    Permission: Create
                    Initiation:
                      InstructionIdentification: Reference1234
                      EndToEndIdentification: E2E1234
                      RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                      CurrencyOfTransfer: GBP
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Scheduled Payment Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalScheduledConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-27T07:21:28.523356Z
                      CreationDateTime: 2022-09-27T07:21:28.523356Z
                      Permission: Create
                      ConsentId: 4c31ba68-aea8-xxxx-xxxx-12349fa9a975
                      Initiation:
                        InstructionIdentification: Reference1234
                        EndToEndIdentification: E2E1234
                        RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                        CurrencyOfTransfer: GBP
                        InstructedAmount:
                          Amount: "12.0"
                          Currency: GBP
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-scheduled-payment-consents/4c31ba68-aea8-xxxx-xxxx-12349fa9a975
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternationalScheduledConsent2Param
  /international-scheduled-payment-consents/{ConsentId}:
    get:
      tags:
        - International scheduled payment
      summary: Retrieve an international scheduled payment consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of an international scheduled payment consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetInternationalScheduledPaymentConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Scheduled Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalScheduledConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-27T07:21:28.523356Z
                      CreationDateTime: 2022-09-27T07:21:28.523356Z
                      Permission: Create
                      ConsentId: 4c31ba68-aea8-xxxx-xxxx-12349fa9a975
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "12.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                        RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-scheduled-payment-consents/4c31ba68-aea8-xxxx-xxxx-12349fa9a975
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-scheduled-payment-consents/{ConsentId}/funds-confirmation:
    get:
      tags:
        - International scheduled payment
      summary: Get funds confirmation for an international scheduled payment
      security:
        - AccessToken:
            - payments
      description: |-
        Check the funds for an international scheduled payment with the given consent.
        You can get the information only if the user has authorized the related consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetInternationalScheduledPaymentConsentsConsentIdFundsConfirmation
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Payment Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
              examples:
                default:
                  value:
                    Data:
                      FundsAvailableResult:
                        FundsAvailableDateTime: 2022-09-27T07:45:59.760463Z
                        FundsAvailable: true
                    Links:
                      Self: https://oba-auth.revolut.com/international-scheduled-payment-consents/0e3c0734-fb1c-4d9d-a275-123412341111/funds-confirmation
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-scheduled-payments:
    post:
      tags:
        - International scheduled payment
      summary: Create an international scheduled payment
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Create an international scheduled payment.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateInternationalScheduledPayments
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternationalScheduled2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: 50335ba3-xxxx-4874-xxxx-2191f1fe1114
                    Initiation:
                      InstructionIdentification: Reference1234
                      EndToEndIdentification: E2E1234
                      RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                      CurrencyOfTransfer: GBP
                      InstructedAmount:
                        Amount: "12.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Scheduled Payments Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalScheduledResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationPending
                      StatusUpdateDateTime: 2022-09-27T07:35:53.474112Z
                      CreationDateTime: 2022-09-27T07:35:53.474112Z
                      InternationalScheduledPaymentId: 12345678-a0de-466a-1234-e9fc413d0916
                      Permission: Create
                      ConsentId: 14aee295-xxxx-4147-xxxx-a397c3e5ff9d
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "12.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                        RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                    Links:
                      Self: https://oba-auth.revolut.com/international-scheduled-payments/12345678-a0de-466a-1234-e9fc413d0916
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternationalScheduled2Param
  /international-scheduled-payments/{InternationalScheduledPaymentId}:
    get:
      tags:
        - International scheduled payment
      summary: Retrieve an international scheduled payment
      security:
        - AccessToken:
            - payments
      description: |-
        Get the status of an international scheduled payment.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetInternationalScheduledPaymentsInternationalScheduledPaymentId
      parameters:
        - name: InternationalScheduledPaymentId
          in: path
          description: The ID of the international schedule payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Scheduled Payments Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalScheduledResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationPending
                      StatusUpdateDateTime: 2022-09-27T07:35:53.474112Z
                      CreationDateTime: 2022-09-27T07:35:53.474112Z
                      InternationalScheduledPaymentId: 12345678-a0de-466a-1234-e9fc413d0916
                      Permission: Create
                      ConsentId: 14aee295-xxxx-4147-xxxx-a397c3e5ff9d
                      Initiation:
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        InstructedAmount:
                          Amount: "12.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        EndToEndIdentification: E2E1234
                        InstructionIdentification: Reference1234
                        RequestedExecutionDateTime: 2022-10-01T14:15:22Z
                    Links:
                      Self: https://oba-auth.revolut.com/international-scheduled-payments/12345678-a0de-466a-1234-e9fc413d0916
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-standing-order-consents:
    post:
      tags:
        - International standing order
      summary: Create an international standing order consent
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |-
        Creating an international standing order consent described in the [Open Banking API documentation: Account and Transaction API Specification](https://openbanking.atlassian.net/wiki/spaces/DZ/pages/999622968/Account+and+Transaction+API+Specification+-+v3.1.1).

        Use international standing orders for international SWIFT payments in all currencies supported by Revolut.

        :::note
        Only the payments with `InstructedAmount` in the same currency as `CurrencyOfTransfer` are supported.
        :::

        However, users can select which account they want to be charged in the consent authorization UI even if the selected account is in a different currency.

        In such a case, the `ExchangeRateInformation` response field contains information about the `ExchangeRate` between `SourceCurrency` and `CurrencyOfTransfer`.
        If the user doesn't have enough funds on the selected account, the consent authorization is rejected.

        When you make the API call, ensure that you pass the corresponding JSON Web Signature (JWS) in the `x-jws-signature` request header. Note:
        - The JWS is generated from the request body with the [TPP](/docs/guides/build-banking-apps/glossary) signing key that is specified in the JWS header.
        - The JWS consists of a header and a signature in the `<jws_header>..<jws_signature>` format.

        To see how to create a JWS, see the guide: [Work with JSON Web Signatures](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures).

        :::note
        Only the following types of standing orders frequency are supported:

        |  FREQUENCY |  EXAMPLE | DETAILS  |
        |---|---|---|
        |  `EvryDay` | `EvryDay`  | daily, supported only for personal accounts  |
        | `IntrvlWkDay`  | `IntrvlWkDay:01:03`  | weekly on a specified week day, only 1 week interval is supported  |
        | `IntrvlMnthDay`  | `IntrvlMnthDay:01:03`  |  monthly on a specified day of month, only 1 month interval is supported |
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#2-create-a-domestic-payment-consent).
      operationId: CreateInternationalStandingOrderConsents
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsent2"
            examples:
              default:
                value:
                  Data:
                    Permission: Create
                    Initiation:
                      Frequency: EvryDay
                      Reference: Reference1234
                      FirstPaymentDateTime: 2022-10-01T14:15:22Z
                      CurrencyOfTransfer: GBP
                      InstructedAmount:
                        Amount: "10.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Standing Order Consents Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-27T08:20:12.498289Z
                      CreationDateTime: 2022-09-27T08:20:12.498289Z
                      Permission: Create
                      ConsentId: b918fd8a-xxx-xxx-xxx-27a984683bd1
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        FirstPaymentDateTime: 2022-10-01T14:15:22Z
                        CurrencyOfTransfer: GBP
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CreditorAccount:
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                          Name: Receiver Co.
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-standing-order-consents/b918fd8a-xxx-xxx-xxx-27a984683bd1
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternationalStandingOrderConsent2Param
  /international-standing-order-consents/{ConsentId}:
    get:
      tags:
        - International standing order
      summary: Retrieve an international standing order consent
      security:
        - AccessToken:
            - payments
      description: |-
        Get the details of an international standing order consent.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).
      operationId: GetInternationalStandingOrderConsentsConsentId
      parameters:
        - name: ConsentId
          in: path
          description: The ID of the account access consent.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Standing Order Consents Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: AwaitingAuthorisation
                      StatusUpdateDateTime: 2022-09-27T08:20:12.498289Z
                      CreationDateTime: 2022-09-27T08:20:12.498289Z
                      Permission: Create
                      ConsentId: b918fd8a-xxx-xxx-xxx-27a984683bd1
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        FirstPaymentDateTime: 2022-10-01T14:15:22Z
                    Risk:
                      PaymentContextCode: BillPayment
                    Links:
                      Self: https://oba-auth.revolut.com/international-standing-order-consents/b918fd8a-xxx-xxx-xxx-27a984683bd1
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /international-standing-orders:
    post:
      tags:
        - International standing order
      summary: Create an international standing order
      security:
        - AccessToken:
            - payments
          JWS:
            - payments
      description: |
        Create an international standing order.

        :::note
        As is defined in the Open Banking Specifications, the `/Data/Initiation` and the `/Data/Risk` sections of the request must be an exact match for the related consent passed in `ConsentId`.
        :::

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#6-initiate-the-domestic-payment).
      operationId: CreateInternationalStandingOrders
      parameters:
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: |-
            Each request is processed only once per `x-idempotency-key`.
            The idempotency key is valid for 24 hours.
          required: true
          schema:
            maxLength: 40
            pattern: ^(?!\s)(.*)(\S)$
            type: string
        - name: x-jws-signature
          in: header
          description: A [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/OBWriteInternationalStandingOrder2"
            examples:
              default:
                value:
                  Data:
                    ConsentId: b918fd8a-xxx-xxx-xxx-27a984683bd1
                    Initiation:
                      Frequency: EvryDay
                      Reference: Reference1234
                      FirstPaymentDateTime: 2022-10-01T14:15:22Z
                      CurrencyOfTransfer: GBP
                      InstructedAmount:
                        Amount: "12.0"
                        Currency: GBP
                      CreditorAccount:
                        SchemeName: UK.OBIE.SortCodeAccountNumber
                        Identification: "11223321325698"
                        Name: Receiver Co.
                  Risk:
                    PaymentContextCode: BillPayment
        required: true
      responses:
        "201":
          description: International Standing Orders Created
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalStandingOrderResponse2"
              examples:
                default:
                  value:
                    Data:
                      ConsentId: b918fd8a-xxx-xxx-xxx-27a984683bd1
                      CreationDateTime: 2022-09-27T08:42:10.249638Z
                      Initiation:
                        CreditorAccount:
                          Identification: "11223321325698"
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                        CurrencyOfTransfer: GBP
                        FirstPaymentDateTime: 2022-10-01T14:15:22Z
                        Frequency: EvryDay
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        Reference: Reference1234
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                      InternationalStandingOrderId: b3096891-1234-1234-ae1e-1c8a6fbc5874
                      Permission: Create
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-09-27T08:42:10.249638Z
                    Links:
                      Self: https://oba-auth.revolut.com/international-standing-orders/b3096891-1234-1234-ae1e-1c8a6fbc5874
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "415":
          description: Unsupported Media Type
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
      x-codegen-request-body-name: OBWriteInternationalStandingOrder2Param
  /international-standing-orders/{InternationalStandingOrderId}:
    get:
      tags:
        - International standing order
      summary: Retrieve an international standing order
      security:
        - AccessToken:
            - payments
      description: |-
        Get the status of an international standing order.

        See also [Tutorials: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment#7-check-the-status-of-the-payment).
      operationId: GetInternationalStandingOrdersInternationalStandingOrderId
      parameters:
        - name: InternationalStandingOrderId
          in: path
          description: The ID of the international standing order payment.
          required: true
          schema:
            type: string
        - name: x-fapi-financial-id
          in: header
          description: >-
            The unique ID of the
            [ASPSP](/docs/guides/build-banking-apps/glossary) that the request
            is issued to.

            The ID of Revolut is `001580000103UAvAAM`.
          required: true
          schema:
            type: string
        - name: x-fapi-customer-last-logged-time
          in: header
          description: >-
            The date and time when the
            [PSU](/docs/guides/build-banking-apps/glossary) last logged in with
            the [TPP](/docs/guides/build-banking-apps/glossary).


            All dates in the HTTP headers are represented as [RFC
            7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
            Full Dates.

            For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
          schema:
            pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
              (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
              \d{2}:\d{2}:\d{2} (GMT|UTC)$
            type: string
        - name: x-fapi-customer-ip-address
          in: header
          description: The IP address of the
            [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged
            in with the [TPP](/docs/guides/build-banking-apps/glossary).
          schema:
            type: string
        - name: x-fapi-interaction-id
          in: header
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
        - name: Authorization
          in: header
          description: |-
            The access token that you've generated.
            For more information, see [Generate an access token](/docs/guides/build-banking-apps/get-started/get-access-token).
          required: true
          schema:
            type: string
        - name: x-customer-user-agent
          in: header
          description: The user agent that the
            [PSU](/docs/guides/build-banking-apps/glossary) is using.
          schema:
            type: string
      responses:
        "200":
          description: International Standing Orders Read
          headers:
            x-jws-signature:
              description: Header containing a [detached JWS
                signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
                of the body of the payload.
              schema:
                type: string
            x-fapi-interaction-id:
              description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
                used as a correlation ID.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBWriteInternationalStandingOrderResponse2"
              examples:
                default:
                  value:
                    Data:
                      Status: InitiationCompleted
                      StatusUpdateDateTime: 2022-09-27T08:42:10.249638Z
                      CreationDateTime: 2022-09-27T08:42:10.249638Z
                      Permission: Create
                      InternationalStandingOrderId: 12345678-54c1-45ff-xxxx-1c8a6fbc5874
                      ConsentId: b918fd8a-xxx-xxx-xxx-27a984683bd1
                      Initiation:
                        Frequency: EvryDay
                        Reference: Reference1234
                        CreditorAccount:
                          Name: Receiver Co.
                          SchemeName: UK.OBIE.SortCodeAccountNumber
                          Identification: "11223321325698"
                        DebtorAccount:
                          SchemeName: UK.OBIE.IBAN
                          Identification: GB95REVO00997053872360
                          Name: John Doe
                        InstructedAmount:
                          Amount: "10.0"
                          Currency: GBP
                        CurrencyOfTransfer: GBP
                        FirstPaymentDateTime: 2022-10-01T14:15:22Z
                    Links:
                      Self: https://oba-auth.revolut.com/international-standing-orders/12345678-54c1-45ff-xxxx-1c8a6fbc5874
                    Meta:
                      TotalPages: 1
        "400":
          description: Bad request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
        "401":
          description: Unauthorized
          content: {}
        "403":
          description: Forbidden
          content: {}
        "405":
          description: Method Not Allowed
          content: {}
        "406":
          description: Not Acceptable
          content: {}
        "429":
          description: Too Many Requests
          headers:
            Retry-After:
              description: Time in seconds to wait before you make a new request.
              schema:
                type: integer
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /distinguished-name:
    servers:
      - url: https://oba-auth.revolut.com
        description: Production server (uses live data)
      - url: https://sandbox-oba-auth.revolut.com
        description: Sandbox server (uses test data)
    get:
      tags:
        - Applications
      summary: Get a distinguished name (DN)
      description: |-
        Get the distinguished name (DN) of your transport certificate which is used to identify your requests.

        This parameter is needed in order to [register or update your application via DCR](/docs/guides/build-banking-apps/register-your-application-using-dcr/).
      operationId: getDistinguishedName
      responses:
        "200":
          description: Distinguished name
          content:
            application/json:
              schema:
                type: object
                required:
                  - tls_client_auth_dn
                properties:
                  tls_client_auth_dn:
                    type: string
                    description: The distinguished name (DN) of your transport certificate.
              examples:
                default:
                  value:
                    tls_client_auth_dn: organizationIdentifier=PSDUK-REVCA-95248b85-bc39-413a-8a16-b5abbf6202cb,CN=2kiXQyo0tedjW2somjSgH7,OU=001580000103UAvAAM,O=Revolut,C=GB
        "401":
          description: Unauthorized
          content: {}
        "500":
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
  /register:
    servers:
      - url: https://oba-auth.revolut.com
        description: Production server (uses live data)
      - url: https://sandbox-oba-auth.revolut.com
        description: Sandbox server (uses test data)
    post:
      tags:
        - Applications
      security:
        - AccessToken:
            - openid
      summary: Register an application
      description: |-
        Register an application via DCR.
        This endpoint accepts only JWT, which needs to be precalculated.

        For more information, see [Register your application using DCR: Create a JWT](/docs/guides/build-banking-apps/register-your-application-using-dcr/create-a-jwt).
      operationId: registerApplication
      requestBody:
        required: true
        description: Provide a JWT signed with a valid signing key
        content:
          text/plain:
            schema:
              type: string
              description: A JWT
                [calculated](/docs/guides/build-banking-apps/register-your-application-using-dcr/create-a-jwt)
                for your application, signed with a valid signing key.
            examples:
              testJwt:
                summary: Sample JWT
                value: eyJhbGciOiJQUzI1NiIsImtpZCI6ImFwcDIwMjMwNTE2In0.eyJpc3MiOiJleGFtcGxlLmNvbSIsImF1ZCI6InJldm9sdXQiLCJleHAiOjE4OTk3OTYyNTQsImlhdCI6MTcwNTMyMDk5MCwiaWRfdG9rZW5fc2lnbmVkX3Jlc3BvbnNlX2FsZyI6IlBTMjU2IiwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGciOiJQUzI1NiIsInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kIjoidGxzX2NsaWVudF9hdXRoIiwiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsInJlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly9leGFtcGxlLmNvbSJdLCJzY29wZSI6Im9wZW5pZCBwYXltZW50cyBhY2NvdW50cyIsInRsc19jbGllbnRfYXV0aF9kbiI6Im9yZ2FuaXphdGlvbklkZW50aWZpZXI9UFNEVUstUkVWQ0EtOTUyNDhiODUtYmMzOS00MTNhLThhMTYtYjVhYmJmNjIwMmNiLENOPTJraVhReW8wdGVkalcyc29talNnSDcsT1U9MDAxNTgwMDAwMTAzVUF2QUFNLE89UmV2b2x1dCxDPUdCIiwic29mdHdhcmVfc3RhdGVtZW50IjoiZXlKaGJHY2lPaUp1YjI1bEluMD0uZXlKemIyWjBkMkZ5WlY5amJHbGxiblJmYm1GdFpTSTZJa1JEVWlCQmNIQnNhV05oZEdsdmJpQXhOekExTXpJd09Ua3dJaXdpYjNKblgycDNhM05mWlc1a2NHOXBiblFpT2lKb2RIUndjem92TDJWNFlXMXdiR1V1WTI5dEwyMTVhbmRyY3k1cWMyOXVJaXdpYzI5bWRIZGhjbVZmY21Wa2FYSmxZM1JmZFhKcGN5STZXeUpvZEhSd2N6b3ZMMlY0WVcxd2JHVXVZMjl0SWwxOS4ifQ.6XAf_Vy7R7ihta_dS91ISFhTsL5ro8UrLVSw2md_IyviGK1HKf-Ua6QwZJxVnyIkJO-Ik9Nqr20v8CA7v0i1Apr6iqy5IvsKP3md6xjAPdrqYrLHqlL0MCycyCpu-9mo53LHxR32uJ2lEz8ITx84_zjeiHVMCsH-7u386uA8HhA7WEii9OlYfp6AOnSQIRBmIcdYWE9RPdAKfnzVJ8FiEnxxBnebIrkhD1Eacx_BqhfqafJHO3DUuCNNIt08L9NgRMMABXxjiA0zS_qXCSgCGhxbFQMdLXNSIgbDEXx7ET3sNTwmu_U14Yh5qJ_uGSkNhWB7qae5uq2dQCO63d7I43
      responses:
        "200":
          description: Successfully created application
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/RegisterApplicationResponse"
              examples:
                default:
                  value:
                    iss: example.com
                    iat: 1705330836
                    exp: 1899796254
                    application_type: web
                    client_id: e63d14ae-3b0b-4b6b-85e3-0b221e245c4e
                    token_endpoint_auth_method: tls_client_auth
                    tls_client_auth_dn: organizationIdentifier=PSDUK-REVCA-95248b85-bc39-413a-8a16-b5abbf6202cb,CN=2kiXQyo0tedjW2somjSgH7,OU=001580000103UAvAAM,O=Revolut,C=GB
                    software_statement: eyJhbGciOiJub25lIn0=.eyJzb2Z0d2FyZV9jbGllbnRfbmFtZSI6IkRDUiBBcHBsaWNhdGlvbiAxNzA1MzIwOTkwIiwib3JnX2p3a3NfZW5kcG9pbnQiOiJodHRwczovL2V4YW1wbGUuY29tL215andrcy5qc29uIiwic29mdHdhcmVfcmVkaXJlY3RfdXJpcyI6WyJodHRwczovL2V4YW1wbGUuY29tIl19.
                    id_token_signed_response_alg: PS256
                    request_object_signing_alg: PS256
                    redirect_uris:
                      - https://example.com
                    org_jwks_endpoint: https://example.com/
                    grant_types: []
                    scope: openid payments accounts
        "400":
          description: Unreachable JWKS
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                default:
                  value:
                    Code: 400 Bad Request
                    Message: Invalid request parameters
                    Id: 126S23QGPZ8HG
                    Errors:
                      - ErrorCode: UK.OBIE.Field.Invalid
                        Message: Failed to fetch public key from https://example.com/myjwks.json
  /register/{ClientId}:
    servers:
      - url: https://oba-auth.revolut.com
        description: Production server (uses live data)
      - url: https://sandbox-oba-auth.revolut.com
        description: Sandbox server (uses test data)
    get:
      tags:
        - Applications
      summary: Get an application
      security:
        - AccessToken:
            - openid
      description: Retrieve an already registered application.
      operationId: getApplication
      parameters:
        - $ref: "#/components/parameters/ClientId"
      responses:
        "200":
          description: Application data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetApplicationResponse"
              examples:
                appData:
                  summary: Sample application data
                  value:
                    client_id: 6136922a-6163-4c66-a4be-9059bf6a1730
                    token_endpoint_auth_method: tls_client_auth
                    tls_client_auth_dn: organizationIdentifier=PSDUK-REVCA-95248b85-bc39-413a-8a16-b5abbf6202cb,CN=2kiXQyo0tedjW2somjSgH7,OU=001580000103UAvAAM,O=Revolut,C=GB
                    id_token_signed_response_alg: PS256
                    request_object_signing_alg: PS256
                    redirect_uris:
                      - https://example.com
                    org_jwks_endpoint: https://example.com/myjwks.json
                    org_name: ACME Payments Ltd
                    scope: openid payments accounts
        "403":
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                default:
                  value:
                    Code: 403 Forbidden
                    Message: Access forbidden
                    Id: EE2Q9YDN2OE7
                    Errors:
                      - ErrorCode: UK.OBIE.Resource.Forbidden
                        Message: Access forbidden
    put:
      tags:
        - Applications
      summary: Update an application
      security:
        - AccessToken:
            - openid
      description: |-
        Update an existing application.

        This endpoint only accepts JWT, which must be precalculated as described in [Create a JWT](/docs/guides/build-banking-apps/register-your-application-using-dcr/create-a-jwt).
      operationId: updateApplication
      parameters:
        - $ref: "#/components/parameters/ClientId"
      requestBody:
        required: true
        description: Provide a JWT signed with a valid signing key
        content:
          text/plain:
            schema:
              type: string
              description: A new JWT
                [calculated](/docs/guides/build-banking-apps/register-your-application-using-dcr/create-a-jwt)
                for your application, signed with a valid signing key.
            examples:
              testJwt:
                summary: Sample JWT
                value: eyJhbGciOiJQUzI1NiIsImtpZCI6ImFwcDIwMjMwNTE2In0.eyJpc3MiOiJleGFtcGxlLmNvbSIsImF1ZCI6InJldm9sdXQiLCJleHAiOjE4OTk3OTYyNTQsImlhdCI6MTcwNTMyMDk5MCwiaWRfdG9rZW5fc2lnbmVkX3Jlc3BvbnNlX2FsZyI6IlBTMjU2IiwicmVxdWVzdF9vYmplY3Rfc2lnbmluZ19hbGciOiJQUzI1NiIsInRva2VuX2VuZHBvaW50X2F1dGhfbWV0aG9kIjoidGxzX2NsaWVudF9hdXRoIiwiYXBwbGljYXRpb25fdHlwZSI6IndlYiIsInJlZGlyZWN0X3VyaXMiOlsiaHR0cHM6Ly9leGFtcGxlLmNvbSJdLCJzY29wZSI6Im9wZW5pZCBwYXltZW50cyBhY2NvdW50cyIsInRsc19jbGllbnRfYXV0aF9kbiI6Im9yZ2FuaXphdGlvbklkZW50aWZpZXI9UFNEVUstUkVWQ0EtOTUyNDhiODUtYmMzOS00MTNhLThhMTYtYjVhYmJmNjIwMmNiLENOPTJraVhReW8wdGVkalcyc29talNnSDcsT1U9MDAxNTgwMDAwMTAzVUF2QUFNLE89UmV2b2x1dCxDPUdCIiwic29mdHdhcmVfc3RhdGVtZW50IjoiZXlKaGJHY2lPaUp1YjI1bEluMD0uZXlKemIyWjBkMkZ5WlY5amJHbGxiblJmYm1GdFpTSTZJa1JEVWlCQmNIQnNhV05oZEdsdmJpQXhOekExTXpJd09Ua3dJaXdpYjNKblgycDNhM05mWlc1a2NHOXBiblFpT2lKb2RIUndjem92TDJWNFlXMXdiR1V1WTI5dEwyMTVhbmRyY3k1cWMyOXVJaXdpYzI5bWRIZGhjbVZmY21Wa2FYSmxZM1JmZFhKcGN5STZXeUpvZEhSd2N6b3ZMMlY0WVcxd2JHVXVZMjl0SWwxOS4ifQ.6XAf_Vy7R7ihta_dS91ISFhTsL5ro8UrLVSw2md_IyviGK1HKf-Ua6QwZJxVnyIkJO-Ik9Nqr20v8CA7v0i1Apr6iqy5IvsKP3md6xjAPdrqYrLHqlL0MCycyCpu-9mo53LHxR32uJ2lEz8ITx84_zjeiHVMCsH-7u386uA8HhA7WEii9OlYfp6AOnSQIRBmIcdYWE9RPdAKfnzVJ8FiEnxxBnebIrkhD1Eacx_BqhfqafJHO3DUuCNNIt08L9NgRMMABXxjiA0zS_qXCSgCGhxbFQMdLXNSIgbDEXx7ET3sNTwmu_U14Yh5qJ_uGSkNhWB7qae5uq2dQCO63d7I43
      responses:
        "200":
          description: Application data
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/GetApplicationResponse"
              examples:
                appData:
                  summary: Sample app data
                  value:
                    client_id: 6136922a-6163-4c66-a4be-9059bf6a1730
                    token_endpoint_auth_method: tls_client_auth
                    tls_client_auth_dn: organizationIdentifier=PSDUK-REVCA-95248b85-bc39-413a-8a16-b5abbf6202cb,CN=2kiXQyo0tedjW2somjSgH7,OU=001580000103UAvAAM,O=Revolut,C=GB
                    id_token_signed_response_alg: PS256
                    request_object_signing_alg: PS256
                    redirect_uris:
                      - https://example.com
                    org_jwks_endpoint: https://example.com/myjwks.json
                    org_name: ACME Payments Ltd
                    scope: openid payments accounts
        "403":
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                default:
                  value:
                    Code: 403 Forbidden
                    Message: Access forbidden
                    Id: EE2Q9YDN2OE7
                    Errors:
                      - ErrorCode: UK.OBIE.Resource.Forbidden
                        Message: Access forbidden
    delete:
      tags:
        - Applications
      summary: Delete an application
      security:
        - AccessToken:
            - openid
      description: Delete an existing application.
      operationId: deleteApplication
      parameters:
        - $ref: "#/components/parameters/ClientId"
      responses:
        "204":
          description: No content
          content: {}
        "403":
          description: Access forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/OBErrorResponse1"
              examples:
                default:
                  value:
                    Code: 403 Forbidden
                    Message: Access forbidden
                    Id: EE2Q9YDN2OE7
                    Errors:
                      - ErrorCode: UK.OBIE.Resource.Forbidden
                        Message: Access forbidden
  /draft-payments:
    get:
      tags:
        - Draft payment
      summary: List draft payments
      security:
        - AccessToken:
            - draftpayments
      description: |-
        Get draft payments list sorted by creation time in descending order.

        See also [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments) and [Tutorials: Create your first draft payment](/docs/guides/build-banking-apps/tutorials/create-your-first-draft-payment#6-get-list-of-draft-payments).
      servers:
        - url: https://apis.revolut.com
          description: Production server (uses live data)
        - url: https://sandbox-apis.revolut.com
          description: Sandbox server (uses test data)
      operationId: listDraftPayment
      parameters:
        - name: from
          in: query
          description: Creation time inclusive lower bound in UTC [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time format
            YYYY-MM-DDThh:mm:ssZ
          schema:
            type: string
            format: date-time
        - name: to
          in: query
          description: Creation time exclusive upper bound in UTC [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time format
            YYYY-MM-DDThh:mm:ssZ
          schema:
            type: string
            format: date-time
        - name: limit
          in: query
          description: Maximum number of items
          schema:
            type: integer
            format: int32
      responses:
        "200":
          description: Draft Payment List
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DraftPaymentListResponse"
              examples:
                default:
                  value:
                    Items:
                      - Id: 27d92ade-xxxx-438c-xxxx-06d63a411d67
                        CreatedAt: 2022-09-29T12:24:31.985323Z
                        Status: Awaiting
                    Links: {}
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    post:
      tags:
        - Draft payment
      summary: Create a draft payment
      security:
        - AccessToken:
            - draftpayments
      description: |-
        Before you begin, ensure that you've got an access token.
        For information about getting the access token, see [Tutorial: Create your first draft payment](/docs/guides/build-banking-apps/tutorials/create-your-first-draft-payment).
        Then, you can use the `/draft_payments` endpoint to create a draft payment on behalf of a user, and the draft payment appears in the user account where they can approve or reject.

        In addition, you can use this endpoint to make multiple draft payments by creating new rows for new drafts with the supported CSV format shown in the following tables.

        For each draft payment request you make, ensure that the same currency is used.
        Upon a successful request for multiple draft payments, you receive a `DraftPaymentID` that represents all the draft payments associated with this request.

        Please note that the maximum number of rows in a CSV file is 50 and all the payments must be in the same currency.

        :::note
        Download an [example CSV file](https://assets.revolut.com/api-docs/oba-api/draft_payments.csv).
        :::

        For the format of the CSV file, check the request body details.

        See also [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments).
      servers:
        - url: https://apis.revolut.com
          description: Production server (uses live data)
        - url: https://sandbox-apis.revolut.com
          description: Sandbox server (uses test data)
      operationId: createDraftPayment
      parameters:
        - name: scheduledDate
          in: query
          description: |-
            The date and time when the draft payment is executed.

            :::note
            Any draft payment in the CSV file is created as a scheduled payment.
            :::
          schema:
            type: string
            format: YYYY-MM-DD
        - name: title
          in: query
          description: The title of draft payment
          schema:
            type: string
        - name: x-idempotency-key
          in: header
          description: Idempotency key in UUID format.
          required: true
          schema:
            type: string
            format: UUID
      requestBody:
        description: For the format of the CSV file, check the table in the body
          description.
        content:
          text/csv:
            schema:
              type: string
              description: >-
                The CSV payment file.

                Provided as CSV-formatted text representing file payments, or as
                the path to the CSV payments file preceded by `@`.

                For the format of the CSV file, check the details below.


                <details><summary>The format of the draft payment CSV
                file:</summary>


                |FIELD |REQUIRED|DESCRIPTION|

                |---|---|---|

                |`Name`|Yes|Can contain up to 80 characters. If `recipient type`
                is `INDIVIDUAL`, this field must contain a first and a last
                name, separated by a space.|

                |`Recipient type`|Yes| Can be either `INDIVIDUAL` or `COMPANY`.|

                |`Account number` |For non-IBAN accounts| Must contain a valid
                account number if provided.|

                |`Sort code`| For UK transfers| Must contain valid sort code if
                provided.|

                |`Routing number`| For US transfers| Must contain valid routing
                number if provided.|

                |`IBAN` |For IBAN accounts| Must contain a valid IBAN if
                provided.|

                |`BIC` |All the countries except for UK/US local| Must contain a
                valid BIC if provided.|

                |`Recipient bank country` |Yes| Must contain a valid [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code.|

                |`Currency`| Yes |Must contain a valid [ISO
                4217](https://en.wikipedia.org/wiki/ISO_4217) currency code.|

                |`Amount` |Yes| Match the pattern: `[0-9]*(\\.[0-9]*)?`|

                |`Payment reference` |Yes| Can contain up to 100 characters.|

                |`Recipient country` |No |Must contain a valid [ISO
                3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) country code
                if provided.|

                |`State or province`| No| Can contain up to 50 characters.|

                |`Address line 1` |No| Can contain up to 50 characters.|

                |`Address line 2`| No |Can contain up to 50 characters.|

                |`City` |No| Can contain up to 50 characters.|

                |`Postal code` |No| Can contain up to 50 characters.|


                </details>
            examples:
              CSV file:
                summary: Path to a CSV file
                value: "@draft_payments.csv"
              CSV-formatted text-UK:
                summary: "CSV-formatted text: UK local transfer"
                value: >-
                  Name,Recipient type,Account number,Sort code,Recipient bank
                  country,Currency,Amount,Payment reference,Payment
                  reference,Recipient country,State or province,Address line
                  1,Address line 2,City,Postal code

                  John Smith,INDIVIDUAL,40513598,207409,GB,GBP,10,User
                  comment,GB,,Revolutest LTD,Somewhere in London,London,E14 5AB

                  John Doe,INDIVIDUAL,90352556,600001,GB,GBP,10,Second
                  comment,,,,,,
              CSV-formatted text-US:
                summary: "CSV-formatted text: US local transfer"
                value: >-
                  Name,Recipient type,Account number,Routing number,Recipient
                  bank country,Currency,Amount,Payment reference,Recipient
                  country,State or province,Address line 1,Address line
                  2,City,Postal code

                  John Smith,INDIVIDUAL,531782059505,024600402,US,USD,10,First
                  comment,US,California,Revolutest LTD,2340 Marietta
                  Street,Oakland,94612

                  John Doe,INDIVIDUAL,356972945639,118677794,US,USD,10,Second
                  comment,US,Arkansas,Revolutest LTD,3243 Midway
                  Road,Portland,71654
              CSV-formatted text-IBAN:
                summary: "CSV-formatted text: IBAN transfer"
                value: |-
                  Name,Recipient type,IBAN,BIC,Recipient bank country,Currency,Amount,Payment reference,Recipient country,State or province,Address line 1,Address line 2,City,Postal code
                  Jaques Martin,INDIVIDUAL,FR0514508000305251415643Y69,SOGEFRPP,FR,EUR,10,First comment,FR,Bretagne,Revolutest LTD,82 rue Lenotre,RENNES,35000
                  Michel Dupont,INDIVIDUAL,FR3210057000308845567335Q88,BNPAFRPP,FR,EUR,10,Second comment,FR,Aquitaine,Revolutest LTD,52 rue Jean Vilar,BERGERAC,24100
        required: true
      responses:
        "201":
          description: Draft Payment Details
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DraftPaymentResponse"
              examples:
                default:
                  value:
                    DraftPaymentId: 27d92ade-xxxx-438c-xxxx-06d63a411d67
                    Status: Awaiting
                    Transfers:
                      - Id: a1265ecc-1234-4cb2-bec8-1234b9c32f01
                        InstructedAmount:
                          Amount: "10.00"
                          Currency: GBP
                        Reference: reference1234
                        Status: Created
                        Index: 1
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/CsvError"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "429":
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "503":
          description: Service Unavailable
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
      x-codegen-request-body-name: body
  /draft-payments/{DraftPaymentId}/transfers/{DraftPaymentTransferId}:
    delete:
      tags:
        - Draft payment
      summary: Delete a draft payment transfer
      security:
        - AccessToken:
            - draftpayments
      description: |-
        Delete a specific draft payment transfer with the given draft payment transfer ID.
        A draft payment transfer can be deleted only if the user hasn't taken any action upon it, for example, approved or executed the draft payment.

        See also [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments) and [Tutorials: Create your first draft payment](/docs/guides/build-banking-apps/tutorials/create-your-first-draft-payment).
      servers:
        - url: https://apis.revolut.com
          description: Production server (uses live data)
        - url: https://sandbox-apis.revolut.com
          description: Sandbox server (uses test data)
      operationId: deleteDraftPaymentTransfer
      parameters:
        - name: DraftPaymentId
          in: path
          description: The id of the draft payment
          required: true
          schema:
            type: string
            format: UUID
        - name: DraftPaymentTransferId
          in: path
          description: The id of the draft payment transfer
          required: true
          schema:
            type: string
            format: UUID
      responses:
        "204":
          description: No content
          content:
            text/plain:
              examples:
                default:
                  value: ""
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
  /draft-payments/{DraftPaymentId}:
    get:
      tags:
        - Draft payment
      summary: Retrieve a draft payment
      security:
        - AccessToken:
            - draftpayments
      description: |-
        Get the details about a specific draft payment with the given draft payment ID.

        See also [Tutorials: Create your first draft payment](/docs/guides/build-banking-apps/tutorials/create-your-first-draft-payment#5-get-a-draft-payment) and [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments).
      servers:
        - url: https://apis.revolut.com
          description: Production server (uses live data)
        - url: https://sandbox-apis.revolut.com
          description: Sandbox server (uses test data)
      operationId: findDraftPayment
      parameters:
        - name: DraftPaymentId
          in: path
          description: The ID of the draft payment.
          required: true
          schema:
            type: string
            format: UUID
      responses:
        "200":
          description: Draft Payment Details
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/DraftPaymentResponse"
              examples:
                default:
                  value:
                    DraftPaymentId: 27d92ade-xxxx-438c-xxxx-06d63a411d67
                    Status: Awaiting
                    Transfers:
                      - Id: a1265ecc-1234-4cb2-bec8-1234b9c32f01
                        InstructedAmount:
                          Amount: "10.00"
                          Currency: GBP
                        Reference: reference1234
                        Status: Created
                        Index: 1
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
    delete:
      tags:
        - Draft payment
      summary: Delete a draft payment
      security:
        - AccessToken:
            - draftpayments
      description: |-
        Delete a specific draft payment with the given draft payment ID.
        A draft payment can be deleted only if the user hasn't taken any action upon it, for example, approved or executed the draft payment.

        See also [Tutorials: Work with draft payments](/docs/guides/build-banking-apps/tutorials/work-with-draft-payments) and [Tutorials: Create your first draft payment](/docs/guides/build-banking-apps/tutorials/create-your-first-draft-payment).
      servers:
        - url: https://apis.revolut.com
          description: Production server (uses live data)
        - url: https://sandbox-apis.revolut.com
          description: Sandbox server (uses test data)
      operationId: deleteDraftPayment
      parameters:
        - name: DraftPaymentId
          in: path
          description: The ID of the draft payment.
          required: true
          schema:
            type: string
            format: UUID
      responses:
        "204":
          description: No content
          content:
            text/plain:
              examples:
                default:
                  value: ""
        "400":
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "403":
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "404":
          description: Not Found
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        "422":
          description: Unprocessable Entity
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
        default:
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/Error"
components:
  schemas:
    WebhooksResponse:
      type: array
      description: List of all the webhooks.
      items:
        $ref: "#/components/schemas/Webhook"
    Webhook:
      required:
        - Topic
        - Uri
        - Version
      type: object
      properties:
        Topic:
          type: string
          description: |-
            Type of events for which notifications will be sent.
            For the list of topics, see [Tutorials: Work with webhooks](/docs/guides/build-banking-apps/tutorials/work-with-webhooks).
        Version:
          type: integer
          description: Version of notification message.
        Uri:
          type: string
          description: URI to which notifications will be sent.
      description: The details of the webhook.
    Amount:
      pattern: ^\d{1,13}\.\d{1,5}$
      type: string
      description: The amount of money.
    Currency:
      pattern: ^[A-Z]{3}$
      type: string
      description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
        in upper case."
    DraftPaymentListResponse:
      required:
        - Items
        - Links
      type: object
      properties:
        Items:
          type: array
          items:
            required:
              - CreatedAt
              - Id
              - Status
            type: object
            properties:
              Id:
                type: string
                description: The ID of the draft payment.
                format: UUID
              CreatedAt:
                type: string
                description: Date time when the draft payment was created.
                format: date-time
              Status:
                $ref: "#/components/schemas/DraftPaymentStatus"
              RequestedExecutionDate:
                type: string
                description: The execution date the draft payment is requested.
                format: YYYY-MM-DD
              Title:
                type: string
                description: Title of the draft payment.
        Links:
          type: object
          properties:
            Next:
              type: string
              description: Relative URI to the next page.
              format: uri
          description: Links relevant to the payload.
    DraftPaymentStatus:
      type: string
      description: The status of the draft payment.
      enum:
        - Awaiting
        - Processed
        - Approved
        - Deleted
    DraftPaymentTransfer:
      required:
        - Id
        - InstructedAmount
        - Reference
        - Status
      type: object
      properties:
        Id:
          type: string
          description: The ID of the transfer.
          format: uuid
        InstructedAmount:
          $ref: "#/components/schemas/InstructedAmount"
        Reference:
          type: string
          description: The reference of the draft payment.
        Status:
          $ref: "#/components/schemas/DraftPaymentTransferStatus"
        Index:
          type: integer
          description: The row number the draft payment represents in the CSV file.
        FailedReason:
          type: string
          description: The reason of the `failed` draft payment.
        FailedReasonCode:
          type: integer
          description: The reason code for the `failed` draft payment.
    DraftPaymentResponse:
      required:
        - DraftPaymentId
        - Status
        - Transfers
      type: object
      properties:
        DraftPaymentId:
          type: string
          description: The ID of the draft payment.
          format: uuid
        RequestedExecutionDate:
          type: string
          description: The execution date the draft payment is requested.
          format: YYYY-MM-DD
        Status:
          $ref: "#/components/schemas/DraftPaymentStatus"
        Transfers:
          $ref: "#/components/schemas/DraftPaymentTransfers"
    DraftPaymentTransferStatus:
      type: string
      description: The status of the draft payment.
      enum:
        - Created
        - Pending
        - Completed
        - Failed
        - Deleted
    DraftPaymentTransfers:
      type: array
      items:
        $ref: "#/components/schemas/DraftPaymentTransfer"
    EmptyBody:
      description: An empty JSON object (`{}`).
      type:
        - object
        - "null"
    Error:
      required:
        - Code
        - Id
        - Message
      type: object
      properties:
        Code:
          type: integer
          description: The error code in high level that helps categorize the error.
        Id:
          type: string
          description: The ID of the error. You can share this ID with Revolut support for
            troubleshooting.
        Message:
          type: string
          description: The error message.
    CsvError:
      required:
        - Code
        - Id
        - Message
      type: object
      properties:
        Code:
          type: integer
          description: The error code in high level that helps categorize the error.
        Id:
          type: string
          description: The ID of the error. You can share this ID with Revolut support for
            troubleshooting.
        Message:
          type: string
          description: The error message.
        Errors:
          $ref: "#/components/schemas/ErrorDetails"
    ErrorDetails:
      type: array
      description: The  details of the error.
      items:
        $ref: "#/components/schemas/ErrorDetail"
    ErrorDetail:
      required:
        - Errors
        - Row
      type: object
      properties:
        Row:
          type: integer
          description: The number of the row.
        Errors:
          type: array
          items:
            $ref: "#/components/schemas/FieldError"
    FieldError:
      required:
        - Code
        - Message
      type: object
      properties:
        Message:
          type: string
          description: The error message for the field.
        Code:
          type: integer
          description: The error code in high level that helps categorize the error.
        Field:
          type: string
          description: The name of the field.
    InstructedAmount:
      required:
        - Amount
        - Currency
      type: object
      properties:
        Amount:
          $ref: "#/components/schemas/Amount"
        Currency:
          $ref: "#/components/schemas/Currency"
    AccountId:
      maxLength: 40
      minLength: 1
      type: string
      description: |-
        The unique and immutable ID to identify the account resource.
        This ID has no meaning to the account owner.
    OBAccount3:
      required:
        - AccountId
        - AccountSubType
        - AccountType
        - Currency
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        Currency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: >-
            The currency that the account is held in ([ISO
            4217](https://en.wikipedia.org/wiki/ISO_4217) currency code in upper
            case).


            This value is used only when one account number covers multiple
            accounts for different currencies, and the initiating party needs to
            identify which currency to use for settlement on the account.
        AccountType:
          $ref: "#/components/schemas/OBExternalAccountType1Code"
        AccountSubType:
          $ref: "#/components/schemas/OBExternalAccountSubType1Code"
        Nickname:
          maxLength: 70
          minLength: 1
          type: string
          description: The nickname of the account that the account owner assigns to
            easily identify the account.
        Account:
          type: array
          description: The details to identify an account.
          items:
            $ref: "#/components/schemas/OBCashAccount5"
      description: The unique ID of the account that credit and debit entries are made to.
    OBActiveCurrencyAndAmount_SimpleType:
      pattern: ^\d{1,13}\.\d{1,5}$
      type: string
      description: The amount of money where the unit of currency is explicit and
        compliant with [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217).
    OBActiveOrHistoricCurrencyAndAmount:
      required:
        - Amount
        - Currency
      type: object
      properties:
        Amount:
          $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
        Currency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
            in upper case."
      description: The amount of the cash balance after a transaction entry is applied
        to the account.
    OBBalanceType1Code:
      type: string
      description: The balance type.
      enum:
        - InterimAvailable
        - InterimBooked
        - ClosingAvailable
        - ClosingBooked
        - ClosingCleared
        - Expected
        - ForwardAvailable
        - Information
        - InterimAvailable
        - InterimBooked
        - InterimCleared
        - OpeningAvailable
        - OpeningBooked
        - OpeningCleared
        - PreviouslyClosedBooked
    OBBeneficiary3:
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        BeneficiaryId:
          maxLength: 40
          minLength: 1
          type: string
          description: |-
            The unique and immutable ID to identify the beneficiary resource.
            This ID has no meaning to the account owner.
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccount5"
    OBCashBalance1:
      required:
        - AccountId
        - Amount
        - CreditDebitIndicator
        - DateTime
        - Type
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        CreditDebitIndicator:
          type: string
          description: |-
            Indicates whether the balance is a credit or a debit balance.

            :::note
            A zero balance is considered a credit balance.
            :::
          enum:
            - Credit
            - Debit
        Type:
          $ref: "#/components/schemas/OBBalanceType1Code"
        DateTime:
          type: string
          description: >-
            The date and time for the balance.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Amount:
          $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount"
        CreditLine:
          type: array
          description: A list of elements to provide details on the credit line.
          items:
            $ref: "#/components/schemas/OBCreditLine1"
      description: A list of elements to define the balance details.
    OBCreditLine1:
      required:
        - Included
      type: object
      properties:
        Included:
          type: boolean
          description: >-
            Indicates whether the credit line is included in the balance of the
            account.


            :::note

            If set to `false`, credit line is not included in the account
            balance.

            :::
        Type:
          $ref: "#/components/schemas/OBExternalLimitType1Code"
        Amount:
          $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount"
      description: Set of elements used to provide details on the credit line.
    OBCurrencyExchange5:
      required:
        - ExchangeRate
        - SourceCurrency
      type: object
      properties:
        SourceCurrency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: The currency that is exchanged from.
        TargetCurrency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: The currency that is exchanged to.
        UnitCurrency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: |-
            The currency that the exchange rate is expressed in.
            For example, for 1 GBP = xxx EUR, the `UnitCurrency` value is GBP.
        ExchangeRate:
          type: string
          description: >-
            The exchange rate used to convert an amount of money from one
            currency into another.


            This reflects the price that one currency was bought at with another
            currency.


            :::note

            `ExchangeRate` expresses the ratio between `UnitCurrency` and
            `QuotedCurrency`:

            **`ExchangeRate` = `UnitCurrency`/`QuotedCurrency`**.

            :::
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              $ref: "#/components/schemas/Currency"
          description: Amount of money to be moved between the debtor and creditor, before
            deduction of charges, expressed in the currency as ordered by the
            initiating party.
      description: A list of elements to provide details on the currency exchange.
    OBDirectDebit1:
      required:
        - AccountId
        - MandateIdentification
        - Name
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        DirectDebitId:
          maxLength: 40
          minLength: 1
          type: string
          description: |-
            The unique and immutable ID to identify the direct debit resource.
            This ID has no meaning to the account owner.
        MandateIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The direct debit reference.


            - For AUDDIS (Automated Direct Debit Instruction Service), users
            provide core reference.

            - For non AUDDIS, users provide core reference if possible, or last
            used reference.
        DirectDebitStatusCode:
          $ref: "#/components/schemas/OBExternalDirectDebitStatus1Code"
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: The name of service user.
        PreviousPaymentAmount:
          $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount"
      description: The account that a cash entry is made to or from.
    OBEntryStatus1Code:
      type: string
      description: The status of a transaction entry on the books of the account servicer.
      enum:
        - Booked
        - Pending
    OBExternalAccountSubType1Code:
      type: string
      description: The sub-type of the account.
      enum:
        - CurrentAccount
        - Savings
        - CreditCard
    OBExternalAccountType1Code:
      type: string
      description: The type of the account.
      enum:
        - Business
        - Personal
    OBExternalDirectDebitStatus1Code:
      type: string
      description: The status of the direct debit.
      enum:
        - Active
        - Inactive
    OBExternalLimitType1Code:
      type: string
      description: The limit type.
      enum:
        - Available
    OBExternalPermissions1Code:
      type: string
      description: The type of data access to the account.
      enum:
        - ReadAccountsBasic
        - ReadAccountsDetail
        - ReadBalances
        - ReadBeneficiariesBasic
        - ReadBeneficiariesDetail
        - ReadDirectDebits
        - ReadOffers
        - ReadPAN
        - ReadParty
        - ReadPartyPSU
        - ReadProducts
        - ReadScheduledPaymentsBasic
        - ReadScheduledPaymentsDetail
        - ReadStandingOrdersBasic
        - ReadStandingOrdersDetail
        - ReadStatementsBasic
        - ReadStatementsDetail
        - ReadTransactionsBasic
        - ReadTransactionsCredits
        - ReadTransactionsDebits
        - ReadTransactionsDetail
    OBExternalRequestStatus1Code:
      type: string
      description: The status of the account access consent.
      enum:
        - Authorised
        - AwaitingAuthorisation
        - Rejected
        - Revoked
    OBExternalStandingOrderStatus1Code:
      type: string
      description: The status of the standing order.
      enum:
        - Active
        - Inactive
    OBMerchantDetails1:
      type: object
      properties:
        MerchantName:
          maxLength: 350
          minLength: 1
          type: string
          description: The name of the merchant.
      description: The details of the merchant involved in the transaction.
    OBReadAccount3:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          type: object
          properties:
            Account:
              type: array
              description: The unique ID of the account that credit and debit entries are made
                to.
              items:
                $ref: "#/components/schemas/OBAccount3"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadBalance1:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          required:
            - Balance
          type: object
          properties:
            Balance:
              minItems: 1
              type: array
              description: A list of elements to define the balance details.
              items:
                $ref: "#/components/schemas/OBCashBalance1"
          description: The balance details.
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadBeneficiary3:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          type: object
          properties:
            Beneficiary:
              type: array
              items:
                $ref: "#/components/schemas/OBBeneficiary3"
          description: A list of beneficiaries.
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadConsent1:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBReadData1"
        Risk:
          $ref: "#/components/schemas/OBRisk2"
    RegisterApplicationResponse:
      type: object
      properties:
        iss:
          type: string
          description: The principal that issued the JWT.
        iat:
          type: integer
          description: >-
            The time the JWT was issued, which is used to determine the age of
            the JWT.

            Provided in seconds in Unix timestamp format.
        exp:
          type: integer
          description: >-
            The expiration time starting from which the JWT must not be accepted
            for processing.

            Provided in seconds in Unix timestamp format.
        application_type:
          type: string
          description: The type of application. Either `web` or `mobile`.
          enum:
            - web
            - mobile
        client_id:
          type: string
          description: The Client ID used to identify the application.
        token_endpoint_auth_method:
          type: string
          description: |-
            Specifies the authentication method for the `/token` endpoint.
            Currently, only `tls_client_auth` is supported.
          enum:
            - tls_client_auth
        tls_client_auth_dn:
          type: string
          description: Distinguished name of the transport certificate used by the
            [TPP](/docs/guides/build-banking-apps/glossary).
        software_statement:
          type: string
          description: >-
            Software statement assertion issued by the issuer.


            The data model for the software statements issued by the Open
            Banking directory are documented as part of the Directory
            Specification.
        id_token_signed_response_alg:
          type: string
          description: The signing algorithm used to sign the `id_token` JWTs. Currently,
            only `PS256` is supported.
          enum:
            - PS256
        request_object_signing_alg:
          type: string
          description: The signing algorithm used to sign request objects. Currently, only
            `PS256` is supported.
          enum:
            - PS256
        redirect_uris:
          type: array
          items:
            type: string
            format: uri
          description: List of registered URIs that the
            [TPP](/docs/guides/build-banking-apps/glossary) will use to interact
            with the [ASPSP](/docs/guides/build-banking-apps/glossary).
        org_jwks_endpoint:
          type: string
          format: uri
          description: Public URI endpoint where the
            [TPP](/docs/guides/build-banking-apps/glossary) has uploaded their
            JWKS in JSON format.
        grant_types:
          type: array
          description: >-
            Accepted grant types.

            A JSON array specifying what the
            [TPP](/docs/guides/build-banking-apps/glossary) can request to be
            supplied to the `/token` endpoint in exchange for an access token.
          items:
            type: string
        scope:
          type: string
          description: List of scopes that the
            [TPP](/docs/guides/build-banking-apps/glossary) has access to,
            separated by spaces.
    GetApplicationResponse:
      type: object
      properties:
        client_id:
          type: string
          description: The Client ID used to identify the application.
        token_endpoint_auth_method:
          type: string
          description: |-
            Specifies the authentication method for the `/token` endpoint.

            Currently, only `tls_client_auth` is supported.
          enum:
            - tls_client_auth
        tls_client_auth_dn:
          type: string
          description: Distinguished name (DN) of the transport certificate used by the
            [TPP](/docs/guides/build-banking-apps/glossary).
        id_token_signed_response_alg:
          type: string
          description: The signing algorithm used to sign the `id_token` JWTs. Currently,
            only `PS256` is supported.
          enum:
            - tls_client_auth
        request_object_signing_alg:
          type: string
          description: The signing algorithm used to sign request objects. Currently, only
            `PS256` is supported.
          enum:
            - tls_client_auth
        redirect_uris:
          type: array
          items:
            type: string
            format: uri
          description: List of the registered URIs that the
            [TPP](/docs/guides/build-banking-apps/glossary) will use to interact
            with the [ASPSP](/docs/guides/build-banking-apps/glossary).
        org_jwks_endpoint:
          type: string
          format: uri
          description: Public URI endpoint where the
            [TPP](/docs/guides/build-banking-apps/glossary) has uploaded their
            JWKS in JSON format.
        org_name:
          type: string
          description: Legal Entity Identifier or other known organisation name.
        scope:
          type: string
          description: >-
            List of scopes that the
            [TPP](/docs/guides/build-banking-apps/glossary) has access to,
            provided as a **space-separated string**.

            For example, `"openid accounts payments"`.

            Possible scopes to list: `openid`, `accounts`, `payments`,
            `fundsconfirmation`.
          examples:
            - openid payments
    OBReadConsentResponse1:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          required:
            - ConsentId
            - CreationDateTime
            - Permissions
            - Status
            - StatusUpdateDateTime
          type: object
          properties:
            ConsentId:
              maxLength: 128
              minLength: 1
              type: string
              description: The unique ID that is assigned to identify the account access
                consent resource.
            CreationDateTime:
              type: string
              description: >-
                The date and time when the account access consent was created.


                All dates in the JSON payloads are represented in [ISO
                8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

                All date-time fields in responses must include the timezone.


                For example: `2017-04-05T10:43:07+00:00`.
              format: date-time
            Status:
              $ref: "#/components/schemas/OBExternalRequestStatus1Code"
            StatusUpdateDateTime:
              type: string
              description: >-
                The date and time when the account access consent was created.


                All dates in the JSON payloads are represented in [ISO
                8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

                All date-time fields in responses must include the timezone.


                For example: `2017-04-05T10:43:07+00:00`.
              format: date-time
            Permissions:
              minItems: 1
              type: array
              description: The type of data access to the account.
              items:
                $ref: "#/components/schemas/OBExternalPermissions1Code"
            ExpirationDateTime:
              type: string
              description: >-
                The date and time when the permission expires.

                If this is not specified, the permission is open ended.


                All dates in the JSON payloads are represented in [ISO
                8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

                All date-time fields in responses must include the timezone.


                For example: `2017-04-05T10:43:07+00:00`.
              format: date-time
            TransactionFromDateTime:
              type: string
              description: >-
                The start date and time for the transaction query period.

                If this is not specified, the start date is open ended, and data
                is returned from the earliest available transaction.


                All dates in the JSON payloads are represented in [ISO
                8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

                All date-time fields in responses must include the timezone.


                For example: `2017-04-05T10:43:07+00:00`.
              format: date-time
            TransactionToDateTime:
              type: string
              description: >-
                The end date and time for the transaction query period.

                If this is not specified, the end date is open ended, and data
                is returned to the latest available transaction.


                All dates in the JSON payloads are represented in [ISO
                8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

                All date-time fields in responses must include the timezone.


                For example: `2017-04-05T10:43:07+00:00`.
              format: date-time
        Risk:
          $ref: "#/components/schemas/OBRisk2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadData1:
      required:
        - Permissions
      type: object
      properties:
        Permissions:
          minItems: 1
          type: array
          description: >-
            Specifies the type of data access to the account.

            This is a list of the data clusters being consented by the
            [PSU](/docs/guides/build-banking-apps/glossary), and requested for
            authorisation with the
            [ASPSP](/docs/guides/build-banking-apps/glossary).
          items:
            $ref: "#/components/schemas/OBExternalPermissions1Code"
        ExpirationDateTime:
          type: string
          description: >-
            Specifies the date and time the permission expires.

            If this is not specified, the permission is open ended.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        TransactionFromDateTime:
          type: string
          description: >-
            Specifies the start date and time for the transaction query period.

            If this is not specified, the start date is open ended, and data is
            returned from the earliest available transaction.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        TransactionToDateTime:
          type: string
          description: >-
            Specifies the end date and time for the transaction query period.

            If this is not specified, the end date is open ended, and data is
            returned to the latest available transaction.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
    OBReadDirectDebit1:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          type: object
          properties:
            DirectDebit:
              type: array
              description: The account that a cash entry is made to or from.
              items:
                $ref: "#/components/schemas/OBDirectDebit1"
          description: A list of direct debits.
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadStandingOrder4:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          type: object
          properties:
            StandingOrder:
              type: array
              items:
                $ref: "#/components/schemas/OBStandingOrder4"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReadTransaction4:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          type: object
          properties:
            Transaction:
              type: array
              description: The details about the transaction.
              items:
                $ref: "#/components/schemas/OBTransaction4"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBReportFileResponse:
      required:
        - Payments
      type: object
      properties:
        Payments:
          type: array
          description: >-
            The list of payments included in the file payment.

            Each element in the list corresponds to a single payment and
            contains the amount, reference, and status of that individual
            payment.
          items:
            type: object
            description: Detailes for a single payment.
            required:
              - Amount
              - Reference
              - Status
            properties:
              Amount:
                required:
                  - Amount
                  - Currency
                type: object
                description: The amount of money paid. Specifies the amount and the currency.
                properties:
                  Amount:
                    $ref: "#/components/schemas/Amount"
                  Currency:
                    $ref: "#/components/schemas/Currency"
              Reference:
                maxLength: 100
                minLength: 1
                type: string
                description: The unique reference assigned to the payment.
              Status:
                $ref: "#/components/schemas/PaymentStatus"
    OBStandingOrder4:
      required:
        - AccountId
        - Frequency
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        StandingOrderId:
          maxLength: 40
          minLength: 1
          type: string
          description: |-
            The unique and immutable ID to identify the standing order resource.
            This ID has no meaning to the account owner.
        Frequency:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The frequency of the standing order:

            - `EvryDay`: Every day

            - `IntrvlWkDay`: Only one week interval is supported (01) and any
            day within the week (01 to 07)

            - `IntrvlMnthDay`: Only one month interval is supported (01) and any
            day within the month (1 to 31)


            Example values:

            - `EvryDay`

            - `IntrvlWkDay:01:0[1-7]`

            - `IntrvlMnthDay:01:(0[1-9]|[12][0-9]|3[01])`
        Reference:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique reference that the creditor assigns to refer to the
            payment transaction.


            If available, the initiating party should provide this reference in
            the structured remittance information to enable reconciliation by
            the creditor upon receipt of the amount of money.


            If the business context requires the use of a creditor reference or
            a payment remit identification, and only one identifier can be
            passed through the end-to-end chain, the creditor's reference or
            payment remittance identification should be quoted in the end-to-end
            transaction identification.
        FirstPaymentAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: The amount of the first standing order payment.
        FirstPaymentDateTime:
          type: string
          description: >-
            The date the first payment for a standing order schedule is made.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        NextPaymentAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: The amount of the next standing order payment.
        StandingOrderStatusCode:
          $ref: "#/components/schemas/OBExternalStandingOrderStatus1Code"
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccount5"
      description: A list of standing orders.
    OBTransaction4:
      title: ""
      required:
        - AccountId
        - Amount
        - BookingDateTime
        - CreditDebitIndicator
        - Status
      type: object
      properties:
        AccountId:
          $ref: "#/components/schemas/AccountId"
        TransactionId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique and immutable ID to identify the transaction within an
            servicing institution.
        CreditDebitIndicator:
          type: string
          description: Indicates whether the transaction is a credit or a debit entry.
          enum:
            - Credit
            - Debit
        Status:
          $ref: "#/components/schemas/OBEntryStatus1Code"
        BookingDateTime:
          type: string
          description: >-
            The date and time when the transaction entry is created in Revolut's
            systems.

            Represented in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            date-time format including timezone.            


            :::note[Offline transactions]

            For offline transactions, this value reflects when the transaction
            is recorded by Revolut, not when the transaction was originally
            initiated.

            The original transaction date is available in
            `SupplementaryData.StartedDate`.

            :::
          format: date-time
          examples:
            - 2017-04-05T10:43:07.758260Z
        ValueDateTime:
          type: string
          description: >-
            The date and time when the transaction is completed.

            Returned only for transactions with `Status=Booked`.


            Represented in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
            date-time format including timezone.
          format: date-time
          examples:
            - 2017-04-05T10:43:07.758260Z
        Amount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              $ref: "#/components/schemas/Currency"
          description: Amount of money in the cash transaction entry. This amount includes
            the amount in `ChargeAmount`.
        ChargeAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              $ref: "#/components/schemas/Currency"
          description: Transaction charges to be paid by the charge bearer.
        CurrencyExchange:
          $ref: "#/components/schemas/OBCurrencyExchange5"
        ProprietaryBankTransactionCode:
          required:
            - Code
          type: object
          properties:
            Code:
              maxLength: 35
              minLength: 1
              type: string
              description: The proprietary bank transaction code to identify the underlying
                transaction.
            Issuer:
              maxLength: 35
              minLength: 1
              type: string
              description: The identification of the issuer of the proprietary bank
                transaction code.
          description: A list of elements to fully identify a proprietary bank transaction
            code.
        SupplementaryData:
          description: Additional information that cannot be captured in the structured
            fields and/or any other specific block.
          allOf:
            - $ref: "#/components/schemas/OBSupplementaryData1"
            - type: object
              properties:
                StartedDate:
                  readOnly: true
                  type: string
                  format: date-time
                  description: >-
                    The date and time the transaction started in [ISO
                    8601](https://en.wikipedia.org/wiki/ISO_8601) format.


                    Returned if it is different from `BookingDateTime`.


                    For example, if the transaction was an offline card
                    transaction made during a flight and would be booked at a
                    later time or date, this field indicates the actual date and
                    time the transaction took place, as provided by the
                    merchant.
                  examples:
                    - 2017-04-05T10:43:07.275221Z
        TransactionInformation:
          $ref: "#/components/schemas/TransactionInformation"
        Balance:
          $ref: "#/components/schemas/OBTransactionCashBalance"
        MerchantDetails:
          $ref: "#/components/schemas/OBMerchantDetails1"
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccount6"
        DebtorAccount:
          $ref: "#/components/schemas/OBCashAccount6"
        CardInstrument:
          required:
            - CardSchemeName
          type: object
          description: The set of elements to describe the card instrument used in the
            transaction.
          properties:
            CardSchemeName:
              type: string
              description: The brand of the payment card. Possible values include `VISA`,
                `MASTERCARD`, and `MAESTRO`.
            Identification:
              type: string
              description: The last four digits of the card's PAN (Primary Account Number).
            Name:
              type: string
              description: The name of the cardholder.
      description: The details of the transaction.
    OBTransactionCashBalance:
      required:
        - Amount
        - CreditDebitIndicator
        - Type
      type: object
      properties:
        CreditDebitIndicator:
          type: string
          description: |-
            Indicates whether the balance is a credit or a debit balance.

            :::note
            A zero balance is considered a credit balance.
            :::
          enum:
            - Credit
            - Debit
        Type:
          $ref: "#/components/schemas/OBBalanceType1Code"
        Amount:
          $ref: "#/components/schemas/OBActiveOrHistoricCurrencyAndAmount"
      description: A list of elements used to define the balance as a numerical
        representation of the net increases and decreases in an account after a
        transaction entry is applied to the account.
    TransactionInformation:
      maxLength: 500
      minLength: 1
      type: string
      description: The additional information of the transaction, which is
        unstructured text.
    OBCashAccount5:
      required:
        - Identification
        - SchemeName
      type: object
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBRevolutAccountIdentificationCode"
        Identification:
          maxLength: 256
          minLength: 1
          type: string
          description: >
            The identification of the account.


            :::warning[Unique account identifier]

            This field will typically contain an account number or an IBAN which
            must not be considered as a unique identifier for the account.
            Several currency subacounts can share this same identifier.


            If you need a unique identifier for each account, ensure you use the
            `Data.Account.AccountId` instead.

            :::
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: >-
            The account name that the account servicing institution assigns.


            The account name is the name or names of the account owner(s)
            represented at an account level.


            The account name is not the product name or the nickname of the
            account.
        SecondaryIdentification:
          maxLength: 34
          minLength: 1
          type: string
          description: >-
            The secondary account ID that the account servicing institution
            assigns.


            Building societies can use this ID to identify accounts with a roll
            number in addition to a sort code and account number combination.
      description: The details to identify the account.
    OBCashAccount6:
      type: object
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBExternalAccountIdentification4Code"
        Identification:
          maxLength: 256
          minLength: 1
          type: string
          description: The account ID that the institution assigns to identify an account,
            which is known by the account owner.
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: >-
            The account name that the account servicing institution assigns.


            The account name is the name or names of the account owner(s)
            represented at an account level.


            The account name is not the product name or the nickname of the
            account.
        SecondaryIdentification:
          maxLength: 34
          minLength: 1
          type: string
          description: >-
            The secondary account ID that the account servicing institution
            assigns.


            Building societies can use this ID to identify accounts with a roll
            number in addition to a sort code and account number combination.
      description: The unique ID of the account in the case of a transaction.
    OBExternalAccountIdentification4Code:
      type: string
      description: The name of the identification scheme.
      enum:
        - UK.OBIE.IBAN
        - UK.OBIE.SortCodeAccountNumber
        - US.RoutingNumberAccountNumber
        - US.BranchCodeAccountNumber
      examples:
        - UK.OBIE.IBAN
    OBRevolutAccountIdentificationCode:
      type: string
      description: >
        The name of the identification scheme.


        Note the scheme `UK.Revolut.InternalAccountId` is an internal account
        identifier for those accounts which don't have externally available
        identifiers.

        It cannot be used to send or receive funds.
      enum:
        - UK.OBIE.IBAN
        - UK.OBIE.SortCodeAccountNumber
        - US.RoutingNumberAccountNumber
        - US.BranchCodeAccountNumber
        - UK.Revolut.InternalAccountId
      examples:
        - UK.OBIE.IBAN
    OBError1:
      required:
        - ErrorCode
        - Message
      type: object
      properties:
        ErrorCode:
          maxLength: 128
          minLength: 1
          type: string
          description: The error code in low level, for example, `UK.OBIE.Field.Missing`.
        Message:
          maxLength: 500
          minLength: 1
          type: string
          description: >-
            The description of the error that occurred.

            For example, `A mandatory field isn't supplied`,
            `RequestedExecutionDateTime must be in future`, and `OBIE doesn't
            standardise this field`.
    OBErrorResponse1:
      required:
        - Code
        - Errors
        - Message
      type: object
      properties:
        Code:
          maxLength: 40
          minLength: 1
          type: string
          description: The error code in high level that helps categorize the error.
        Id:
          maxLength: 40
          minLength: 1
          type: string
          description: The ID of the error. You can share this ID with Revolut support for
            troubleshooting.
        Message:
          maxLength: 500
          minLength: 1
          type: string
          description: >-
            The error message.

            For example, `There is something wrong with the request parameters
            provided`.
        Errors:
          minItems: 1
          type: array
          items:
            $ref: "#/components/schemas/OBError1"
      description: The detailed information about the error to help troubleshooting.
    Links:
      required:
        - Self
      type: object
      properties:
        Self:
          type: string
          description: The absolute URI to the resource.
          format: uri
        Next:
          type: string
          description: The absolute URI to the next pagination resource.
          format: uri
        Prev:
          type: string
          description: The absolute URI to the previous pagination resource.
          format: uri
      description: Links relevant to the payload.
    File:
      type: string
      contentMediaType: application/octet-stream
    Meta:
      title: MetaData
      type: object
      properties:
        TotalPages:
          type: integer
          description: Used for pagination. Indicates how many pages of results are
            available.
          format: int32
      description: Meta data relevant to the payload.
    OBRisk2:
      type: object
      description: The Risk section contains the risk indicators that the initiating
        party sends to the [ASPSP](/docs/guides/build-banking-apps/glossary),
        which can be used to specify additional details for risk scoring for
        account information.
    OBChargeBearerType1Code:
      type: string
      description: The party or parties bear the charges associated with the
        processing of the payment transaction.
      enum:
        - BorneByDebtor
        - FollowingServiceLevel
    OBDomesticInitiationBase:
      type: object
      properties:
        InstructionIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique ID that an instructing party assigns for an instructed
            party to unambiguously identify the instruction.


            This ID is used between the instructing party and the instructed
            party to refer to an individual instruction.

            It can be included in the messages related to the instruction.
        EndToEndIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique and immutable ID that the initiating party assigns to
            unambiguously identify the transaction.


            This ID is used for reconciliation or to link tasks related to the
            transaction.

            It can be included in the messages related to the transaction.


            :::note

            Faster Payments Scheme can access only 31 characters for the
            `EndToEndIdentification` field.

            :::
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: >-
            The amount of money to be moved between the debtor and creditor,
            before deduction of charges, expressed in the currency that the
            initiating party instructs.


            This amount has to be transported unchanged through the transaction
            chain.
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
        CreditorPostalAddress:
          $ref: "#/components/schemas/OBPostalAddress6"
        RemittanceInformation:
          $ref: "#/components/schemas/OBRemittanceInformation1"
        SupplementaryData:
          $ref: "#/components/schemas/OBSupplementaryData1"
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single domestic payment.
    OBDomestic2:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single domestic payment.
      allOf:
        - $ref: "#/components/schemas/OBDomesticInitiationBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - EndToEndIdentification
            - InstructedAmount
            - InstructionIdentification
    OBDomesticInitiationResponse:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single domestic payment.
      allOf:
        - $ref: "#/components/schemas/OBDomesticInitiationBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - EndToEndIdentification
            - InstructedAmount
            - InstructionIdentification
            - DebtorAccount
    OBDomesticScheduledBase:
      type: object
      properties:
        InstructionIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique ID that an instructing party assigns for an instructed
            party to unambiguously identify the instruction.


            This ID is used between the instructing party and the instructed
            party to refer to an individual instruction.

            It can be included in the messages related to the instruction.
        EndToEndIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique and immutable ID that the initiating party assigns to
            unambiguously identify the transaction.


            This ID is used for reconciliation or to link tasks related to the
            transaction.

            It can be included in the messages related to the transaction.


            :::note

            Faster Payments Scheme can access only 31 characters for the
            `EndToEndIdentification` field.

            :::
        RequestedExecutionDateTime:
          type: string
          description: >-
            The date and time when the initiating party requests the clearing
            agent to process the payment.


            This is the date the debtor's account is to be debited.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: >-
            The amount of money to be moved between the debtor and creditor,
            before deduction of charges, expressed in the currency that the
            initiating party instructs.


            This amount has to be transported unchanged through the transaction
            chain.
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
        CreditorPostalAddress:
          $ref: "#/components/schemas/OBPostalAddress6"
        RemittanceInformation:
          $ref: "#/components/schemas/OBRemittanceInformation1"
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled domestic payment.
    OBDomesticScheduled2:
      type: object
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled domestic payment.
      allOf:
        - $ref: "#/components/schemas/OBDomesticScheduledBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - InstructedAmount
            - InstructionIdentification
            - RequestedExecutionDateTime
    OBDomesticScheduledInitiationResponse:
      type: object
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled domestic payment.
      allOf:
        - $ref: "#/components/schemas/OBDomesticScheduledBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - InstructedAmount
            - InstructionIdentification
            - RequestedExecutionDateTime
            - DebtorAccount
    OBDomesticStandingOrderBase:
      type: object
      properties:
        Frequency:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The frequency of the standing order:

            - `EvryDay`: Every day

            - `IntrvlWkDay`: Only one week interval is supported (01) and any
            day within the week (01 to 07)

            - `IntrvlMnthDay`: Only one month interval is supported (01) and any
            day within the month (1 to 31)


            Example values:

            - `EvryDay`

            - `IntrvlWkDay:01:0[1-7]`

            - `IntrvlMnthDay:01:(0[1-9]|[12][0-9]|3[01])`


            :::warning

            The day of the interval must agree with the day from
            `FirstPaymentDateTime`, otherwise, for `POST` requests, the
            `Unsupported frequency` error is returned.

            For example: 

            - Correct: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-03T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, and the first occurrence
            will be on the 3rd of February

            - Incorrect: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-17T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, but the first occurrence is
            set to the 17th of February, so the days don't match.

            :::
        Reference:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique reference that the creditor assigns to unambiguously
            identify the payment transaction.


            If available, the initiating party should provide this reference in
            the structured remittance information to enable reconciliation by
            the creditor upon receipt of the amount of money.


            If the business context requires the use of a creditor reference or
            a payment remit identification, and only one identifier can be
            passed through the end-to-end chain, the creditor's reference or
            payment remittance identification should be quoted in the end-to-end
            transaction identification.
        NumberOfPayments:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            :::warning

            Currently, standing orders do not support ending conditions, so
            using this field will result in an error.

            :::


            The number of payments to make, with the interval set in
            `frequency`, counting from the start date set in
            `FirstPaymentDateTime`.
        FirstPaymentDateTime:
          type: string
          description: >-
            The date and time when the first payment for a standing order
            schedule is made.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.


            :::warning

            The day part of the date must agree with the day of the interval set
            in `Frequency`, otherwise, for `POST` requests, the `Unsupported
            frequency` error is returned.

            For example: 

            - Correct: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-03T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, and the first occurrence
            will be on the 3rd of February

            - Incorrect: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-17T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, but the first occurrence is
            set to the 17th of February, so the days don't match.

            :::
          format: date-time
        FinalPaymentDateTime:
          type: string
          description: >-
            :::warning

            Currently, standing orders do not support ending conditions, so this
            field is ignored.

            :::


            The date and time when the final payment for a standing order
            schedule is made.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        FirstPaymentAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: The amount of the first standing order.
        RecurringPaymentAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: The amount of the recurring standing order. If provided, must be
            equal to `FirstPaymentAmount`.
        FinalPaymentAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: >-
            :::warning

            Currently, standing orders do not support ending conditions, so this
            field is ignored.

            :::


            The amount of the final standing order.
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        domestic standing order.
    OBDomesticStandingOrder2:
      type: object
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        domestic standing order.
      allOf:
        - $ref: "#/components/schemas/OBDomesticStandingOrderBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - FirstPaymentAmount
            - FirstPaymentDateTime
            - Frequency
    OBDomesticStandingOrderInitiationResponse:
      type: object
      description: The Initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        domestic standing order.
      allOf:
        - $ref: "#/components/schemas/OBDomesticStandingOrderBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - FirstPaymentAmount
            - FirstPaymentDateTime
            - Frequency
            - DebtorAccount
    OBExchangeRate1:
      required:
        - RateType
        - UnitCurrency
      type: object
      properties:
        UnitCurrency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: |-
            The currency that the exchange rate is expressed in.
            For example, for 1 GBP = xxx EUR, the `UnitCurrency` value is GBP.
        ExchangeRate:
          type: number
          description: >
            The exchange rate used to convert an amount from one currency into
            another.

            This reflects the price that one currency was bought at with another
            currency.
        RateType:
          $ref: "#/components/schemas/OBExchangeRateType2Code"
        ContractIdentification:
          maxLength: 256
          minLength: 1
          type: string
          description: The unique reference to the foreign exchange contract agreed
            between the initiating party/creditor and the debtor agent.
      description: The details on the currency exchange rate and contract.
    OBExchangeRate2:
      required:
        - ExchangeRate
        - RateType
        - UnitCurrency
      type: object
      properties:
        UnitCurrency:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: |-
            The currency that the exchange rate is expressed in.
            For example, for 1 GBP = xxx EUR, the `UnitCurrency` value is GBP.
        ExchangeRate:
          type: string
          pattern: ^[0-9]+\.[0-9]+$
          description: >-
            The exchange rate used to convert an amount from one currency into
            another.

            This reflects the price that one currency was bought at with another
            currency.
        RateType:
          $ref: "#/components/schemas/OBExchangeRateType2Code"
        ContractIdentification:
          maxLength: 256
          minLength: 1
          type: string
          description: The unique reference to the foreign exchange contract agreed
            between the initiating party/creditor and the debtor agent.
        ExpirationDateTime:
          type: string
          description: >-
            The date and time when the exchange rate agreement expires.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
      description: Further detailed information on the exchange rate that is used in
        the payment transaction.
    OBExchangeRateType2Code:
      type: string
      description: The type used to complete the currency exchange.
      enum:
        - Actual
        - Agreed
        - Indicative
    OBExternalConsentStatus1Code:
      type: string
      description: The status of the consent.
      enum:
        - Authorised
        - AwaitingAuthorisation
        - Consumed
        - Rejected
    OBExternalConsentStatus2Code:
      type: string
      description: The status of the consent.
      enum:
        - Authorised
        - AwaitingAuthorisation
        - AwaitingUpload
        - Consumed
        - Rejected
    OBExternalPaymentContext1Code:
      type: string
      description: The payment context.
      enum:
        - BillPayment
        - EcommerceGoods
        - EcommerceServices
        - Other
        - PartyToParty
    OBExternalMerchantCategoryCode:
      type: string
      description: The merchant category code.
    OBExternalMerchantCustomerIdentification:
      type: string
      description: The merchant customer identification.
    OBExternalPermissions2Code:
      type: string
      description: The Open Banking service request type.
      enum:
        - Create
    OBExternalStatus1Code:
      type: string
      description: The status of the payment.
      enum:
        - InitiationCompleted
        - InitiationFailed
        - InitiationPending
    OBFileBase:
      type: object
      properties:
        FileType:
          $ref: "#/components/schemas/OBExternalFileType1Code"
        FileHash:
          maxLength: 44
          minLength: 1
          type: string
          description: A base64 encoding of a SHA256 hash of the file to be uploaded.
        FileReference:
          maxLength: 40
          minLength: 1
          type: string
          description: Reference for the file.
        RequestedExecutionDateTime:
          type: string
          description: >-
            The date and time when the initiating party requests the clearing
            agent to process the payment.

            This is the date the debtor's account is to be debited.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        LocalInstrument:
          $ref: "#/components/schemas/OBExternalLocalInstrument1Code"
        RemittanceInformation:
          $ref: "#/components/schemas/OBRemittanceInformation1"
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds using a payment file.
    OBFile2:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds using a payment file.
      allOf:
        - $ref: "#/components/schemas/OBFileBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - FileHash
            - FileType
    OBFileInitiationResponse:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds using a payment file.
      allOf:
        - $ref: "#/components/schemas/OBFileBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - FileHash
            - FileType
            - DebtorAccount
    OBInternationalBase:
      type: object
      properties:
        InstructionIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique ID that an instructing party assigns for an instructed
            party to unambiguously identify the instruction.


            This ID is used between the instructing party and the instructed
            party to refer to the individual instruction.

            It can be included in the messages related to the instruction.
        EndToEndIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique and immutable ID that the initiating party assigns to
            unambiguously identify the transaction.


            This ID is used for reconciliation or to link tasks related to the
            transaction.

            It can be included in the messages related to the transaction.


            :::note

            Faster Payments Scheme can access only 31 characters for the
            `EndToEndIdentification` field.

            :::
        ChargeBearer:
          $ref: "#/components/schemas/OBChargeBearerType1Code"
        CurrencyOfTransfer:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: The currency of the money to be transferred, which is different
            from the currency of the debtor's account.
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
          description: >-
            The amount of money to be moved between the debtor and creditor,
            before deduction of charges, expressed in the currency that the
            initiating party instructs.


            This amount has to be transported unchanged through the transaction
            chain.
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate1"
        Creditor:
          $ref: "#/components/schemas/OBPartyIdentification43"
        CreditorAgent:
          $ref: "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6"
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
        RemittanceInformation:
          $ref: "#/components/schemas/OBRemittanceInformation1"
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single international payment.
    OBInternational2:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single international payment.
      allOf:
        - $ref: "#/components/schemas/OBInternationalBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - EndToEndIdentification
            - InstructedAmount
            - InstructionIdentification
    OBInternationalInitiationResponse:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single international payment.
      allOf:
        - $ref: "#/components/schemas/OBInternationalBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - EndToEndIdentification
            - InstructedAmount
            - InstructionIdentification
            - DebtorAccount
    OBInternationalScheduledBase:
      type: object
      properties:
        InstructionIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique ID that an instructing party assigns for an instructed
            party to unambiguously identify the instruction.


            This ID is used between the instructing party and the instructed
            party to refer to the individual instruction.

            It can be included in the messages related to the instruction.
        EndToEndIdentification:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique and immutable ID that the initiating party assigns to
            unambiguously identify the transaction.


            This ID is used for reconciliation or to link tasks related to the
            transaction.

            It can be included in the messages related to the transaction.


            :::note

            Faster Payments Scheme can access only 31 characters for the
            `EndToEndIdentification` field.

            :::
        ChargeBearer:
          $ref: "#/components/schemas/OBChargeBearerType1Code"
        RequestedExecutionDateTime:
          type: string
          description: >-
            The date and time when the initiating party requests the clearing
            agent to process the payment.

            This is the date the debtor's account is to be debited.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        CurrencyOfTransfer:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: The currency of the money to be transferred, which is different
            from the currency of the debtor's account.
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: >-
            The amount of money to be moved between the debtor and creditor,
            before deduction of charges, expressed in the currency that the
            initiating party instructs.


            This amount has to be transported unchanged through the transaction
            chain.
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate1"
        Creditor:
          $ref: "#/components/schemas/OBPartyIdentification43"
        CreditorAgent:
          $ref: "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6"
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
        RemittanceInformation:
          $ref: "#/components/schemas/OBRemittanceInformation1"
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled international payment.
    OBInternationalScheduled2:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled international payment.
      allOf:
        - $ref: "#/components/schemas/OBInternationalScheduledBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - InstructedAmount
            - InstructionIdentification
            - RequestedExecutionDateTime
    OBInternationalScheduledInitiationResponse:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for a
        single scheduled international payment.
      allOf:
        - $ref: "#/components/schemas/OBInternationalScheduledBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - InstructedAmount
            - InstructionIdentification
            - RequestedExecutionDateTime
            - DebtorAccount
    OBInternationalStandingOrderBase:
      type: object
      properties:
        Frequency:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The frequency of the standing order:

            - `EvryDay`: Every day

            - `IntrvlWkDay`: Only one week interval is supported (01) and any
            day within the week (01 to 07)

            - `IntrvlMnthDay`: Only one month interval is supported (01) and any
            day within the month (1 to 31)


            Example values:

            - `EvryDay`

            - `IntrvlWkDay:01:0[1-7]`

            - `IntrvlMnthDay:01:(0[1-9]|[12][0-9]|3[01])`


            :::warning

            The day of the interval must agree with the day from
            `FirstPaymentDateTime`, otherwise, for `POST` requests, the
            `Unsupported frequency` error is returned.

            For example: 

            - Correct: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-03T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, and the first occurrence
            will be on the 3rd of February

            - Incorrect: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-17T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, but the first occurrence is
            set to the 17th of February, so the days don't match.

            :::
        Reference:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique reference that the creditor assigns to unambiguously
            refer to the payment transaction.


            If available, the initiating party should provide this reference in
            the structured remittance information to enable reconciliation by
            the creditor upon receipt of the amount of money.


            If the business context requires the use of a creditor reference or
            a payment remit identification, and only one identifier can be
            passed through the end-to-end chain, the creditor's reference or
            payment remittance identification should be quoted in the end-to-end
            transaction identification.
        NumberOfPayments:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            :::warning

            Currently, standing orders do not support ending conditions, so
            using this field will result in an error.

            :::


            The number of payments to make, with the interval set in
            `frequency`, counting from the start date set in
            `FirstPaymentDateTime`.
        FirstPaymentDateTime:
          type: string
          description: >-
            The date and time when the first payment for a standing order
            schedule is made.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.


            :::warning

            The day part of the date must agree with the day of the interval set
            in `Frequency`, otherwise, for `POST` requests, the `Unsupported
            frequency` error is returned.

            For example: 

            - Correct: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-03T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, and the first occurrence
            will be on the 3rd of February

            - Incorrect: `Frequency=IntrvlMnthDay:01:03` and
            `FirstPaymentDateTime=2026-02-17T14:15:22Z` - the day to schedule
            the payment is the 3rd day of the month, but the first occurrence is
            set to the 17th of February, so the days don't match.

            :::
          format: date-time
        FinalPaymentDateTime:
          type: string
          description: >-
            :::warning

            Currently, standing orders do not support ending conditions, so this
            field is ignored.

            :::


            The date and time when the final payment for a standing order
            schedule is made.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        ChargeBearer:
          $ref: "#/components/schemas/OBChargeBearerType1Code"
        CurrencyOfTransfer:
          pattern: ^[A-Z]{3,3}$
          type: string
          description: The currency of the money to be transferred, which is different
            from the currency of the debtor's account.
        InstructedAmount:
          required:
            - Amount
            - Currency
          type: object
          properties:
            Amount:
              $ref: "#/components/schemas/OBActiveCurrencyAndAmount_SimpleType"
            Currency:
              pattern: ^[A-Z]{3,3}$
              type: string
              description: "[ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) currency code
                in upper case."
          description: >-
            The amount of money to be moved between the debtor and creditor,
            before deduction of charges, expressed in the currency that the
            initiating party instructs.


            This amount has to be transported unchanged through the transaction
            chain.
        Creditor:
          $ref: "#/components/schemas/OBPartyIdentification43"
        CreditorAgent:
          $ref: "#/components/schemas/OBBranchAndFinancialInstitutionIdentification6"
        CreditorAccount:
          $ref: "#/components/schemas/OBCashAccountCreditor3"
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for an
        international standing order.
    OBInternationalStandingOrder2:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for an
        international standing order.
      allOf:
        - $ref: "#/components/schemas/OBInternationalStandingOrderBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtor4"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - FirstPaymentDateTime
            - Frequency
            - InstructedAmount
    OBInternationalStandingOrderInitiationResponse:
      type: object
      description: The initiation payload that the initiating party sends to the
        [ASPSP](/docs/guides/build-banking-apps/glossary), which is used to
        request movement of funds from the debtor account to the creditor for an
        international standing order.
      allOf:
        - $ref: "#/components/schemas/OBInternationalStandingOrderBase"
        - type: object
          properties:
            DebtorAccount:
              $ref: "#/components/schemas/OBCashAccountDebtorResponse"
        - type: object
          required:
            - CreditorAccount
            - CurrencyOfTransfer
            - FirstPaymentDateTime
            - Frequency
            - InstructedAmount
            - DebtorAccount
    OBPartyIdentification43:
      type: object
      properties:
        Name:
          maxLength: 140
          minLength: 1
          type: string
          description: The name of a known party used to identify the party.
        PostalAddress:
          $ref: "#/components/schemas/OBPostalAddress6"
      description: The party that an amount of money is due to.
    OBPostalAddress6:
      type: object
      properties:
        Department:
          maxLength: 70
          minLength: 1
          type: string
          description: The name of the department.
        SubDepartment:
          maxLength: 70
          minLength: 1
          type: string
          description: The name of the sub-department.
        StreetName:
          maxLength: 70
          minLength: 1
          type: string
          description: The name of the street.
        BuildingNumber:
          maxLength: 16
          minLength: 1
          type: string
          description: The number of the building.
        PostCode:
          maxLength: 16
          minLength: 1
          type: string
          description: The post code of the address.
        TownName:
          maxLength: 35
          minLength: 1
          type: string
          description: The name of the town.
        CountrySubDivision:
          maxLength: 35
          minLength: 1
          type: string
          description: The subdivision of the country, such as state, region, or county.
        Country:
          pattern: ^[A-Z]{2,2}$
          type: string
          description: The name of the country.
        AddressLine:
          maxItems: 7
          minItems: 0
          type: array
          description: The information that locates and identifies the address of the
            creditor, presented in free format text.
          items:
            maxLength: 70
            minLength: 1
            type: string
      description: The postal address of the creditor, as defined by postal services.
    OBRemittanceInformation1:
      type: object
      properties:
        Unstructured:
          maxLength: 140
          minLength: 1
          type: string
          description: The information used for matching/reconciliation of an entry with
            the items that the payment is intended to settle, such as commercial
            invoices in an accounts' receivable system, in an unstructured form.
        Reference:
          maxLength: 35
          minLength: 1
          type: string
          description: >-
            The unique reference that the creditor assigns to unambiguously
            identify the payment transaction.


            If available, the initiating party should provide this reference in
            the structured remittance information to enable reconciliation by
            the creditor upon receipt of the amount of money.


            If the business context requires the use of a creditor reference or
            a payment remit identification, and only one identifier can be
            passed through the end-to-end chain, the creditor's reference or
            payment remittance identification should be quoted in the end-to-end
            transaction identification.


            :::note

            Faster Payments Scheme can accept only 18 characters for the
            `Reference` field.

            :::


            :::warning

            Only one reference should be provided, if both `Reference` and
            `Unstructured` parameters are provided, then the `Unstructured`
            parameter will be ignored.

            :::
      description: The information used for matching an entry with the items that the
        transfer is intended to settle, such as commercial invoices in an
        accounts' receivable system.
    OBRisk1:
      type: object
      properties:
        PaymentContextCode:
          $ref: "#/components/schemas/OBExternalPaymentContext1Code"
        MerchantCategoryCode:
          $ref: "#/components/schemas/OBExternalMerchantCategoryCode"
        MerchantCustomerIdentification:
          $ref: "#/components/schemas/OBExternalMerchantCustomerIdentification"
        DeliveryAddress:
          required:
            - Country
            - TownName
          type: object
          properties:
            AddressLine:
              maxItems: 2
              minItems: 0
              type: array
              description: The information that locates and identifies the delivery address,
                as defined by postal services, that is presented in free format
                text.
              items:
                maxLength: 70
                minLength: 1
                type: string
            StreetName:
              maxLength: 70
              minLength: 1
              type: string
              description: The name of the street.
            BuildingNumber:
              maxLength: 16
              minLength: 1
              type: string
              description: The number of the building.
            PostCode:
              maxLength: 16
              minLength: 1
              type: string
              description: The post code of the delivery address.
            TownName:
              maxLength: 35
              minLength: 1
              type: string
              description: The name of the town.
            CountrySubDivision:
              maxItems: 2
              minItems: 0
              type: array
              description: The subdivision of the country, for example, state, region or
                county.
              items:
                maxLength: 35
                minLength: 1
                type: string
            Country:
              pattern: ^[A-Z]{2,2}$
              type: string
              description: The name of the country.
          description: The information that locates and identifies the delivery address,
            as defined by postal services or in free format text.
      description: The Risk section contains the risk indicators that the initiating
        party sends to the [ASPSP](/docs/guides/build-banking-apps/glossary),
        which can be used to specify additional details for risk scoring for
        account information.
    OBTransactionIndividualStatus1Code:
      type: string
      description: The status of the payment information group.
      enum:
        - AcceptedSettlementCompleted
        - AcceptedSettlementInProcess
        - Pending
        - Rejected
    OBWriteDataDomestic2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBDomestic2"
    OBWriteDataDomesticConsent2:
      required:
        - Initiation
      type: object
      properties:
        Initiation:
          $ref: "#/components/schemas/OBDomestic2"
    OBWriteDataDomesticConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBDomestic2"
    OBWriteDataDomesticResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - DomesticPaymentId
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        DomesticPaymentId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            uniquely identify the domestic payment resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the message was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBTransactionIndividualStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBDomesticInitiationResponse"
    OBWriteDataDomesticScheduled2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBDomesticScheduled2"
    OBWriteDataDomesticScheduledConsent2:
      required:
        - Initiation
        - Permission
      type: object
      properties:
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBDomesticScheduled2"
    OBWriteDataDomesticScheduledConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Permission
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the consent resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBDomesticScheduled2"
    OBWriteDataDomesticScheduledResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - DomesticScheduledPaymentId
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        DomesticScheduledPaymentId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the domestic schedule payment resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the message was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBDomesticScheduledInitiationResponse"
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
    OBWriteDataDomesticStandingOrder2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBDomesticStandingOrder2"
    OBWriteDataDomesticStandingOrderConsent2:
      required:
        - Initiation
        - Permission
      type: object
      properties:
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBDomesticStandingOrder2"
    OBWriteDataDomesticStandingOrderConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Permission
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBDomesticStandingOrder2"
    OBWriteDataDomesticStandingOrderResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - DomesticStandingOrderId
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        DomesticStandingOrderId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the domestic standing order resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBDomesticStandingOrderInitiationResponse"
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
    OBWriteDataFileConsent2:
      required:
        - Initiation
      type: object
      properties:
        Initiation:
          $ref: "#/components/schemas/OBFile2"
    OBWriteDataFileConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus2Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the consent resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBFile2"
    OBWriteDataFileResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - FilePaymentId
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        FilePaymentId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the file payment resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the message was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the consent resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBFileInitiationResponse"
    OBWriteDataInternational2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBInternational2"
    OBWriteDataInternationalConsent2:
      required:
        - Initiation
      type: object
      properties:
        Initiation:
          $ref: "#/components/schemas/OBInternational2"
    OBWriteDataInternationalConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate2"
        Initiation:
          $ref: "#/components/schemas/OBInternational2"
    OBWriteDataInternationalResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - InternationalPaymentId
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        InternationalPaymentId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the international payment resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the message was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBTransactionIndividualStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate2"
        Initiation:
          $ref: "#/components/schemas/OBInternationalInitiationResponse"
    OBWriteDataInternationalScheduled2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBInternationalScheduled2"
    OBWriteDataInternationalScheduledConsent2:
      required:
        - Initiation
        - Permission
      type: object
      properties:
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBInternationalScheduled2"
    OBWriteDataInternationalScheduledConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Permission
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate2"
        Initiation:
          $ref: "#/components/schemas/OBInternationalScheduled2"
    OBWriteDataInternationalScheduledResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - InternationalScheduledPaymentId
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        InternationalScheduledPaymentId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the international scheduled payment resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the message was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        ExchangeRateInformation:
          $ref: "#/components/schemas/OBExchangeRate2"
        Initiation:
          $ref: "#/components/schemas/OBInternationalScheduledInitiationResponse"
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
    OBWriteDataInternationalStandingOrder2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBInternationalStandingOrder2"
    OBWriteDataInternationalStandingOrderConsent2:
      required:
        - Initiation
        - Permission
      type: object
      properties:
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBInternationalStandingOrder2"
    OBWriteDataInternationalStandingOrderConsentResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - Permission
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalConsentStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
        Initiation:
          $ref: "#/components/schemas/OBInternationalStandingOrder2"
    OBWriteDataInternationalStandingOrderResponse2:
      required:
        - ConsentId
        - CreationDateTime
        - Initiation
        - InternationalStandingOrderId
        - Status
        - StatusUpdateDateTime
      type: object
      properties:
        InternationalStandingOrderId:
          maxLength: 40
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the international standing order resource.
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        CreationDateTime:
          type: string
          description: >-
            The date and time when the resource was created.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Status:
          $ref: "#/components/schemas/OBExternalStatus1Code"
        StatusUpdateDateTime:
          type: string
          description: >-
            The date and time when the resource status was updated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.


            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        Initiation:
          $ref: "#/components/schemas/OBInternationalStandingOrderInitiationResponse"
        Permission:
          $ref: "#/components/schemas/OBExternalPermissions2Code"
    OBWriteDomestic2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomestic2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticConsentResponse2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDomesticResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDomesticScheduled2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticScheduled2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticScheduledConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticScheduledConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticScheduledConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticScheduledConsentResponse2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDomesticScheduledResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticScheduledResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDomesticStandingOrder2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticStandingOrder2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticStandingOrderConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticStandingOrderConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteDomesticStandingOrderConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticStandingOrderConsentResponse2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDomesticStandingOrderResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataDomesticStandingOrderResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteFile2:
      required:
        - Data
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataFile2"
    OBWriteFileConsent2:
      required:
        - Data
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataFileConsent2"
    OBWriteFileConsentResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataFileConsentResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteFileResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataFileResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternational2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternational2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalConsentResponse2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternationalResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternationalScheduled2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalScheduled2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalScheduledConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalScheduledConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalScheduledConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalScheduledConsentResponse2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternationalScheduledResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalScheduledResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternationalStandingOrder2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalStandingOrder2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalStandingOrderConsent2:
      required:
        - Data
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalStandingOrderConsent2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
    OBWriteInternationalStandingOrderConsentResponse2:
      required:
        - Data
        - Links
        - Meta
        - Risk
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalStandingOrderConsentRespons\
            e2"
        Risk:
          $ref: "#/components/schemas/OBRisk1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteInternationalStandingOrderResponse2:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataInternationalStandingOrderResponse2"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDataFile2:
      required:
        - ConsentId
        - Initiation
      type: object
      properties:
        ConsentId:
          maxLength: 128
          minLength: 1
          type: string
          description: The unique ID that the
            [ASPSP](/docs/guides/build-banking-apps/glossary) assigns to
            identify the consent resource.
        Initiation:
          $ref: "#/components/schemas/OBFile2"
    OBSupplementaryData1:
      maxLength: 40
      minLength: 1
      type: object
      additionalProperties:
        type: string
        description: >-
          The additional information that cannot be captured in the structured
          fields and/or any other specific block.


          **`< * >`** acts as a placeholder here, and it represents an optional
          property (or multiple such properties) with an arbitrary name and
          data.


          To see an example, check the response body samples.
      description: The additional information that cannot be captured in the
        structured fields and/or any other specific block.
    OBCashAccountDebtor4:
      required:
        - Identification
        - SchemeName
      type: object
      description: >
        The details to identify the account from which the payment consent can
        be approved.


        If provided in the consent, the
        [PSU](/docs/guides/build-banking-apps/glossary) will only be able to
        approve the payment consent from an account which matches the provided
        account identifier.
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBExternalAccountIdentification4Code"
        Identification:
          maxLength: 256
          minLength: 1
          type: string
          description: The identifier assigned to the account, which is known by the
            account owner.
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: >-
            The name or names of the account owner(s) represented at an account
            level.


            The account name is not the product name or the nickname of the
            account.


            :::warning

            The name value is not validated against the actual owner name of the
            account.

            :::
        SecondaryIdentification:
          maxLength: 34
          minLength: 1
          type: string
          description: >-
            The secondary account ID that the account servicing institution
            assigns.


            Building societies can use this ID to identify accounts with a roll
            number in addition to a sort code and account number combination.
    OBCashAccountDebtorResponse:
      required:
        - Identification
        - SchemeName
      type: object
      description: >-
        The details to identify the account which was used to approve the
        payment consent.


        This information can be used as a refund address.
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBExternalAccountIdentification4Code"
        Identification:
          maxLength: 256
          minLength: 1
          type: string
          description: The identifier assigned to the account, which is known by the
            account owner.
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: >-
            The name or names of the account owner(s) represented at an account
            level.


            The account name is not the product name or the nickname of the
            account.


            :::warning[Name validation]

            This field will only return the actual owner(s) name if
            `DebtorAccount` was not defined in the consent.


            If it was defined in the consent, the same value from the consent
            will be returned.

            :::
        SecondaryIdentification:
          maxLength: 34
          minLength: 1
          type: string
          description: >-
            The secondary account ID that the account servicing institution
            assigns.


            Building societies can use this ID to identify accounts with a roll
            number in addition to a sort code and account number combination.
    OBCashAccountCreditor3:
      required:
        - Identification
        - Name
        - SchemeName
      type: object
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBExternalAccountIdentification4Code"
        Identification:
          maxLength: 256
          minLength: 1
          type: string
          description: The account ID that the institution assigns to identify an account,
            which is known by the account owner.
        Name:
          maxLength: 70
          minLength: 1
          type: string
          description: >-
            The account name that the account servicing institution assigns.


            The account name is the name or names of the account owner(s)
            represented at an account level.


            The account name is not the product name or the nickname of the
            account.


            :::note

            [ASPSP](/docs/guides/build-banking-apps/glossary)s might optionally
            validate this name to confirm the payee.

            :::
        SecondaryIdentification:
          maxLength: 34
          minLength: 1
          type: string
          description: >-
            The secondary account ID that the account servicing institution
            assigns.


            Building societies can use this ID to identify accounts with a roll
            number in addition to a sort code and account number combination.
      description: The details to identify the account.
    OBWriteFundsConfirmationResponse1:
      required:
        - Data
        - Links
        - Meta
      type: object
      properties:
        Data:
          $ref: "#/components/schemas/OBWriteDataFundsConfirmationResponse1"
        Links:
          $ref: "#/components/schemas/Links"
        Meta:
          $ref: "#/components/schemas/Meta"
    OBWriteDataFundsConfirmationResponse1:
      type: object
      properties:
        FundsAvailableResult:
          $ref: "#/components/schemas/OBFundsAvailableResult1"
    OBExternalLocalInstrument1Code:
      maxLength: 50
      minLength: 1
      type: string
      description: >-
        User community specific instrument.


        Use this element to specify a local instrument, local clearing option
        and/or further qualify the service or service level.
    OBExternalFileType1Code:
      type: string
      description: The payment file type.
      examples:
        - text/csv
    OBBranchAndFinancialInstitutionIdentification6:
      type: object
      properties:
        SchemeName:
          $ref: "#/components/schemas/OBExternalFinancialInstitutionIdentification4Code"
        Identification:
          maxLength: 35
          minLength: 1
          type: string
          description: The unique ID of the servicing institution.
        Name:
          maxLength: 140
          minLength: 1
          type: string
          description: The name of a known agent used to identify the agent.
        PostalAddress:
          $ref: "#/components/schemas/OBPostalAddress6"
      description: |-
        The party that manages the account on behalf of the account owner by:
        - Managing the registration and booking of entries on the account.
        - Calculating balances on the account.
        - Providing information about the account.

        This is the servicer of the beneficiary account.
    OBExternalFinancialInstitutionIdentification4Code:
      type: array
      items:
        type: string
      description: The name of the identification scheme, which is published in an
        external list.
      examples:
        - - UK.OBIE.IBAN
    OBFundsAvailableResult1:
      required:
        - FundsAvailable
        - FundsAvailableDateTime
      type: object
      properties:
        FundsAvailableDateTime:
          type: string
          description: >-
            The date and time when the funds availability check was generated.


            All dates in the JSON payloads are represented in [ISO
            8601](https://en.wikipedia.org/wiki/ISO_8601) date-time format.

            All date-time fields in responses must include the timezone.

            For example: `2017-04-05T10:43:07+00:00`.
          format: date-time
        FundsAvailable:
          type: boolean
          description: Indicates whether there are enough funds to pay for the `Amount` in
            the consent request.
      description: The results of the funds availability check.
    PaymentStatus:
      type: string
      description: The status of the payment.
      enum:
        - Created
        - Pending
        - Completed
        - Failed
        - Deleted
  responses:
    200AccountAccessConsentsConsentIdRead:
      description: Account Access Consents Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadConsentResponse1"
    200AccountsAccountIdBalancesRead:
      description: Balances Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadBalance1"
    200AccountsAccountIdBeneficiariesRead:
      description: Beneficiaries Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadBeneficiary3"
    200AccountsAccountIdDirectDebitsRead:
      description: Direct Debits Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadDirectDebit1"
    200AccountsAccountIdRead:
      description: Accounts Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadAccount3"
    200AccountsAccountIdStandingOrdersRead:
      description: Standing Orders Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadStandingOrder4"
    200AccountsAccountIdTransactionsRead:
      description: Transactions Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadTransaction4"
    200AccountsRead:
      description: Accounts Read
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadAccount3"
    200DomesticPaymentConsentsConsentIdFundsConfirmationRead:
      description: Domestic Payment Consents Funds Confirmation Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
    200DomesticPaymentConsentsConsentIdRead:
      description: Domestic Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticConsentResponse2"
    200DomesticPaymentsDomesticPaymentIdRead:
      description: Domestic Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticResponse2"
    200DomesticScheduledPaymentConsentsConsentIdRead:
      description: Domestic Scheduled Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduledConsentResponse2"
    200DomesticScheduledPaymentsDomesticScheduledPaymentIdRead:
      description: Domestic Scheduled Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduledResponse2"
    200DomesticStandingOrderConsentsConsentIdRead:
      description: Domestic Standing Order Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse2"
    200DomesticStandingOrdersDomesticStandingOrderIdRead:
      description: Domestic Standing Orders Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UID
            used as a correlation id.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrderResponse2"
    200FilePaymentConsentsConsentIdFileCreated:
      description: File Payment Consents Created
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content: {}
    200FilePaymentConsentsConsentIdFileRead:
      description: File Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: string
            contentMediaType: application/octet-stream
    200FilePaymentConsentsConsentIdRead:
      description: File Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFileConsentResponse2"
    200FilePaymentsFilePaymentIdRead:
      description: File Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFileResponse2"
    200FilePaymentsFilePaymentIdReportFileRead:
      description: File Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            type: string
            contentMediaType: application/octet-stream
    200InternationalPaymentConsentsConsentIdFundsConfirmationRead:
      description: International Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
    200InternationalPaymentConsentsConsentIdRead:
      description: International Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalConsentResponse2"
    200InternationalPaymentsInternationalPaymentIdRead:
      description: International Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalResponse2"
    200InternationalScheduledPaymentConsentsConsentIdFundsConfirmationRead:
      description: International Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFundsConfirmationResponse1"
    200InternationalScheduledPaymentConsentsConsentIdRead:
      description: International Scheduled Payment Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduledConsentResponse2"
    200InternationalScheduledPaymentsInternationalScheduledPaymentIdRead:
      description: International Scheduled Payments Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduledResponse2"
    200InternationalStandingOrderConsentsConsentIdRead:
      description: International Standing Order Consents Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse2"
    200InternationalStandingOrdersInternationalStandingOrderPaymentIdRead:
      description: International Standing Orders Read
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrderResponse2"
    201AccountAccessConsentsCreated:
      description: Account Access Consents Created
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadConsentResponse1"
    201DomesticPaymentConsentsCreated:
      description: Domestic Payment Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticConsentResponse2"
    201DomesticPaymentsCreated:
      description: Domestic Payments Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticResponse2"
    201DomesticScheduledPaymentConsentsCreated:
      description: Domestic Scheduled Payment Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduledConsentResponse2"
    201DomesticScheduledPaymentsCreated:
      description: Domestic Scheduled Payments Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduledResponse2"
    201DomesticStandingOrderConsentsCreated:
      description: Domestic Standing Order Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsentResponse2"
    201DomesticStandingOrdersCreated:
      description: Domestic Standing Orders Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrderResponse2"
    201FilePaymentConsentsCreated:
      description: File Payment Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFileConsentResponse2"
    201FilePaymentsCreated:
      description: File Payments Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFileResponse2"
    201InternationalPaymentConsentsCreated:
      description: International Payment Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalConsentResponse2"
    201InternationalPaymentsCreated:
      description: International Payments Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalResponse2"
    201InternationalScheduledPaymentConsentsCreated:
      description: International Scheduled Payment Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduledConsentResponse2"
    201InternationalScheduledPaymentsCreated:
      description: International Scheduled Payments Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduledResponse2"
    201InternationalStandingOrderConsentsCreated:
      description: International Standing Order Consents Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsentResponse2"
    201InternationalStandingOrdersCreated:
      description: International Standing Orders Created
      headers:
        x-jws-signature:
          description: Header containing a [detached JWS
            signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
            of the body of the payload.
          schema:
            type: string
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrderResponse2"
    204AccountAccessConsentsConsentIdDeleted:
      description: Account Access Consents Deleted
      headers:
        x-fapi-interaction-id:
          description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
            used as a correlation ID.
          schema:
            type: string
      content: {}
    400ErrorResponse:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBErrorResponse1"
    401ErrorResponse:
      description: Unauthorized
      content: {}
    403ErrorResponse:
      description: Forbidden
      content: {}
    405ErrorResponse:
      description: Method Not Allowed
      content: {}
    406ErrorResponse:
      description: Not Acceptable
      content: {}
    415ErrorResponse:
      description: Unsupported Media Type
      content: {}
    429ErrorResponse:
      description: Too Many Requests
      headers:
        Retry-After:
          description: Time in seconds to wait before you make a new request.
          schema:
            type: integer
      content: {}
    500ErrorResponse:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBErrorResponse1"
  parameters:
    FromBookingDateTimeParam:
      name: fromBookingDateTime
      in: query
      description: >-
        The UTC [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time to
        filter transactions.

        If the parameter is provided, only transactions with `BookingDateTime >=
        fromBookingDateTime` will be returned.

        Note that the results are paginated.


        :::note

        If you provide this parameter, both the date and time components are
        required.

        If you don't need to filter by time, you can set the time part to
        `00:00:00`. 

        For example, to fetch transactions with `BookingDateTime` equal to or
        after 09 Oct 2025, set this value to `2025-10-09T00:00:00Z`.

        :::
      schema:
        type: string
        format: date-time
        examples:
          - 2025-10-09T00:00:00Z
    ToBookingDateTimeParam:
      name: toBookingDateTime
      in: query
      description: >-
        The UTC [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time to
        filter transactions.


        If the parameter is provided, only transactions with `BookingDateTime <
        toBookingDateTime` will be returned.

        Used for pagination: to fetch the next page of results, use the
        `BookingDateTime` of the last transaction from the current page as the
        new `toBookingDateTime` value. 


        If not provided, the most recent transactions will be returned.


        :::note

        If you provide this parameter, both the date and time components are
        required.

        If you don't need to filter by time, you can set the time part to
        `00:00:00`. 

        For example, to fetch transactions with `BookingDateTime` older than 13
        Feb 2026, set this value to `2026-02-13T00:00:00Z`.

        :::
      schema:
        type: string
        format: date-time
        examples:
          - 2026-02-13T00:00:00Z
    FromStatementDateTimeParam:
      name: fromStatementDateTime
      in: query
      description: >-
        The UTC [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time to
        filter statements FROM NB Time component is optional - set to `00:00:00`
        for just Date.

        If the Date Time contains a timezone, the
        [ASPSP](/docs/guides/build-banking-apps/glossary) must ignore the
        timezone component.
      schema:
        type: string
        format: date-time
    ToStatementDateTimeParam:
      name: toStatementDateTime
      in: query
      description: >-
        The UTC [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) Date Time to
        filter statements TO NB Time component is optional - set to `00:00:00`
        for just Date.

        If the Date Time contains a timezone, the
        [ASPSP](/docs/guides/build-banking-apps/glossary) must ignore the
        timezone component.
      schema:
        type: string
        format: date-time
    x-fapi-financial-id-Param:
      name: x-fapi-financial-id
      in: header
      description: >-
        The unique ID of the [ASPSP](/docs/guides/build-banking-apps/glossary)
        that the request is issued to.

        The ID of Revolut is `001580000103UAvAAM`.
      required: true
      schema:
        type: string
    x-fapi-customer-ip-address-Param:
      name: x-fapi-customer-ip-address
      in: header
      description: The IP address of the
        [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged in
        with the [TPP](/docs/guides/build-banking-apps/glossary).
      schema:
        type: string
    x-fapi-interaction-id-Param:
      name: x-fapi-interaction-id
      in: header
      description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
        used as a correlation ID.
      schema:
        type: string
    x-fapi-customer-last-logged-time-Param:
      name: x-fapi-customer-last-logged-time
      in: header
      description: >-
        The date and time when the
        [PSU](/docs/guides/build-banking-apps/glossary) last logged in with the
        [TPP](/docs/guides/build-banking-apps/glossary).


        All dates in the HTTP headers are represented as [RFC
        7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
        Full Dates.

        For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
      schema:
        pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
        type: string
    AuthorizationParam:
      name: Authorization
      in: header
      description: >-
        The access token that you've generated.

        For more information, see [Generate an access
        token](/docs/guides/build-banking-apps/get-started/get-access-token).
      required: true
      schema:
        type: string
    AccountId:
      name: AccountId
      in: path
      description: The ID of the account.
      required: true
      schema:
        type: string
    x-fapi-financial-id:
      name: x-fapi-financial-id
      in: header
      description: >-
        The unique ID of the [ASPSP](/docs/guides/build-banking-apps/glossary)
        that the request is issued to.

        The ID of Revolut is `001580000103UAvAAM`.
      required: true
      schema:
        type: string
    x-fapi-customer-last-logged-time:
      name: x-fapi-customer-last-logged-time
      in: header
      description: >-
        The date and time when the
        [PSU](/docs/guides/build-banking-apps/glossary) last logged in with the
        [TPP](/docs/guides/build-banking-apps/glossary).


        All dates in the HTTP headers are represented as [RFC
        7231](https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.1.1)
        Full Dates.

        For example: <nobr>`Sun, 10 Sep 2017 19:43:31 UTC`</nobr>.
      schema:
        pattern: ^(Mon|Tue|Wed|Thu|Fri|Sat|Sun), \d{2}
          (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) \d{4}
          \d{2}:\d{2}:\d{2} (GMT|UTC)$
        type: string
    x-fapi-customer-ip-address:
      name: x-fapi-customer-ip-address
      in: header
      description: The IP address of the
        [PSU](/docs/guides/build-banking-apps/glossary) if the PSU is logged in
        with the [TPP](/docs/guides/build-banking-apps/glossary).
      schema:
        type: string
    x-fapi-interaction-id:
      name: x-fapi-interaction-id
      in: header
      description: An [RFC4122](https://datatracker.ietf.org/doc/html/rfc4122) UUID
        used as a correlation ID.
      schema:
        type: string
    Authorization:
      name: Authorization
      in: header
      description: >-
        The access token that you've generated.

        For more information, see [Generate an access
        token](/docs/guides/build-banking-apps/get-started/get-access-token).
      required: true
      schema:
        type: string
    x-customer-user-agent:
      name: x-customer-user-agent
      in: header
      description: The user agent that the
        [PSU](/docs/guides/build-banking-apps/glossary) is using.
      schema:
        type: string
    ConsentId:
      name: ConsentId
      in: path
      description: The ID of the account access consent.
      required: true
      schema:
        type: string
    ClientId:
      name: ClientId
      in: path
      description: The Client ID of the application.
      required: true
      schema:
        type: string
    StatementId:
      name: StatementId
      in: path
      description: StatementId
      required: true
      schema:
        type: string
    x-customer-user-agent-Param:
      name: x-customer-user-agent
      in: header
      description: The user agent that the
        [PSU](/docs/guides/build-banking-apps/glossary) is using.
      schema:
        type: string
    x-idempotency-key:
      name: x-idempotency-key
      in: header
      description: |-
        Each request is processed only once per `x-idempotency-key`.
        The idempotency key is valid for 24 hours.
      required: true
      schema:
        maxLength: 40
        pattern: ^(?!\s)(.*)(\S)$
        type: string
    x-jws-signature-Param:
      name: x-jws-signature
      in: header
      description: A [detached JWS
        signature](/docs/guides/build-banking-apps/tutorials/work-with-json-web-signatures)
        of the body of the payload.
      required: true
      schema:
        type: string
    DomesticStandingOrderId:
      name: DomesticStandingOrderId
      in: path
      description: The ID of the domestic standing order.
      required: true
      schema:
        type: string
    DomesticPaymentId:
      name: DomesticPaymentId
      in: path
      description: The ID of the domestic payment.
      required: true
      schema:
        type: string
    DomesticScheduledPaymentId:
      name: DomesticScheduledPaymentId
      in: path
      description: The ID of the domestic scheduled payment.
      required: true
      schema:
        type: string
    InternationalStandingOrderPaymentId:
      name: InternationalStandingOrderPaymentId
      in: path
      description: The ID of the international standing order payment.
      required: true
      schema:
        type: string
    FilePaymentId:
      name: FilePaymentId
      in: path
      description: The ID of the file payment.
      required: true
      schema:
        type: string
    InternationalPaymentId:
      name: InternationalPaymentId
      in: path
      description: The ID of the international payment.
      required: true
      schema:
        type: string
    InternationalScheduledPaymentId:
      name: InternationalScheduledPaymentId
      in: path
      description: The ID of the international schedule payment.
      required: true
      schema:
        type: string
  requestBodies:
    OBWriteDomesticStandingOrderConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrderConsent2"
      required: true
    OBWriteDomesticStandingOrder2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticStandingOrder2"
      required: true
    OBWriteDomesticConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticConsent2"
      required: true
    OBWriteDomestic2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomestic2"
      required: true
    OBWriteDomesticScheduledConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduledConsent2"
      required: true
    OBWriteDomesticScheduled2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteDomesticScheduled2"
      required: true
    OBWriteInternationalStandingOrderConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrderConsent2"
      required: true
    OBWriteInternationalStandingOrder2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalStandingOrder2"
      required: true
    OBWriteFileConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFileConsent2"
      required: true
    FileParam:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/File"
      required: true
    OBWriteFile2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteFile2"
      required: true
    OBWriteInternationalConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalConsent2"
      required: true
    OBWriteInternational2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternational2"
      required: true
    OBWriteInternationalScheduledConsent2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduledConsent2"
      required: true
    OBWriteInternationalScheduled2Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBWriteInternationalScheduled2"
      required: true
    OBReadConsent1Param:
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/OBReadConsent1"
      required: true
  securitySchemes:
    AccessToken:
      type: apiKey
      description: |-
        Each Open Banking API must contain an authorization header in the following format to make a call: `Bearer <yourAccessToken>`.

        Before you start, ensure that you've got an access token with the correct `scope` using the `/token` endpoint.
        You need to get the authorization code first and exchange it for an access token.

        For more information, see [Tutorial: Get account and transaction information](/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information) and [Tutorial: Initiate your first payment](/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment) as examples.
      name: Authorization
      in: header
    JWS:
      type: apiKey
      description: >-
        Open Banking API Payment requests additionally require a JSON Web
        Signature (JWS) which needs to be added to the header of the request.

        The JWS signature must be obtained using the full content of the
        payload.
      name: x-jws-signature
      in: header
  examples:
    Error401InvalidRevokedOrExpiredToken:
      summary: Token invalid, revoked or expired
      value:
        Code: 401 Unauthorized
        Message: Access token is invalid or expired
        Id: XXXXXXXXXXXX
        Errors:
          - ErrorCode: UK.OBIE.Resource.Unauthorized
            Message: Access token is invalid or expired
    Error401ConsentLacksPermissions:
      summary: Consent lacks permissions
      value:
        Code: 401 Unauthorized
        Message: Consent has no permissions
        Id: XXXXXXXXXXXX
        Errors:
          - ErrorCode: UK.OBIE.Resource.Unauthorized
            Message: Consent has no permissions
    Error403ForbiddenAccess:
      summary: SCA 5 minutes expired
      value:
        Code: 403 Forbidden
        Message: Access forbidden
        Id: XXXXXXXXXXXX
        Errors:
          - ErrorCode: UK.OBIE.Resource.Forbidden
            Message: Access forbidden
x-ext-urls: {}
