Stytch · Arazzo Workflow

Stytch Password Reset by Email

Version 1.0.0

Start an email password reset, complete it with the token, and read the new session.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub AuthenticationIdentityPasswordlessSecurityB2BConnected AppsMCPAI AgentsDeveloper ToolsArazzoWorkflows

Provider

stytch

Workflows

password-reset-email
Email a reset link, set the new password with the token, and verify the session.
Sends a password reset email, completes the reset by exchanging the emailed token and the new password for a session, then reads the active sessions for the user.
3 steps inputs: email, password, reset_password_redirect_url, session_duration_minutes, token outputs: sessionJwt, sessionToken, userId
1
startReset
Start a password reset by emailing the user a reset link, returning the user_id and email_id targeted by the reset.
2
completeReset
Complete the password reset by submitting the emailed token and the new password, minting a fresh session in the process.
3
getSession
Read the active sessions for the user to confirm the reset signed them in.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Stytch Password Reset by Email
  summary: Start an email password reset, complete it with the token, and read the new session.
  description: >-
    A self-service password recovery flow for consumer apps. The workflow starts
    a password reset by emailing the user a reset link, completes the reset using
    the token from that link together with the new password, and then reads the
    resulting session back to confirm the user is signed in. Every step spells
    out its request inline so the flow can be read and executed without opening
    the underlying OpenAPI description. All calls authenticate with HTTP Basic
    auth using your Stytch project_id as the username and secret as the password.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-620.20
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-620.20
      capability_name: Identity & Access Management
      spec: stytch-session-api-openapi.yml
      confidence: 0.8
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: passwordsApi
  url: ../openapi/stytch-passwords-api-openapi.yml
  type: openapi
- name: sessionApi
  url: ../openapi/stytch-session-api-openapi.yml
  type: openapi
workflows:
- workflowId: password-reset-email
  summary: Email a reset link, set the new password with the token, and verify the session.
  description: >-
    Sends a password reset email, completes the reset by exchanging the emailed
    token and the new password for a session, then reads the active sessions for
    the user.
  inputs:
    type: object
    required:
    - email
    - token
    - password
    properties:
      email:
        type: string
        description: The email address of the account to reset the password for.
      reset_password_redirect_url:
        type: string
        description: The URL the user is redirected to after clicking the reset link.
      token:
        type: string
        description: The password reset token extracted from the emailed reset link.
      password:
        type: string
        description: The new plaintext password to set on the account.
      session_duration_minutes:
        type: integer
        description: Optional session lifetime in minutes for the authenticated session.
  steps:
  - stepId: startReset
    description: >-
      Start a password reset by emailing the user a reset link, returning the
      user_id and email_id targeted by the reset.
    operationId: api_password_v1_passwords_email_ResetStart
    requestBody:
      contentType: application/json
      payload:
        email: $inputs.email
        reset_password_redirect_url: $inputs.reset_password_redirect_url
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
      emailId: $response.body#/email_id
  - stepId: completeReset
    description: >-
      Complete the password reset by submitting the emailed token and the new
      password, minting a fresh session in the process.
    operationId: api_password_v1_passwords_email_Reset
    requestBody:
      contentType: application/json
      payload:
        token: $inputs.token
        password: $inputs.password
        session_duration_minutes: $inputs.session_duration_minutes
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      userId: $response.body#/user_id
      sessionToken: $response.body#/session_token
      sessionJwt: $response.body#/session_jwt
  - stepId: getSession
    description: >-
      Read the active sessions for the user to confirm the reset signed them in.
    operationId: api_session_v1_Get
    parameters:
    - name: user_id
      in: query
      value: $steps.completeReset.outputs.userId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      sessions: $response.body#/sessions
  outputs:
    userId: $steps.completeReset.outputs.userId
    sessionToken: $steps.completeReset.outputs.sessionToken
    sessionJwt: $steps.completeReset.outputs.sessionJwt

Work with this as data

Every workflow 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 arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow 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 workflow
curl "https://apis.io/api/v1/arazzo/stytch-password-reset-email-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?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.