{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-identity-user-flow-attribute-assignment-schema.json",
  "title": "microsoft.graph.identityUserFlowAttributeAssignment",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-identity-b2xidentityuserflow-api-openapi.yml#/components/schemas/microsoft.graph.identityUserFlowAttributeAssignment",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.entity"
    },
    {
      "title": "identityUserFlowAttributeAssignment",
      "type": "object",
      "properties": {
        "displayName": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the identityUserFlowAttribute within a user flow."
        },
        "isOptional": {
          "type": "boolean",
          "description": "Determines whether the identityUserFlowAttribute is optional. true means the user doesn't have to provide a value. false means the user can't complete sign-up without providing a value."
        },
        "requiresVerification": {
          "type": "boolean",
          "description": "Determines whether the identityUserFlowAttribute requires verification, and is only used for verifying the user's phone number or email address."
        },
        "userAttributeValues": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/microsoft.graph.userAttributeValuesItem"
          },
          "description": "The input options for the user flow attribute. Only applicable when the userInputType is radioSingleSelect, dropdownSingleSelect, or checkboxMultiSelect."
        },
        "userInputType": {
          "$ref": "#/$defs/microsoft.graph.identityUserFlowAttributeInputType"
        },
        "userAttribute": {
          "$ref": "#/$defs/microsoft.graph.identityUserFlowAttribute"
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.entity": {
      "title": "entity",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    },
    "microsoft.graph.identityUserFlowAttribute": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "identityUserFlowAttribute",
          "type": "object",
          "properties": {
            "dataType": {
              "$ref": "#/$defs/microsoft.graph.identityUserFlowAttributeDataType"
            },
            "description": {
              "type": [
                "string",
                "null"
              ],
              "description": "The description of the user flow attribute that's shown to the user at the time of sign up."
            },
            "displayName": {
              "type": [
                "string",
                "null"
              ],
              "description": "The display name of the user flow attribute.  Supports $filter (eq, ne)."
            },
            "userFlowAttributeType": {
              "$ref": "#/$defs/microsoft.graph.identityUserFlowAttributeType"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.identityUserFlowAttributeDataType": {
      "title": "identityUserFlowAttributeDataType",
      "enum": [
        "string",
        "boolean",
        "int64",
        "stringCollection",
        "dateTime",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.identityUserFlowAttributeInputType": {
      "title": "identityUserFlowAttributeInputType",
      "enum": [
        "textBox",
        "dateTimeDropdown",
        "radioSingleSelect",
        "dropdownSingleSelect",
        "emailBox",
        "checkboxMultiSelect"
      ],
      "type": "string"
    },
    "microsoft.graph.identityUserFlowAttributeType": {
      "title": "identityUserFlowAttributeType",
      "enum": [
        "builtIn",
        "custom",
        "required",
        "unknownFutureValue"
      ],
      "type": "string"
    },
    "microsoft.graph.userAttributeValuesItem": {
      "title": "userAttributeValuesItem",
      "type": "object",
      "properties": {
        "isDefault": {
          "type": "boolean",
          "description": "Determines whether the value is set as the default."
        },
        "name": {
          "type": [
            "string",
            "null"
          ],
          "description": "The display name of the property displayed to the user in the user flow."
        },
        "value": {
          "type": [
            "string",
            "null"
          ],
          "description": "The value that is set when this item is selected."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  }
}