Stytch · Schema

api_otp_v1_AuthenticateRequest

Request type

AuthenticationIdentityPasswordlessSecurityB2BConnected AppsMCPAI AgentsDeveloper Tools

Properties

Name Type Description
method_id string The `email_id` or `phone_id` involved in the given authentication.
code string The code to authenticate.
attributes object Provided attributes to help with fraud detection. These values are pulled and passed into Stytch endpoints by your application.
options object Specify optional security settings.
session_token string The `session_token` associated with a User's existing Session.
session_duration_minutes integer Set the session lifetime to be this many minutes from now. This will start a new session if one doesn't already exist, returning both an opaque `session_token` and `session_jwt` for this session. Reme
session_jwt string The `session_jwt` associated with a User's existing Session.
session_custom_claims object Add a custom claims map to the Session being authenticated. Claims are only created if a Session is initialized by providing a value in `session_duration_minutes`. Claims will be included on the Sessi
telemetry_id string If the `telemetry_id` is passed, as part of this request, Stytch will call the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) and store the associated fingerprints and
View JSON Schema on GitHub

JSON Schema

stytch-api-otp-v1-authenticaterequest-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/api_otp_v1_AuthenticateRequest",
  "title": "api_otp_v1_AuthenticateRequest",
  "type": "object",
  "properties": {
    "method_id": {
      "type": "string",
      "description": "The `email_id` or `phone_id` involved in the given authentication."
    },
    "code": {
      "type": "string",
      "description": "The code to authenticate."
    },
    "attributes": {
      "$ref": "#/components/schemas/api_attribute_v1_Attributes",
      "description": "Provided attributes to help with fraud detection. These values are pulled and passed into Stytch endpoints by your application."
    },
    "options": {
      "$ref": "#/components/schemas/api_magic_v1_Options",
      "description": "Specify optional security settings."
    },
    "session_token": {
      "type": "string",
      "description": "The `session_token` associated with a User's existing Session."
    },
    "session_duration_minutes": {
      "type": "integer",
      "format": "int32",
      "description": "Set the session lifetime to be this many minutes from now. This will start a new session if one doesn't already exist,\n  returning both an opaque `session_token` and `session_jwt` for this session. Remember that the `session_jwt` will have a fixed lifetime of\n  five minutes regardless of the underlying session duration, and will need to be refreshed over time.\n\n  This value must be a minimum of 5 and a maximum of 527040 minutes (366 days).\n\n  If a `session_token` or `session_jwt` is provided then a successful authentication will continue to extend the session this many minutes.\n\n  If the `session_duration_minutes` parameter is not specified, a Stytch session will not be created."
    },
    "session_jwt": {
      "type": "string",
      "description": "The `session_jwt` associated with a User's existing Session."
    },
    "session_custom_claims": {
      "type": "object",
      "additionalProperties": true,
      "description": "Add a custom claims map to the Session being authenticated. Claims are only created if a Session is initialized by providing a value in `session_duration_minutes`. Claims will be included on the Session object and in the JWT. To update a key in an existing Session, supply a new value. To delete a key, supply a null value.\n\n  Custom claims made with reserved claims (\"iss\", \"sub\", \"aud\", \"exp\", \"nbf\", \"iat\", \"jti\") will be ignored. Total custom claims size cannot exceed four kilobytes."
    },
    "telemetry_id": {
      "type": "string",
      "description": "If the `telemetry_id` is passed, as part of this request, Stytch will call the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) and store the associated fingerprints and IPGEO information for the User. Your workspace must be enabled for Device Fingerprinting to use this feature."
    }
  },
  "description": "Request type",
  "required": [
    "method_id",
    "code"
  ]
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/stytch-api-otp-v1-authenticaterequest"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.