Convert Cookie Authentication API

In order to use the Convert app, user has two options to authenticate requests: * Provide authorization token with each request works best for backend systems * Authenticate once using username/password/IDP provider and than send session token together with each request These endpoints will handle second case. **IMPORTANT:** currently this is available only for Convert.com's own clients, all other third party clients need to authenticate using API KEY Authentication

Operations 5

POST /auth Authenticate user session (Cookie Based) #
POST /auth/forgotpassword Request password reset #
POST /auth/confirmpasswordreset Confirm new password after reset request #
POST /auth/logout Log out user session #
GET /auth/status Check authentication status #

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/convert-cookie-authentication-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

convert-cookie-authentication-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Convert Accounts Cookie Authentication API
  description: 'Move your app forward with the Convert API. The Convert API allows

    you to manage your Convert Experiences projects using code. The REST API is

    an interface for managing and extending functionality of Convert. For

    example, instead of creating and maintaining projects using the Convert

    Experiences web dashboard you can create an experiment programmatically.

    Additionally, if you prefer to run custom analysis on experiment results you

    can leverage the API to pull data from Convert Experiences into your own

    workflow. If you do not have a Convert account already, sign up for a free

    developer account at https://www.convert.com/api/.


    *[Convert API V1](/doc/v1) is still available and documentation can be found [here](/doc/v1) but using it is highly discouraged

    as it will be phased out in the future*

    '
  version: 2.0.0
servers:
- url: https://api.convert.com/api/v2
  description: Live API server
- url: https://apidev.convert.com/api/v2
  description: DEV API server
- url: http://apidev.convert.com:5000/api/v2
  description: DEV mocked API server
tags:
- name: Cookie Authentication
  description: 'In order to use the Convert app, user has two options to authenticate requests:

    * Provide authorization token with each request works best for backend systems

    * Authenticate once using username/password/IDP provider and than send session token together with each request

    These endpoints will handle second case.


    **IMPORTANT:** currently this is available only for Convert.com''s own clients, all other third party clients need to authenticate using API KEY Authentication

    '
paths:
  /auth:
    post:
      operationId: doAuth
      summary: Authenticate user session (Cookie Based)
      description: 'Initiates or continues a cookie-based authentication flow.

        Starts with username/password. If successful and MFA is not required, returns user data and sets a session cookie.

        If MFA is required, or a new password needs to be set, the response will indicate the next step and provide a sessionToken.

        This is primarily for UI interaction, LLMs should typically use API Key Authentication.

        '
      tags:
      - Cookie Authentication
      requestBody:
        $ref: '#/components/requestBodies/AuthRequest'
      responses:
        '200':
          $ref: '#/components/responses/AuthResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /auth/forgotpassword:
    post:
      operationId: requestForgotPassword
      summary: Request password reset
      description: 'Sends an email with a password reset link to the user associated with the provided email address, if an account exists.

        This is part of the cookie-based authentication flow.

        '
      tags:
      - Cookie Authentication
      requestBody:
        $ref: '#/components/requestBodies/ForgotPasswordRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
  /auth/confirmpasswordreset:
    post:
      operationId: confirmPasswordReset
      summary: Confirm new password after reset request
      description: 'Completes the password reset process. The user provides the new password and the confirmation code received via email.

        This is part of the cookie-based authentication flow.

        '
      tags:
      - Cookie Authentication
      requestBody:
        $ref: '#/components/requestBodies/ResetPasswordConfirmRequest'
      responses:
        '200':
          $ref: '#/components/responses/AuthResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /auth/logout:
    post:
      operationId: doLogout
      summary: Log out user session
      description: 'Invalidates the current authenticated user session (cookie-based).

        Can also be used to log out other or all sessions for the user.

        '
      tags:
      - Cookie Authentication
      requestBody:
        $ref: '#/components/requestBodies/LogoutRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /auth/status:
    get:
      operationId: getAuthStatus
      summary: Check authentication status
      description: 'Verifies if the current cookie-based session is still valid and authenticated.

        '
      tags:
      - Cookie Authentication
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    ProjectHistoryPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/ProjectHistoryFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/ProjectHistoryColumnNames'
    KnowledgeBasesListPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/KnowledgeBasesListFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/KnowledgeBasesListColumnNames'
    ExperienceHistoryObjects:
      type: string
      enum:
      - report
      - variation
      - change
    ObservationsListFilteringOptions:
      allOf:
      - $ref: '#/components/schemas/ResultsPerPage'
      - $ref: '#/components/schemas/SortDirection'
      - type: object
        properties:
          sort_by:
            type: string
            nullable: true
            default: name
            description: 'A value to sort observations by specific field(s)


              Defaults to **name** if not provided

              '
            enum:
            - name
            - created_by
            - date_added
            - status
          search:
            type: string
            maxLength: 200
            nullable: true
            description: A search string that would be used to search against observation's name or description
          status:
            type: array
            nullable: true
            description: The status of the observations you'd like to be returned; one of the below can be provided
            items:
              $ref: '#/components/schemas/ObservationStatuses'
          tags:
            type: array
            nullable: true
            description: The list of tag ID's used to filter the list of returned observations
            items:
              type: integer
          only:
            description: 'Only retrieve observations with the given ids.

              '
            type: array
            nullable: true
            items:
              type: integer
            maxItems: 100
          except:
            description: 'Except observations with the given ids.

              '
            type: array
            items:
              type: integer
            maxItems: 100
    ObservationStatuses:
      description: 'The current status of an observation in its lifecycle:

        - `active`: The observation is current, under consideration, or being actively discussed. This is the default for new observations.

        - `archived`: The observation has been reviewed and is no longer actively being pursued (e.g., deemed not actionable, superseded, or already addressed). It''s kept for historical records.

        Knowledge Base: "Observations Feature Guide" - "Status Management".

        '
      type: string
      enum:
      - active
      - archived
      default: active
    ChangeHistoryObjects:
      type: string
      enum:
      - audience
      - feature
      - domain
      - goal
      - hypothesis
      - experience
      - tag
      - location
    ReportingSegmentsCustomSegment:
      description: 'The numerical ID of a custom Convert Audience (of type ''segmentation'') that the visitor is a member of.

        Allows report segmentation based on predefined custom segments (e.g., "High-Value Customers", "Engaged Users").

        Knowledge Base: "Create Custom Segments".

        '
      type: integer
    InitiatePasswordAuthRequestData:
      allOf:
      - $ref: '#/components/schemas/AuthRequestDataBase'
      - type: object
        properties:
          requestType:
            type: string
            enum:
            - initiatePasswordAuth
          data:
            $ref: '#/components/schemas/PasswordAuthData'
    ResetPasswordConfirmRequestData:
      type: object
      required:
      - newPassword
      - confirmNewPassword
      - code
      properties:
        authSub:
          description: '(Deprecated or Internal) An internal user identifier, typically part of the password reset link sent via email. The `token` or `code` is usually the primary field.

            '
          type: string
        code:
          description: 'The password reset confirmation code received by the user via email. This code verifies the reset request.

            '
          type: string
        newPassword:
          description: 'The new password chosen by the user. Must meet system complexity requirements. Maximum length is 99 characters.

            '
          type: string
        confirmNewPassword:
          description: 'Confirmation of the new password. Must exactly match the `newPassword` field. Maximum length is 99 characters.

            '
          type: string
        token:
          description: '(Deprecated or Alternative) A password reset token, possibly sent as part of the reset link. The `code` field is often the primary verification.

            '
          type: string
    ProjectHistoryColumnNames:
      type: string
      description: Available columns for the project change history log in the UI.
      enum:
      - timestamp
      - object_id
      - event
      - object
      - method
      - more_info
    UserLoginProviders:
      type: string
      description: 'The identity provider used for user login:

        - `convert`: Standard username/password authentication managed by Convert.

        - `google`: Authentication via Google Sign-In (OAuth/OIDC).

        '
      enum:
      - convert
      - google
    SortDirection:
      type: object
      properties:
        sort_direction:
          type: string
          nullable: true
          default: desc
          description: 'The direction for sorting the list results, based on the `sort_by` field.

            - `asc`: Ascending order (e.g., A-Z, 1-10, oldest to newest).

            - `desc`: Descending order (e.g., Z-A, 10-1, newest to oldest).

            Defaults to `desc` (newest/highest first) if not specified.

            '
          enum:
          - asc
          - desc
    ExperienceStatuses:
      type: string
      enum:
      - draft
      - active
      - paused
      - completed
      - scheduled
      - archived
      - deleted
    GoalStatuses:
      type: string
      description: 'The current status of a goal:

        - `active`: The goal is active and will track conversions for experiences it''s attached to.

        - `archived`: The goal is archived and will not track new conversions. Its historical data remains accessible in reports for experiences that previously used it. Archived goals can often be cloned or unarchived.

        Knowledge Base: "Benefits of Archiving Unused Goals, Locations, and Audiences."

        '
      enum:
      - active
      - archived
    FeaturesListColumnNames:
      type: string
      description: Available columns for the features list in the UI.
      enum:
      - name
      - id
      - key
      - status
    ExperienceReportSecondViewPersistentOptions:
      allOf:
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/ExperienceReportSecondViewColumnNames'
    UserData:
      type: object
      description: Detailed information about an authenticated user, including their profile, UI preferences, and security settings.
      properties:
        profileData:
          type: object
          properties:
            email:
              type: string
              description: The user's primary email address, used for login and communication.
            firstName:
              type: string
              description: The user's first name.
            lastName:
              type: string
              description: The user's last name.
            login_provider:
              $ref: '#/components/schemas/UserLoginProviders'
            user_id:
              type: string
              readOnly: true
              description: The unique system-generated identifier for this user within Convert.
            intercom_user_jwt:
              type: string
              readOnly: true
              description: (Internal) JWT used to authenticate the user in Intercom Messenger.
            reditus_user_jwt:
              type: string
              readOnly: true
              description: (Internal) JWT used to authenticate the user in Reditus.
            canny_user_jwt:
              type: string
              readOnly: true
              description: (Internal) JWT used to authenticate the user in Canny.
            canSudo:
              type: boolean
              readOnly: true
              description: (Internal) If true, this user has super-administrator privileges, allowing them to impersonate other users or access all accounts for support purposes.
            onlyCollaborator:
              type: boolean
              readOnly: true
              description: If true, this user does not own any accounts themselves but only has access to other accounts as a collaborator.
            persona:
              type: string
              readOnly: true
              description: (Internal) A classification of the user's persona (e.g., "Marketer", "Developer", "Agency") used by Convert to tailor the UI or offer relevant guidance.
            techPerson:
              type: boolean
              readOnly: true
              description: (Internal) If true, indicates the user is likely technically proficient, which might influence UI hints or available advanced features.
        preferences:
          $ref: '#/components/schemas/UserPreferences'
        isSudo:
          type: boolean
          description: (Internal) If true, indicates the user is currently operating in "sudo" (super-administrator impersonation) mode.
        mfa_backup_codes:
          type: array
          description: '(Not Implemented / For Future Use) A list of one-time backup codes for Multi-Factor Authentication (MFA).

            These would be provided when MFA is enabled and can be used if the primary MFA device is unavailable.

            '
    KnowledgeBasesListColumnNames:
      type: string
      description: Available columns for the Knowledge Base list in the UI.
      enum:
      - name
      - status
      - created_by
      - updated_at
    ReportingSegmentsFilters:
      type: object
      description: 'A collection of filters used to segment experience report data based on various visitor attributes and traffic sources.

        Applying these filters allows for deeper analysis of how different user groups interact with experience variations.

        Knowledge Base: "Using Basic and Advanced Post segmentation".

        '
      properties:
        devices:
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsDeviceCategories'
          nullable: true
        browsers:
          description: Filter report data for visitors using one or more specified web browsers.
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsBrowser'
          nullable: true
        countries:
          description: Filter report data for visitors from one or more specified countries (using 2-letter ISO codes).
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsCountry'
          nullable: true
        visitor_types:
          description: Filter report data for 'new' or 'returning' visitors.
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsVisitorType'
          nullable: true
        campaigns:
          description: Filter report data for visitors attributed to one or more specified marketing campaign names (from `utm_campaign`).
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsCampaign'
          nullable: true
        custom_segments:
          description: Filter report data for visitors belonging to one or more specified custom Convert Audience segments (by segment ID).
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsCustomSegment'
          nullable: true
        sources:
          description: Filter report data for visitors from one or more specified traffic sources (e.g., 'direct', 'search', 'referral').
          type: array
          items:
            $ref: '#/components/schemas/ReportingSegmentsSource'
          nullable: true
    ReportingSegmentsSource:
      type: string
      description: 'The traffic source that brought the visitor to the site (e.g., ''google'', ''facebook.com'', ''direct'', ''newsletter'').

        Derived from `utm_source` URL parameters or the HTTP referrer. Enables report segmentation by traffic source.

        Knowledge Base: "How Do You Fill Medium, Keyword and Source Name?".

        '
      enum:
      - campaign
      - search
      - referral
      - direct
      - ai_tool
    ReportingSegmentsBrowser:
      type: string
      description: 'The web browser used by the visitor. Used for segmenting reports to understand how experiences perform across different browsers.

        Knowledge Base: "Using Basic and Advanced Post segmentation".

        '
      enum:
      - internet_explorer
      - chrome
      - firefox
      - safari
      - edge
      - other
    OnlyCount:
      type: object
      properties:
        onlyCount:
          type: boolean
          description: 'If set to `true` in a list request, the response will only contain the total count of matching items (`extra.pagination.items_count`)

            and will not include the actual item data. Useful for quickly getting totals without fetching full datasets.

            '
    ExperienceHistoryPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/ExperienceHistoryFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/ExperienceHistoryColumnNames'
    ProjectsListPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/ProjectsListFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/ProjectsListColumnNames'
    ProvideMfaCodeAuthRequestData:
      allOf:
      - $ref: '#/components/schemas/AuthRequestDataBase'
      - type: object
        properties:
          requestType:
            type: string
            enum:
            - provideMfaCodeAuth
          data:
            $ref: '#/components/schemas/MfaCodeAuthData'
    AuthRequestDataBase:
      type: object
      description: Base structure for authentication requests in a cookie-based flow.
      required:
      - requestType
      properties:
        username:
          type: string
        requestType:
          type: string
          enum:
          - initiatePasswordAuth
          - provideMfaCodeAuth
          - confirmNewPasswordAuth
    TrackingScriptReleaseTypes:
      type: string
      description: 'Defines the update strategy for the project''s Convert tracking script:

        - `manual`: (Default) The project remains on its current script version. Updates to newer versions must be initiated manually by an administrator. Allows for controlled rollouts and rollbacks to the immediate previous version.

        - `latest`: The project''s tracking script will automatically update to the newest stable version as soon as Convert releases it. Ensures access to the latest features and fixes with minimal intervention.

        - `scheduled`: Updates to the latest script version are automatically applied at a predefined day and time of the week, allowing updates during off-peak hours.

        KB: "Tracking Script Version Management".

        '
      enum:
      - manual
      - latest
      - scheduled
    LocationsListPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/LocationsListFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/LocationsListColumnNames'
    ProjectLiveDataColumnNames:
      type: string
      description: Available columns for the project-level live data feed in the UI.
      enum:
      - time
      - event
      - experience
      - variation
      - more_info
    ExperienceReportSectionNames:
      type: string
      description: Identifiers for the different collapsible/reorderable sections within the experience report UI.
      enum:
      - summary
      - complete_overview
      - quick_overview
      - goal_details
    ObservationsListColumnNames:
      type: string
      description: Available columns for the observations list in the UI.
      enum:
      - name
      - created_by
      - created_at
      - updated_at
      - status
    LiveDataExpandFields:
      type: string
      enum:
      - custom_segments
      - experiences
      - experiences.variation
      - conversion.goals
      - project
    ErrorData:
      type: object
      properties:
        code:
          type: integer
          format: int32
        message:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
        fields:
          oneOf:
          - type: string
          - type: array
            items:
              type: string
    UTC_Offset:
      type: integer
      description: 'The time offset from Coordinated Universal Time (UTC) in seconds.

        For example, UTC-5 (EST) would be -18000. UTC+2 would be 7200.

        Used for interpreting or displaying date/time information according to a specific timezone.

        '
      default: 0
      minimum: -43200
      maximum: 50400
    ReportingSegmentsCampaign:
      type: string
      description: 'The campaign name associated with the visitor''s session, typically derived from `utm_campaign` URL parameters.

        Allows report segmentation by marketing campaign.

        Knowledge Base: "How Do You Fill Medium, Keyword and Source Name?".

        '
    AccountLiveDataPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/AccountLiveDataFilteringOptions'
      - $ref: '#/components/schemas/LiveDataAutoRefreshSettings'
      - type: object
        properties:
          columns:
            type: array
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/AccountLiveDataColumnNames'
    ForgotPasswordRequestData:
      type: object
      properties:
        username:
          description: The username or email address associated with the account for which password reset is requested.
          type: string
    ExperiencesListFilteringOptions:
      type: object
      allOf:
      - $ref: '#/components/schemas/ResultsPerPage'
      - $ref: '#/components/schemas/SortDirection'
      - type: object
        properties:
          goal_id:
            type: integer
            nullable: true
            description: 'Goal ID to be used for fetching experience''s stats. Only applicable for the experiences that have access to a report.  Defaults to primary experience''s goal if none given.

              '
          sort_by:
            type: string
            nullable: true
            default: id
            description: 'A value used to sort experiences by specific field


              Defaults to **id** if not provided

              '
            enum:
            - id
            - conversions
            - improvement
            - name
            - start_time
            - end_time
            - status
            - primary_goal
            - key
            - environment
          search:
            type: string
            maxLength: 200
            nullable: true
            description: A search string that would be used to search against Experience's name and description
          status:
            type: array
            nullable: true
            description: The status of the experiences to be returned; either of the below can be provided
            items:
              $ref: '#/components/schemas/ExperienceStatuses'
          type:
            type: array
            nullable: true
            description: The type of the experiences to be returned; either of the below can be provided
            items:
              $ref: '#/components/schemas/ExperienceTypes'
          tags:
            type: array
            nullable: true
            description: The list of tag ID's used to filter the list of returned experiences
            items:
              type: integer
          audiences:
            type: array
            nullable: true
            description: The list of audience ID's used to filter the list of returned experiences
            items:
              type: integer
          goals:
            type: array
            nullable: true
            description: The list of goal ID's used to filter the list of returned experiences
            items:
              type: integer
          features:
            type: array
            nullable: true
            description: The list of feature ID's used to filter the list of returned experiences
            items:
              type: integer
          hypotheses:
            type: array
            nullable: true
            description: The list of hypotheses ID's used to filter the list of returned experiences
            items:
              type: integer
          locations:
            type: array
            nullable: true
            description: The list of location ID's used to filter the list of returned experiences
            items:
              type: integer
          environments:
            type: array
            nullable: true
            description: The list of environments used to filter the list of returned experiences
            items:
              type: string
    AudiencesListPersistentOptions:
      allOf:
      - $ref: '#/components/schemas/AudiencesListFilteringOptions'
      - type: object
        properties:
          columns:
            type: array
            nullable: true
            description: 'Sorted list of columns to be displayed in the UI

              '
            items:
              allOf:
              - $ref: '#/components/schemas/ColumnPreference'
              - type: object
                properties:
                  name:
                    $ref: '#/components/schemas/AudiencesListColumnNames'
    ExperienceLiveDataColumnNames:
      type: string
      description: Available columns for the experience-level live data feed in the UI.
      enum:
      - time
      - event
      - variation
      - more_info
    LocationStatuses:
      type: string
      description: 'The current status of a location:

        - `active`: The location is active and can be used for targeting experiences.

        - `archived`: The location is archived and no longer available for new experiences, but its definition is preserved. Archived locations can often be cloned.

        Knowledge Base: "Benefits of Archiving Unused Goals, Locations, and Audiences."

        '
      enum:
      - active
      - archived
      default: active
    AccountExperiencesListColumnNames:
      type: string
      description: Available columns for the account-wide experiences list in the UI.
      enum:
      - name
      - id
      - project_id
      - improvement
      - conversions
      - primary_goal
      - start_time
      - end_time
      - status
      - key
      - running_days
      - traffic_allocation
    AuthResponse:
      type: object
      description: 'Response from a cookie-based authentication request.

        Indicates success (with user data and session cookie), failure (with error details), or the next required step (e.g., MFA, new password) along with a `sessionToken`.

        '
      required:
      - auth-code
      - message
      - data
      properties:
        auth-code:
          type: string
          enum:
          - NEW_PASSWORD_REQUIRED
          - MFA_TOKEN_REQUIRED
          - NEW_AUTH_REQUIRED
          - SUCCESS
          - ERROR
        message:
          type: string
        data:
          anyOf:
          - $ref: '#/components/schemas/UserData'
          - $ref: '#/components/schemas/LoginMoreData'
    LocationsListColumnNames:
      type: string
      description: Available columns for the locations list in the UI.
      enum:
      - name
      - id
      - usage
      - status
      - key
    LoginMoreData:
      type: object
      required:
      - sessionToken
      - username
      description: Data returned when an authentication flow requires an additional step (e.g., MFA code input).
      properties:
        sessionToken:
          description: 'A temporary, secure token that must be submitted along with the next piece of authentication data (e.g., MFA code, new password).

            This token links the steps in a multi-stage authentication process.

            '
          type: string
        username:
          description: The username (email) originally provided, to be re-submitted with the next authentication step.
          type: string
    NewPasswordAuthData:
      allOf:
      - $ref: '#/components/schemas/AuthBaseData'
      - type: object
        description: Represents data needed when sending an auth request providing password
        properties:
          newPassword:
            description: New user password. Maximum length is 99 characters
            type: string
          confirmNewPassword:
            description: New user's password confirmation, should match newPassword. Maximum length is 99 characters
            type: string
          sessionToken:
            type: string
    AccountExperiencesListPersistentOptions:
      allOf:
      - $ref: '#/components/schemas

# --- truncated at 32 KB (90 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/convert/refs/heads/main/openapi/convert-cookie-authentication-api-openapi.yml