{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/revolut/main/json-schema/revolut-register-application-response-schema.json",
  "title": "RegisterApplicationResponse",
  "x-generated": "2026-10-12",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/revolut-applications-api-openapi.yml#/components/schemas/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.\nProvided in seconds in Unix timestamp format."
    },
    "exp": {
      "type": "integer",
      "description": "The expiration time starting from which the JWT must not be accepted for processing.\nProvided 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.\nCurrently, 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.\n\nThe 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.\nA 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."
    }
  }
}