{
  "type": "object",
  "properties": {
    "getAccessTokenSilently": {
      "type": "object",
      "additionalProperties": false
    },
    "login": {
      "type": "object",
      "additionalProperties": false
    },
    "_logout": {
      "type": "object",
      "additionalProperties": false
    },
    "isExternal": {
      "type": "object",
      "additionalProperties": false
    },
    "error": {
      "$ref": "#/definitions/Error"
    },
    "user": {
      "$ref": "#/definitions/User"
    },
    "getAccessTokenWithPopup": {
      "description": "```js\nconst token = await getTokenWithPopup(options, config);\n```\n\nGet an access token interactively.\n\nOpens a popup with the `/authorize` URL using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated. If the response is successful,\nresults will be valid according to their expiration times.",
      "type": "object",
      "additionalProperties": false
    },
    "getIdTokenClaims": {
      "description": "```js\nconst claims = await getIdTokenClaims();\n```\n\nReturns all claims from the id_token if available.",
      "type": "object",
      "additionalProperties": false
    },
    "loginWithRedirect": {
      "description": "```js\nawait loginWithRedirect(options);\n```\n\nPerforms a redirect to `/authorize` using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated.",
      "type": "object",
      "additionalProperties": false
    },
    "loginWithPopup": {
      "description": "```js\nawait loginWithPopup(options, config);\n```\n\nOpens a popup with the `/authorize` URL using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated. If the response is successful,\nresults will be valid according to their expiration times.\n\nIMPORTANT: This method has to be called from an event handler\nthat was started by the user like a button click, for example,\notherwise the popup will be blocked in most browsers.",
      "type": "object",
      "additionalProperties": false
    },
    "logout": {
      "description": "```js\nauth0.logout({ returnTo: window.location.origin });\n```\n\nClears the application session and performs a redirect to `/v2/logout`, using\nthe parameters provided as arguments, to clear the Auth0 session.\nIf the `federated` option is specified, it also clears the Identity Provider session.\nIf the `localOnly` option is specified, it only clears the application session.\nIt is invalid to set both the `federated` and `localOnly` options to `true`,\nand an error will be thrown if you do.\n[Read more about how Logout works at Auth0](https://auth0.com/docs/logout).",
      "type": "object",
      "additionalProperties": false
    },
    "buildAuthorizeUrl": {
      "description": "```js\nconst authUrl = await buildAuthorizeUrl();\n```\n\nBuilds an `/authorize` URL for loginWithRedirect using the parameters\nprovided as arguments. Random and secure `state` and `nonce`\nparameters will be auto-generated.",
      "type": "object",
      "additionalProperties": false
    },
    "buildLogoutUrl": {
      "description": "```js\nconst logoutUrl = buildLogoutUrl();\n```\n\nreturns a URL to the logout endpoint using the parameters provided as arguments.",
      "type": "object",
      "additionalProperties": false
    },
    "handleRedirectCallback": {
      "description": "After the browser redirects back to the callback page,\ncall `handleRedirectCallback` to handle success and error\nresponses from Auth0. If the response is successful, results\nwill be valid according to their expiration times.",
      "type": "object",
      "additionalProperties": false
    },
    "isAuthenticated": {
      "type": "boolean"
    },
    "isLoading": {
      "type": "boolean"
    }
  },
  "additionalProperties": false,
  "required": [
    "_logout",
    "buildAuthorizeUrl",
    "buildLogoutUrl",
    "getAccessTokenSilently",
    "getAccessTokenWithPopup",
    "getIdTokenClaims",
    "handleRedirectCallback",
    "isAuthenticated",
    "isExternal",
    "isLoading",
    "login",
    "loginWithPopup",
    "loginWithRedirect",
    "logout"
  ],
  "definitions": {
    "Error": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "message": {
          "type": "string"
        },
        "stack": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "required": [
        "message",
        "name"
      ]
    },
    "User": {
      "type": "object",
      "additionalProperties": {},
      "properties": {
        "name": {
          "type": "string"
        },
        "given_name": {
          "type": "string"
        },
        "family_name": {
          "type": "string"
        },
        "middle_name": {
          "type": "string"
        },
        "nickname": {
          "type": "string"
        },
        "preferred_username": {
          "type": "string"
        },
        "profile": {
          "type": "string"
        },
        "picture": {
          "type": "string"
        },
        "website": {
          "type": "string"
        },
        "email": {
          "type": "string"
        },
        "email_verified": {
          "type": "boolean"
        },
        "gender": {
          "type": "string"
        },
        "birthdate": {
          "type": "string"
        },
        "zoneinfo": {
          "type": "string"
        },
        "locale": {
          "type": "string"
        },
        "phone_number": {
          "type": "string"
        },
        "phone_number_verified": {
          "type": "boolean"
        },
        "address": {
          "type": "string"
        },
        "updated_at": {
          "type": "string"
        },
        "sub": {
          "type": "string"
        }
      }
    }
  },
  "$schema": "http://json-schema.org/draft-07/schema#"
}