Revolut Applications API

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](https://developer.revolut.com/docs/guides/build-banking-apps/register-your-application-using-dcr/) - [Manage your applications](https://developer.revolut.com/docs/guides/build-banking-apps/manage-your-applications/get-an-application)

Operations 5

GET /distinguished-name Get a distinguished name (DN) #
POST /register Register an application #
GET /register/{ClientId} Get an application #
PUT /register/{ClientId} Update an application #
DELETE /register/{ClientId} Delete an application #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/revolut-applications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

revolut-applications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Open Banking Applications API
  description: "The Revolut Open Banking API is the gateway for third-party providers to interact with Revolut customers and products.\n\n:::tip[Before you get started]\nTo learn more about the Open Banking API and its features, check the [**user guides**](https://developer.revolut.com/docs/guides/build-banking-apps/introduction-to-the-open-banking-api/introduction).\n\nYou can reach them at any time from the main navigation bar **→ Guides → Open Banking**.\n:::\n\nYou can take advantage of the Open Banking API to build your banking applications whether you are:\n- A regulated third party provider that wants to get account and transaction information of Revolut customers and initiate different types of payments, or\n- An innovative service provider that is looking to seamlessly integrate Revolut functions into your own applications.\n\nAs such, you can use the Open Banking API to leverage the following features:\n- [Account management](https://developer.revolut.com/docs/api/open-banking#tag-accounts)\n- [Transaction management](https://developer.revolut.com/docs/api/open-banking#tag-transactions)\n- Payment management:\n  - Domestic: [Domestic payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-payment), [Domestic scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-domestic-scheduled-payment), [Domestic standing orders](https://developer.revolut.com/docs/api/open-banking#tag-domestic-standing-order)\n  - International: [International payments](https://developer.revolut.com/docs/api/open-banking#tag-international-payment), [International scheduled payments](https://developer.revolut.com/docs/api/open-banking#tag-international-scheduled-payment), [International standing orders](https://developer.revolut.com/docs/api/open-banking#tag-international-standing-order)\n  - Other: [Draft payments](https://developer.revolut.com/docs/api/open-banking#tag-draft-payment), [File payments](https://developer.revolut.com/docs/api/open-banking#tag-file-payment)\n- [Application management](https://developer.revolut.com/docs/api/open-banking#tag-applications)\n\nBrowse the menu on the left to see the reference for the specific endpoints and operations of this API.\nYou can also go to [Updates](https://developer.revolut.com/blog) to learn about upcoming changes and other news related to the Open Banking API.\n\n### Test the Open Banking API\n\nYou can test the Open Banking 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)\n\n## Get Access token\n\n### Certificates\n\nYou must use a transport certificate and its private key in order to request an access token.\n\n- For Sandbox testing, you can use the `transport.pem` certificate file which you obtained in [Convert certificates](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#convert-certificates) together with the private key generated in step [Generate a CSR](https://developer.revolut.com/docs/guides/build-banking-apps/get-started/prepare-sandbox-environment#generate-a-csr).\n\n- For Production, you will need to use a valid OBIE or eIDAS transport certificate from a regulated Certificate Authority, and its corresponding private key.\n\n:::note\nRevolut Open Banking API servers use certificates issued by Open Banking Limited.\n\nYou 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.\n:::\n\n### Headers\n\n- `Content-Type: application/x-www-form-urlencoded`\n\n### Parameters\n\n- `grant_type`: Must be set to `client_credentials` to get the access token.\n- `scope`: Must be set to `accounts`.\n\n### Example\n\n:::note\nThe parameters `-k` or `--insecure` are not necessary if you added Open Banking Root and Issuing certificates to your truststore.\n:::\n\n**For production:**\n\n```shell\ncurl -k --cert transport.pem --key private.key \\\n--location -X POST 'https://oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n-d 'scope=accounts' \\\n```\n\n**For sandbox:**\n\n```shell\ncurl -k --cert transport.pem --key private.key \\\n--location -X POST 'https://sandbox-oba-auth.revolut.com/token' \\\n--header 'Content-Type: application/x-www-form-urlencoded' \\\n-d 'grant_type=client_credentials' \\\n-d 'scope=accounts' \\\n```\n\n## Response\n\nThe response contains the following JSON object:\n\n```json\n{\n    \"access_token\":\"<access token>\",\n    \"token_type\":\"Bearer\",\n    \"expires_in\":2399\n}\n```\n\n**What's next**\n\nUse this access token as the authentication bearer for all subsequent requests to the API, as described in the [Tutorials](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information) section.\nWhen 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](https://developer.revolut.com/docs/guides/build-banking-apps/register-your-application-using-dcr/)

    - [Manage your applications](https://developer.revolut.com/docs/guides/build-banking-apps/manage-your-applications/get-an-application)'
paths:
  /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](https://developer.revolut.com/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.
              example:
                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](https://developer.revolut.com/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](https://developer.revolut.com/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'
              example:
                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'
              example:
                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'
              example:
                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](https://developer.revolut.com/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](https://developer.revolut.com/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'
              example:
                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'
              example:
                Code: 403 Forbidden
                Message: Access forbidden
                Id: EE2Q9YDN2OE7
                Errors:
                - ErrorCode: UK.OBIE.Resource.Forbidden
                  Message: Access forbidden
components:
  parameters:
    ClientId:
      name: ClientId
      in: path
      description: The Client ID of the application.
      required: true
      schema:
        type: string
  schemas:
    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.
    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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) will use to interact with the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        org_jwks_endpoint:
          type: string
          format: uri
          description: Public URI endpoint where the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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`.'
          example: openid payments
    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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) will use to interact with the [ASPSP](https://developer.revolut.com/docs/guides/build-banking-apps/glossary).
        org_jwks_endpoint:
          type: string
          format: uri
          description: Public URI endpoint where the [TPP](https://developer.revolut.com/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](https://developer.revolut.com/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](https://developer.revolut.com/docs/guides/build-banking-apps/glossary) has access to, separated by spaces.
  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](https://developer.revolut.com/docs/guides/build-banking-apps/tutorials/get-account-and-transaction-information) and [Tutorial: Initiate your first payment](https://developer.revolut.com/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