> ## Documentation Index
> Fetch the complete documentation index at: https://support.fortanix.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Returns the available auth methods for the given user email.
Example: password, ldap, oauth, etc.

> Returns the available auth methods for the given user email.
Example: password, ldap, oauth, etc.

## OpenAPI

````json POST /sys/v1/session/auth/discover
{
  "openapi": "3.0.0",
  "info": {
    "title": "Fortanix DSM REST API",
    "description": "This is a set of REST APIs for accessing the Fortanix Data Security Manager. This includes APIs for managing accounts, and for performing cryptographic and key management operations. \n\n **Note:** \n- All binary input should be base64-encoded. These fields are marked with `format: byte`. \n- For forward compatibility, any API client is expected to ignore any fields in the response not explicitly mentioned in the documentation. We reserve the right to add new fields at any time to provide new functionality without affecting existing API clients.",
    "termsOfService": "https://www.fortanix.com/legal/terms/",
    "contact": {
      "name": "Fortanix Support",
      "url": "https://support.fortanix.com/",
      "email": "support@fortanix.com"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
    },
    "version": "0.1.0-20260526"
  },
  "servers": [
    {
      "url": "https://amer.smartkey.io"
    }
  ],
  "paths": {
    "/sys/v1/session/auth/discover": {
      "post": {
        "operationId": "AuthDiscover",
        "tags": [
          "Session"
        ],
        "security": [
          {
            "bearerToken": []
          },
          {
            "apiKeyAuth": []
          }
        ],
        "summary": "Returns the available auth methods for the given user email.\nExample: password, ldap, oauth, etc.",
        "description": "Returns the available auth methods for the given user email.\nExample: password, ldap, oauth, etc.",
        "parameters": [
          {
            "$ref": "#/components/parameters/AuthDiscoverParams"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AuthDiscoverRequest"
              }
            }
          }
        },
        "responses": {
          "2XX": {
            "description": "Success result",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AuthMethod"
                  }
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "parameters": {
      "AuthDiscoverParams": {
        "in": "query",
        "name": "AuthDiscoverParams",
        "schema": {
          "$ref": "#/components/schemas/AuthDiscoverParams"
        },
        "explode": true
      }
    },
    "schemas": {
      "AuthDiscoverRequest": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "user_email": {
                "type": "string",
                "format": "email",
                "description": "The email of the user wishing to log in. If the auth discovery\nrequest also includes an acct_id query parameter, this field\nwill be effectively ignored."
              }
            }
          }
        ]
      },
      "AuthMethod": {
        "oneOf": [
          {
            "$ref": "#/components/schemas/AuthMethodVariantPassword"
          },
          {
            "$ref": "#/components/schemas/AuthMethodVariantSamlPost"
          },
          {
            "$ref": "#/components/schemas/AuthMethodVariantOauthAuthCodeGrant"
          },
          {
            "$ref": "#/components/schemas/AuthMethodVariantLdapPassword"
          },
          {
            "$ref": "#/components/schemas/AuthMethodVariantVcd"
          }
        ],
        "discriminator": {
          "propertyName": "method",
          "mapping": {
            "password": "AuthMethodVariantPassword",
            "saml-post": "AuthMethodVariantSamlPost",
            "oauth-auth-code-grant": "AuthMethodVariantOauthAuthCodeGrant",
            "ldap-password": "AuthMethodVariantLdapPassword",
            "vcd": "AuthMethodVariantVcd"
          }
        }
      },
      "AuthDiscoverParams": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "acct_id": {
                "type": "string",
                "format": "uuid",
                "description": "The account for which the user wishes to discover authentication mechanisms.\nNote that if specified, the user_email field in an AuthDiscoverRequest will\nbe ignored."
              }
            }
          }
        ]
      },
      "AuthMethodVariantPassword": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "password"
                ]
              }
            },
            "required": [
              "method"
            ]
          },
          {
            "type": "object",
            "properties": {}
          }
        ]
      },
      "AuthMethodVariantSamlPost": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "saml-post"
                ]
              }
            },
            "required": [
              "method"
            ]
          },
          {
            "$ref": "#/components/schemas/AuthMethodSamlPost"
          }
        ]
      },
      "AuthMethodVariantOauthAuthCodeGrant": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "oauth-auth-code-grant"
                ]
              }
            },
            "required": [
              "method"
            ]
          },
          {
            "$ref": "#/components/schemas/AuthMethodOauthAuthCodeGrant"
          }
        ]
      },
      "AuthMethodVariantLdapPassword": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "ldap-password"
                ]
              }
            },
            "required": [
              "method"
            ]
          },
          {
            "$ref": "#/components/schemas/AuthMethodLdapPassword"
          }
        ]
      },
      "AuthMethodVariantVcd": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "vcd"
                ]
              }
            },
            "required": [
              "method"
            ]
          },
          {
            "$ref": "#/components/schemas/AuthMethodVcd"
          }
        ]
      },
      "AuthMethodSamlPost": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "icon_url": {
                "type": "string"
              },
              "id": {
                "type": "string"
              },
              "binding_url": {
                "type": "string"
              },
              "authn_request": {
                "type": "string"
              },
              "idp_id": {
                "type": "string",
                "format": "byte"
              }
            },
            "required": [
              "name",
              "icon_url",
              "id",
              "binding_url",
              "authn_request",
              "idp_id"
            ]
          }
        ]
      },
      "AuthMethodOauthAuthCodeGrant": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "icon_url": {
                "type": "string"
              },
              "authorization_url": {
                "type": "string"
              },
              "client_id": {
                "type": "string"
              },
              "redirect_uri": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "idp_id": {
                "type": "string",
                "format": "byte"
              },
              "auth_params": {
                "$ref": "#/components/schemas/OauthAuthenticationParameters"
              }
            },
            "required": [
              "name",
              "icon_url",
              "authorization_url",
              "client_id",
              "redirect_uri",
              "state",
              "idp_id",
              "auth_params"
            ]
          }
        ]
      },
      "AuthMethodLdapPassword": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "icon_url": {
                "type": "string"
              },
              "idp_id": {
                "type": "string",
                "format": "byte"
              }
            },
            "required": [
              "name",
              "icon_url",
              "idp_id"
            ]
          }
        ]
      },
      "AuthMethodVcd": {
        "allOf": [
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "authorization_url": {
                "type": "string"
              },
              "idp_id": {
                "type": "string",
                "format": "byte"
              }
            },
            "required": [
              "name",
              "authorization_url",
              "idp_id"
            ]
          }
        ]
      },
      "OauthAuthenticationParameters": {
        "allOf": [
          {
            "type": "object",
            "description": "Parameters for the OpenID Connect Authentication Request\nhttps://openid.net/specs/openid-connect-core-1_0.html#AuthRequest",
            "properties": {
              "prompt": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/OauthAuthParamPrompt"
                },
                "nullable": true,
                "description": "Specifies whether the Authorization Server prompts the End-User for reauthentication and consent"
              },
              "display": {
                "$ref": "#/components/schemas/OauthAuthParamDisplay"
              },
              "max_age": {
                "type": "integer",
                "nullable": true,
                "description": "Specifies the allowable elapsed time in seconds since the last time the End-User was actively authenticated by the OP.\nIf the elapsed time is greater than this value, the OP MUST attempt to actively re-authenticate the End-User"
              }
            }
          }
        ]
      },
      "OauthAuthParamPrompt": {
        "description": "Corresponds to the `prompt` parameter in\nhttps://openid.net/specs/openid-connect-core-1_0.html#AuthRequest",
        "type": "string",
        "enum": [
          "login",
          "none",
          "consent",
          "select_account"
        ]
      },
      "OauthAuthParamDisplay": {
        "description": "Corresponds to the `display` parameter in\nhttps://openid.net/specs/openid-connect-core-1_0.html#AuthRequest",
        "type": "string",
        "enum": [
          "page",
          "popup",
          "touch",
          "wap"
        ]
      }
    }
  }
}
````

