Revolut Domestic scheduled payment API

*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](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment). :::tip See also [Domestic payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-payment) and [Domestic standing orders](https://developer.revolut.com/docs/api/open-banking#tag-domestic-standing-order). :::

OpenAPI Specification

revolut-domestic-scheduled-payment-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  version: '1.0'
  title: Business Accounting Domestic scheduled payment API
  description: "As a Revolut Business customer with a Business Account, you can use the Business API to automate your own business processes.\nSave time, reduce your costs, and avoid errors by using the Business API. \n\n:::tip[Before you get started]\nTo learn more about the Business API and its features, check the [**user guides**](https://developer.revolut.com/docs/guides/manage-accounts/introduction).\n\nYou can reach them at any time from the main navigation bar **→ Guides → Business**.\n:::\n\nYou can view accounts, manage counterparties, make payments or currency exchanges without manual effort in the Web UI:\n\n- Accounting: [Account management](https://developer.revolut.com/docs/api/business#get-account), [Accounting settings](https://developer.revolut.com/docs/api/business#tag-accounting), [Expense management](https://developer.revolut.com/docs/api/business#get-expense), [Transactions](https://developer.revolut.com/docs/api/business#get-transactions) \n- Payments: \n  - [Counterparty management](https://developer.revolut.com/docs/api/business#get-counterparties)\n  - Payment management: [Payment drafts](https://developer.revolut.com/docs/api/business#delete-payment-draft), [Payout links](https://developer.revolut.com/docs/api/business#get-payout-link), [Transfers](https://developer.revolut.com/docs/api/business#tag-transfers)\n  - [Foreign exchange](https://developer.revolut.com/docs/api/business#tag-foreign-exchange)\n- Business team: [Card management](https://developer.revolut.com/docs/api/business#delete-card), [Card invitation management](https://developer.revolut.com/docs/api/business#update-card-invitation), [Team member management](https://developer.revolut.com/docs/api/business#delete-team-member)\n- Developer tools: [Sandbox simulations](https://developer.revolut.com/docs/api/business#tag-simulations), [Webhook management](https://developer.revolut.com/docs/api/business#tag-webhooks-v2)\n\nTo see the reference for the specific endpoints and operations of this API, browse the menu on the left.\n\n### Test the Business API\n\nYou can test the Business API in Postman by forking this collection:\n\n[![View in Postman](https://run.pstmn.io/button.svg)](https://www.postman.com/revolut-api/workspace/revolut-developers/overview)"
  contact: {}
servers:
- url: https://b2b.revolut.com/api/1.0
  description: Production server (uses live data)
- url: https://sandbox-b2b.revolut.com/api/1.0
  description: Sandbox server (uses test data)
tags:
- 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](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/initiate-your-first-payment).


    :::tip

    See also [Domestic payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-payment) and [Domestic standing orders](https://developer.revolut.com/docs/api/open-banking#tag-domestic-standing-order).

    :::'
paths:
  /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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBWriteDomesticScheduledConsent2'
            example:
              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](https://developer.revolut.com/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'
              example:
                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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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'
              example:
                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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) is using.
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OBWriteDomesticScheduled2'
            example:
              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](https://developer.revolut.com/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'
              example:
                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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) last logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) if the PSU is logged in with the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/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'
              example:
                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'
components:
  schemas:
    OBExternalConsentStatus1Code:
      type: string
      description: The status of the consent.
      enum:
      - Authorised
      - AwaitingAuthorisation
      - Consumed
      - Rejected
    OBWriteDomesticScheduledResponse2:
      required:
      - Data
      - Links
      - Meta
      type: object
      properties:
        Data:
          $ref: '#/components/schemas/OBWriteDataDomesticScheduledResponse2'
        Links:
          $ref: '#/components/schemas/Links'
        Meta:
          $ref: '#/components/schemas/Meta'
    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 unamb

# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/revolut/refs/heads/main/openapi/revolut-domestic-scheduled-payment-api-openapi.yml