RunWhen Users API

The users API from RunWhen — 17 operation(s) for users.

Operations 18

POST /api/v3/users/register Register a new user account #
POST /api/v3/users/verify-email Verify email address via token #
POST /api/v3/users/resend-verification Resend verification email #
POST /api/v3/users/forgot-password Request a password reset email #
POST /api/v3/users/reset-password Reset password using a token #
GET /api/v3/users/csrf-token Get CSRF token #
POST /api/v3/users/login Login with username and password #
POST /api/v3/users/logout Logout (invalidate session) #
GET /api/v3/users/whoami Get current user info #
GET /api/v3/users/search Search users by name or email #
GET /api/v3/users/search-email Search users by exact email #
GET /api/v3/users/get-token Get access token for API usage #
GET /api/v3/users/my-network Get users in current user's network #
GET /api/v3/users/{user_id} Get user by ID #
PATCH /api/v3/users/{user_id} Update user details #
GET /api/v3/users/{user_id}/activeworkspaces Get user's active workspaces #
GET /api/v3/users/{user_id}/activities/count Get count of user's activities #
GET /api/v3/users/{user_id}/activities Get user's activity stream #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/runwhen-users-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

runwhen-users-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: papi Users API
  description: RunWhen Platform API
  version: 2.0.0
tags:
- name: Users
paths:
  /api/v3/users/register:
    post:
      tags:
      - Users
      summary: Register a new user account
      description: 'Create a new user account and send a verification email.


        Args:

        data: Registration details (username, email, password).

        session: Database session.


        Returns:

        The created user''s basic info with a confirmation message.


        Raises:

        HTTPException: 409 if username or email already exists.'
      operationId: register_api_v3_users_register_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegisterResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v3/users/verify-email:
    post:
      tags:
      - Users
      summary: Verify email address via token
      description: 'Verify a user''s email address using a signed token.


        Args:

        data: The verification token.

        session: Database session.


        Returns:

        Confirmation message.


        Raises:

        HTTPException: 400 if token is invalid or expired.'
      operationId: verify_email_api_v3_users_verify_email_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VerifyEmailRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v3/users/resend-verification:
    post:
      tags:
      - Users
      summary: Resend verification email
      description: 'Resend verification email for an unverified account.


        Always returns 200 with a generic message to prevent email enumeration.'
      operationId: resend_verification_api_v3_users_resend_verification_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForgotPasswordRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/forgot-password:
    post:
      tags:
      - Users
      summary: Request a password reset email
      description: 'Send a password reset email if the email exists.


        Always returns 200 with a generic message to prevent email enumeration.


        Args:

        data: The email address to send the reset link to.

        session: Database session.


        Returns:

        Generic confirmation message (regardless of whether the email exists).'
      operationId: forgot_password_api_v3_users_forgot_password_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ForgotPasswordRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v3/users/reset-password:
    post:
      tags:
      - Users
      summary: Reset password using a token
      description: 'Reset a user''s password using a signed, one-time-use token.


        Args:

        data: The reset token and new password.

        session: Database session.


        Returns:

        Confirmation message.


        Raises:

        HTTPException: 400 if token is invalid, expired, or already consumed.'
      operationId: reset_password_api_v3_users_reset_password_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResetPasswordRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v3/users/csrf-token:
    get:
      tags:
      - Users
      summary: Get CSRF token
      description: 'Get a CSRF token for cross-domain requests.


        This endpoint is provided for UI compatibility. With JWT-based

        authentication, CSRF tokens are not strictly necessary since

        the auth token is sent in the Authorization header (not cookies).


        However, the frontend may still expect this endpoint to exist.


        Returns:

        A CSRF token.'
      operationId: get_csrf_token_api_v3_users_csrf_token_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CsrfTokenResponse'
      security: []
  /api/v3/users/login:
    post:
      tags:
      - Users
      summary: Login with username and password
      description: 'Authenticate user with username and password.


        Args:

        data: Login credentials.

        session: Database session.


        Returns:

        Access and refresh tokens with user info.


        Raises:

        HTTPException: 401 if credentials invalid.'
      operationId: login_api_v3_users_login_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LoginRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security: []
  /api/v3/users/logout:
    post:
      tags:
      - Users
      summary: Logout (invalidate session)
      description: 'Logout the current user.


        Clears the JWT cookie so browser-based sessions are terminated immediately.'
      operationId: logout_api_v3_users_logout_post
      responses:
        '204':
          description: Successful Response
      security:
      - BearerAuth: []
  /api/v3/users/whoami:
    get:
      tags:
      - Users
      summary: Get current user info
      description: 'Get information about the currently logged in user.


        Args:

        current_user: The authenticated user.


        Returns:

        The current user''s information.'
      operationId: whoami_api_v3_users_whoami_get
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
      security:
      - BearerAuth: []
  /api/v3/users/search:
    get:
      tags:
      - Users
      summary: Search users by name or email
      description: 'Search users by first name, last name, username, or email.


        Returns empty list if search term is less than 3 characters.

        Excludes service accounts from results.


        Staff-only for general search (matching Django IsAdminUser).

        Non-staff users may search within an anonymous workspace (returns only

        anonymized results).'
      operationId: search_users_api_v3_users_search_get
      parameters:
      - name: q
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Search term
          title: Q
        description: Search term
      - name: workspace
        in: query
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          description: Workspace name for anonymous mode
          title: Workspace
        description: Workspace name for anonymous mode
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserSearchResponse'
                title: Response Search Users Api V3 Users Search Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/search-email:
    get:
      tags:
      - Users
      summary: Search users by exact email
      description: 'Search users by exact email address match.


        Returns matching users and list of emails not found.

        Used for mapping git contributors to user accounts.


        Note: Accepts both `q` and `q[]` query parameter formats for compatibility

        with different frontend frameworks.'
      operationId: search_users_by_email_api_v3_users_search_email_get
      parameters:
      - name: q[]
        in: query
        required: false
        schema:
          type: array
          items:
            type: string
          description: Email addresses to search
          default: []
          title: Q[]
        description: Email addresses to search
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserSearchEmailResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/get-token:
    get:
      tags:
      - Users
      summary: Get access token for API usage
      description: 'Generate an access token for the current user.


        The token can be used for API authentication with Bearer scheme.'
      operationId: get_token_api_v3_users_get_token_get
      parameters:
      - name: days
        in: query
        required: false
        schema:
          type: integer
          maximum: 365
          minimum: 1
          description: Token lifetime in days
          default: 1
          title: Days
        description: Token lifetime in days
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserTokenResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/my-network:
    get:
      tags:
      - Users
      summary: Get users in current user's network
      description: 'Get users who share workspaces with the current user.


        Workspace name to scope results to (required).

        Returns users who have permissions on the specified workspace.

        Useful for autocomplete/mentions.


        Args:

        workspace: Workspace name to scope results to (required).

        current_user: The authenticated user.

        session: Database session.


        Returns:

        List of users in the current user''s network.'
      operationId: get_my_network_api_v3_users_my_network_get
      parameters:
      - name: workspace
        in: query
        required: true
        schema:
          type: string
          description: Workspace name (required)
          title: Workspace
        description: Workspace name (required)
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserNetworkResponse'
                title: Response Get My Network Api V3 Users My Network Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/{user_id}:
    get:
      tags:
      - Users
      summary: Get user by ID
      description: 'Get a user by their ID.


        Args:

        user_id: The ID of the user to retrieve.

        session: Database session.

        current_user: The authenticated user (required for auth).


        Returns:

        The user information.


        Raises:

        HTTPException: 404 if user not found.'
      operationId: get_user_api_v3_users__user_id__get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: integer
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
    patch:
      tags:
      - Users
      summary: Update user details
      description: 'Update user details.


        Users can only update their own profile. Admins can update any user.


        Args:

        user_id: The ID of the user to update.

        update_data: The fields to update.

        current_user: The authenticated user.

        session: Database session.


        Returns:

        The updated user information.


        Raises:

        HTTPException: 403 if trying to update another user''s profile.

        HTTPException: 404 if user not found.'
      operationId: update_user_api_v3_users__user_id__patch
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: integer
          title: User Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/{user_id}/activeworkspaces:
    get:
      tags:
      - Users
      summary: Get user's active workspaces
      description: 'Get workspaces sorted by user''s activity count.


        Args:

        user_id: The user ID.

        session: Database session.

        current_user: The authenticated user.


        Returns:

        List of workspaces with activity counts.'
      operationId: get_user_active_workspaces_api_v3_users__user_id__activeworkspaces_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: integer
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserActiveWorkspacesResponse'
                title: Response Get User Active Workspaces Api V3 Users  User Id  Activeworkspaces Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/{user_id}/activities/count:
    get:
      tags:
      - Users
      summary: Get count of user's activities
      description: 'Get the count of activities for a user (heatmap data).


        Returns a list of date/count pairs for generating activity heatmaps.


        Args:

        user_id: The user ID.

        session: Database session.

        current_user: The authenticated user.


        Returns:

        List of date/count pairs.'
      operationId: get_user_activities_count_api_v3_users__user_id__activities_count_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: integer
          title: User Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/UserActivitiesCountResponse'
                title: Response Get User Activities Count Api V3 Users  User Id  Activities Count Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
  /api/v3/users/{user_id}/activities:
    get:
      tags:
      - Users
      summary: Get user's activity stream
      description: 'Get activity stream for a user.


        Args:

        user_id: The user ID.

        page: Page number.

        page_size: Items per page.

        session: Database session.

        current_user: The authenticated user.


        Returns:

        List of activities.'
      operationId: get_user_activities_api_v3_users__user_id__activities_get
      parameters:
      - name: user_id
        in: path
        required: true
        schema:
          type: integer
          title: User Id
      - name: page
        in: query
        required: false
        schema:
          type: integer
          minimum: 1
          default: 1
          title: Page
      - name: page-size
        in: query
        required: false
        schema:
          type: integer
          maximum: 100
          minimum: 1
          default: 20
          title: Page-Size
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  additionalProperties: true
                title: Response Get User Activities Api V3 Users  User Id  Activities Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - BearerAuth: []
components:
  schemas:
    MessageResponse:
      properties:
        message:
          type: string
          title: Message
      type: object
      required:
      - message
      title: MessageResponse
      description: Generic message response.
    UserNetworkResponse:
      properties:
        id:
          type: integer
          title: Id
        username:
          type: string
          title: Username
        primaryEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Primaryemail
        fullName:
          anyOf:
          - type: string
          - type: 'null'
          title: Fullname
        avatarUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatarurl
      type: object
      required:
      - id
      - username
      title: UserNetworkResponse
      description: Response schema for users in the current user's network.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    RegisterResponse:
      properties:
        id:
          type: integer
          title: Id
        username:
          type: string
          title: Username
        email:
          type: string
          title: Email
        message:
          type: string
          title: Message
      type: object
      required:
      - id
      - username
      - email
      - message
      title: RegisterResponse
      description: User registration response.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    UserResponse:
      properties:
        id:
          type: integer
          title: Id
        username:
          type: string
          title: Username
        email:
          anyOf:
          - type: string
          - type: 'null'
          title: Email
        primaryEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Primaryemail
          description: Alias for email, for UI compatibility
        firstName:
          type: string
          title: Firstname
          default: ''
        lastName:
          type: string
          title: Lastname
          default: ''
        fullName:
          anyOf:
          - type: string
          - type: 'null'
          title: Fullname
        avatarUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatarurl
        liveAvatarUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Liveavatarurl
        groups:
          items:
            $ref: '#/components/schemas/GroupResponse'
          type: array
          title: Groups
        provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider
        escalationMessage:
          anyOf:
          - type: string
          - type: 'null'
          title: Escalationmessage
        optOutPublicGroup:
          type: boolean
          title: Optoutpublicgroup
          default: false
        isActive:
          type: boolean
          title: Isactive
          default: true
        isStaff:
          type: boolean
          title: Isstaff
          default: false
        isSuperuser:
          type: boolean
          title: Issuperuser
          default: false
        isServiceAccount:
          type: boolean
          title: Isserviceaccount
          default: false
      type: object
      required:
      - id
      - username
      title: UserResponse
      description: User response schema matching Django's UserSerializer.
    UserSearchEmailResponse:
      properties:
        users:
          items:
            $ref: '#/components/schemas/UserSearchResponse'
          type: array
          title: Users
        notFound:
          items:
            type: string
          type: array
          title: Notfound
      type: object
      required:
      - users
      title: UserSearchEmailResponse
      description: Response for email search including not found emails.
    GroupResponse:
      properties:
        id:
          type: integer
          title: Id
        name:
          type: string
          title: Name
      type: object
      required:
      - id
      - name
      title: GroupResponse
      description: Minimal group info returned inside UserResponse.
    UserUpdateRequest:
      properties:
        primaryEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Primaryemail
        firstName:
          anyOf:
          - type: string
          - type: 'null'
          title: Firstname
        lastName:
          anyOf:
          - type: string
          - type: 'null'
          title: Lastname
        avatarUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatarurl
        escalationMessage:
          anyOf:
          - type: string
          - type: 'null'
          title: Escalationmessage
        optOutPublicGroup:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Optoutpublicgroup
      type: object
      title: UserUpdateRequest
      description: 'Request schema for updating user details.


        Accepts both camelCase (from UI) and snake_case field names.'
    LoginResponse:
      properties:
        access:
          type: string
          title: Access
        refresh:
          type: string
          title: Refresh
        user:
          $ref: '#/components/schemas/UserResponse'
      type: object
      required:
      - access
      - refresh
      - user
      title: LoginResponse
      description: Login response with tokens.
    UserTokenResponse:
      properties:
        access:
          type: string
          title: Access
        lifetime:
          type: string
          title: Lifetime
      type: object
      required:
      - access
      - lifetime
      title: UserTokenResponse
      description: Response for token generation.
    UserActiveWorkspacesResponse:
      properties:
        workspaceName:
          type: string
          title: Workspacename
        count:
          type: integer
          title: Count
      type: object
      required:
      - workspaceName
      - count
      title: UserActiveWorkspacesResponse
      description: Response for user's active workspaces with activity count.
    LoginRequest:
      properties:
        username:
          type: string
          title: Username
        password:
          type: string
          title: Password
      type: object
      required:
      - username
      - password
      title: LoginRequest
      description: Username/password login request.
    UserSearchResponse:
      properties:
        id:
          type: integer
          title: Id
        username:
          type: string
          title: Username
        primaryEmail:
          anyOf:
          - type: string
          - type: 'null'
          title: Primaryemail
        firstName:
          type: string
          title: Firstname
          default: ''
        lastName:
          type: string
          title: Lastname
          default: ''
        fullName:
          anyOf:
          - type: string
          - type: 'null'
          title: Fullname
        avatarUrl:
          anyOf:
          - type: string
          - type: 'null'
          title: Avatarurl
        isActive:
          type: boolean
          title: Isactive
          default: true
        isServiceAccount:
          type: boolean
          title: Isserviceaccount
          default: false
      type: object
      required:
      - id
      - username
      title: UserSearchResponse
      description: Response for user search results.
    UserActivitiesCountResponse:
      properties:
        date:
          type: string
          title: Date
        count:
          type: integer
          title: Count
      type: object
      required:
      - date
      - count
      title: UserActivitiesCountResponse
      description: Response for user activities count (heatmap data).
    ForgotPasswordRequest:
      properties:
        email:
          type: string
          format: email
          title: Email
      type: object
      required:
      - email
      title: ForgotPasswordRequest
      description: Forgot password request.
    CsrfTokenResponse:
      properties:
        csrfToken:
          type: string
          title: Csrftoken
      type: object
      required:
      - csrfToken
      title: CsrfTokenResponse
      description: CSRF token response.
    RegisterRequest:
      properties:
        username:
          anyOf:
          - type: string
            maxLength: 150
            minLength: 3
          - type: 'null'
          title: Username
        email:
          type: string
          format: email
          title: Email
        password:
          type: string
          maxLength: 128
          minLength: 8
          title: Password
        confirm_password:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Confirm Password
        first_name:
          type: string
          maxLength: 100
          title: First Name
          default: ''
        last_name:
          type: string
          maxLength: 100
          title: Last Name
          default: ''
      type: object
      required:
      - email
      - password
      title: RegisterRequest
      description: User registration request.
    ResetPasswordRequest:
      properties:
        token:
          type: string
          title: Token
        password:
          anyOf:
          - type: string
            maxLength: 128
            minLength: 8
          - type: 'null'
          title: Password
        new_password:
          anyOf:
          - type: string
            maxLength: 128
            minLength: 8
          - type: 'null'
          title: New Password
        confirm_password:
          anyOf:
          - type: string
            maxLength: 128
          - type: 'null'
          title: Confirm Password
      type: object
      required:
      - token
      title: ResetPasswordRequest
      description: 'Password reset request.


        Accepts both ''password'' (frontend sends this) and ''new_password'' for

        backward compatibility.'
    VerifyEmailRequest:
      properties:
        token:
          type: string
          title: Token
      type: object
      required:
      - token
      title: VerifyEmailRequest
      description: Email verification request.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT access token from /api/v3/token/ or Auth0 login