Revolut Domestic standing order API

*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](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 scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-scheduled-payment). :::

OpenAPI Specification

revolut-domestic-standing-order-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  version: '1.0'
  title: Business Accounting Domestic standing order 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 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](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 scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-scheduled-payment).

    :::'
paths:
  /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](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).



        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](https://developer.revolut.com/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](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/OBWriteDomesticStandingOrderConsent2'
            example:
              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](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/OBWriteDomesticStandingOrderConsentResponse2'
              example:
                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](https://developer.revolut.com/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](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 Standing Order 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/OBWriteDomesticStandingOrderConsentResponse2'
              example:
                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](https://developer.revolut.com/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](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/OBWriteDomesticStandingOrder2'
            example:
              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](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/OBWriteDomesticStandingOrderResponse2'
              example:
                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](https://developer.revolut.com/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](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 Standing Orders 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) UID used as a correlation id.
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OBWriteDomesticStandingOrderResponse2'
              example:
                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'
components:
  schemas:
    OBExternalConsentStatus1Code:
      type: string
      description: The status of the consent.
      enum:
      - Authorised
      - AwaitingAuthorisation
      - Consumed
      - Rejected
    OBDomesticStandingOrderInitiationResponse:
      type: object
      description: The Initiation payload that the initiating party sends to the [ASPSP](https://developer.revolut.com/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

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