{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-ad/json-schema/azure-ad-microsoft-graph-temporary-access-pass-authentication-method-schema.json",
  "title": "microsoft.graph.temporaryAccessPassAuthenticationMethod",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-ad-users-authentication-api-openapi.yml#/components/schemas/microsoft.graph.temporaryAccessPassAuthenticationMethod",
  "allOf": [
    {
      "$ref": "#/$defs/microsoft.graph.authenticationMethod"
    },
    {
      "title": "temporaryAccessPassAuthenticationMethod",
      "type": "object",
      "properties": {
        "isUsable": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "The state of the authentication method that indicates whether it's currently usable by the user."
        },
        "isUsableOnce": {
          "type": [
            "boolean",
            "null"
          ],
          "description": "Determines whether the pass is limited to a one-time use. If true, the pass can be used once; if false, the pass can be used multiple times within the Temporary Access Pass lifetime."
        },
        "lifetimeInMinutes": {
          "maximum": 2147483647,
          "minimum": -2147483648,
          "type": [
            "number",
            "null"
          ],
          "description": "The lifetime of the Temporary Access Pass in minutes starting at startDateTime. Must be between 10 and 43200 inclusive (equivalent to 30 days).",
          "format": "int32"
        },
        "methodUsabilityReason": {
          "type": [
            "string",
            "null"
          ],
          "description": "Details about the usability state (isUsable). Reasons can include: EnabledByPolicy, DisabledByPolicy, Expired, NotYetValid, OneTimeUsed."
        },
        "startDateTime": {
          "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
          "type": [
            "string",
            "null"
          ],
          "description": "The date and time when the Temporary Access Pass becomes available to use and when isUsable is true is enforced.",
          "format": "date-time"
        },
        "temporaryAccessPass": {
          "type": [
            "string",
            "null"
          ],
          "description": "The Temporary Access Pass used to authenticate. Returned only on creation of a new temporaryAccessPassAuthenticationMethod object; Hidden in subsequent read operations and returned as null with GET."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  ],
  "$defs": {
    "microsoft.graph.authenticationMethod": {
      "allOf": [
        {
          "$ref": "#/$defs/microsoft.graph.entity"
        },
        {
          "title": "authenticationMethod",
          "type": "object",
          "properties": {
            "createdDateTime": {
              "pattern": "^[0-9]{4,}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]([.][0-9]{1,12})?(Z|[+-][0-9][0-9]:[0-9][0-9])$",
              "type": [
                "string",
                "null"
              ],
              "description": "Represents the date and time when an entity was created. Read-only.",
              "format": "date-time"
            }
          },
          "additionalProperties": {
            "type": "object"
          }
        }
      ]
    },
    "microsoft.graph.entity": {
      "title": "entity",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "The unique identifier for an entity. Read-only."
        }
      },
      "additionalProperties": {
        "type": "object"
      }
    }
  }
}