{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/NativeSocialTokenExchange",
  "title": "NativeSocialTokenExchange",
  "type": "object",
  "required": [
    "grant_type",
    "subject_token",
    "subject_token_type",
    "client_id"
  ],
  "properties": {
    "grant_type": {
      "type": "string",
      "description": "Denotes the flow you are using. For Token Exchange for Native Social, use urn:ietf:params:oauth:grant-type:token-exchange.",
      "enum": [
        "urn:ietf:params:oauth:grant-type:token-exchange"
      ]
    },
    "subject_token": {
      "type": "string",
      "description": "Externally-issued identity artifact, representing the user."
    },
    "subject_token_type": {
      "type": "string",
      "description": "Identifier that indicates the type of subject_token. Currently supported native social values are: http://auth0.com/oauth/token-type/apple-authz-code."
    },
    "client_id": {
      "type": "string",
      "description": "Your application's Client ID."
    },
    "audience": {
      "type": "string",
      "description": "The unique identifier of the target API you want to access."
    },
    "scope": {
      "type": "string",
      "description": "String value of the different scopes the application is requesting. Multiple scopes are separated with whitespace."
    },
    "user_profile": {
      "type": "string",
      "description": "Optional element used for native iOS interactions for which profile updates can occur. Expected parameter value will be JSON in the form of: { name: { firstName: 'John', lastName: 'Smith }}"
    }
  }
}