Convert Accounts API

Account is the entity that contains all data. An account is owned by an user and in which more other users can have different permissions, account wide or at project level

Operations 12

GET /accounts List accounts accessible to the user #
GET /billing-plans List available billing plans #
POST /accounts/{account_id}/livedata Get live tracking events for an account #
POST /accounts/{account_id}/change-history Get change history for an account #
POST /accounts/{account_id}/experiences List active and completed experiences for an account #
GET /accounts/{account_id}/details Get details for a specific account #
POST /accounts/{account_id}/details Update details for a specific account #
POST /accounts/{account_id}/sub-accounts/add Create a new sub-account #
POST /accounts/{account_id}/addons Request add-ons for an account #
POST /accounts/{account_id}/payment-setup Initiate payment method setup #
GET /accounts/{account_id}/billing-portal Get billing portal URL #
GET /accounts/{account_id}/plan_setup/users Get users for billing plan setup notification #

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-accounts-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-accounts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Convert Accounts 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: Accounts
  description: 'Account is the entity that contains all data. An account is owned by an user and  in which more other users can have different permissions, account wide or at project level

    '
paths:
  /accounts:
    get:
      operationId: getAccountsList
      summary: List accounts accessible to the user
      description: 'Retrieves a list of all accounts the authenticated user has access to.

        If using API key authentication, this typically returns the single account associated with the API key.

        If using cookie-based authentication, it may return multiple accounts if the user is a collaborator on several.

        An account is the top-level container for projects, billing, and user management.

        '
      tags:
      - Accounts
      responses:
        '200':
          $ref: '#/components/responses/AccountsListResponse'
  /billing-plans:
    get:
      operationId: getBillingPlans
      summary: List available billing plans
      description: 'Retrieves a list of all active billing plans that an account can subscribe to.

        Each plan defines usage limits (e.g., tested visitors, number of projects) and available features.

        '
      tags:
      - Accounts
      responses:
        '200':
          $ref: '#/components/responses/BillingPlansListResponse'
  /accounts/{account_id}/livedata:
    post:
      operationId: getAccountLiveData
      summary: Get live tracking events for an account
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account to be retrieved
        schema:
          type: integer
      description: 'Retrieves the last 100 tracking events (e.g., experiment views, goal conversions) across all projects within the specified account.

        Useful for real-time monitoring of activity. Supports filtering by event types and specific projects.

        As per the Knowledge Base, "Live Logs in Convert track how end users are interacting with web pages and experiments...at a project and experiment level in real time."

        '
      requestBody:
        $ref: '#/components/requestBodies/GetAccountLiveDataRequest'
      responses:
        '200':
          $ref: '#/components/responses/LiveDataEventsListResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/change-history:
    post:
      operationId: getAccountHistory
      summary: Get change history for an account
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      description: 'Retrieves a historical log of changes made within the specified account, such as modifications to account settings or billing.

        This provides an audit trail for account-level activities.

        The Knowledge Base states, "The Change History shows a record of user activity for each of your projects." This extends to account changes.

        '
      requestBody:
        $ref: '#/components/requestBodies/GetAccountHistoryRequest'
      responses:
        '200':
          $ref: '#/components/responses/ChangeHistoryListResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/experiences:
    post:
      operationId: getAccountActiveCompletedExperiencesList
      summary: List active and completed experiences for an account
      description: 'Retrieves a list of all active and completed experiences (A/B tests, personalizations, etc.) across all projects within the specified account.

        Allows filtering to narrow down results. Useful for an overview of ongoing and finished optimization activities at the account level.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/GetAccountActiveCompletedExperiencesListRequest'
      responses:
        '200':
          $ref: '#/components/responses/ExperiencesListResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/details:
    get:
      operationId: getAccountDetails
      summary: Get details for a specific account
      description: 'Retrieves detailed information about a specific account, including its settings, billing status, and usage limits.

        The `include` parameter can be used to fetch additional related data, like active project counts.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      - name: include
        in: query
        required: false
        description: 'Specifies the list of fields to be included in the response, which otherwise would not be sent.


          Read more in the section related to [Optional Fields](#tag/Optional-Fields)

          '
        schema:
          type: array
          items:
            $ref: '#/components/schemas/AccountDetailsIncludeFields'
      responses:
        '200':
          $ref: '#/components/responses/AccountDetailsResponse'
    post:
      operationId: updateAccountDetails
      summary: Update details for a specific account
      description: 'Modifies the settings or billing information for a specific account.

        This can include updating company details, contact information, or billing preferences.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account that owns the retrieved/saved data
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/UpdateAccountDetailsRequest'
      responses:
        '200':
          $ref: '#/components/responses/AccountDetailsResponse'
  /accounts/{account_id}/sub-accounts/add:
    post:
      operationId: createSubAccount
      summary: Create a new sub-account
      description: 'Creates a new sub-account under the specified parent main account.

        Sub-accounts inherit certain properties and limits from the parent but can have their own users and projects.

        This is typically used by agencies or larger organizations to manage client accounts or departmental usage separately.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the parent account under which the sub-account is being created.
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/CreateSubAccountRequest'
      responses:
        '200':
          $ref: '#/components/responses/AccountDetailsResponse'
  /accounts/{account_id}/addons:
    post:
      operationId: requestAccountAddons
      summary: Request add-ons for an account
      description: 'Allows requesting specific add-on features or services for an account, such as premium support tiers or specialized training.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account for which the addons will be requested
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/RequestAccountAddonsRequest'
      responses:
        '200':
          $ref: '#/components/responses/SuccessResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/payment-setup:
    post:
      operationId: startPaymentSetup
      summary: Initiate payment method setup
      description: 'Starts a secure session with the payment provider (e.g., Stripe) to set up or update an account''s payment method.

        Returns a client secret or token that the frontend UI uses to complete the payment setup process directly with the provider.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account for which the payment setup will be started
        schema:
          type: integer
      requestBody:
        $ref: '#/components/requestBodies/StartPaymentSetupRequest'
      responses:
        '200':
          $ref: '#/components/responses/StartPaymentSetupResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/billing-portal:
    get:
      operationId: getAccountBillingPortal
      summary: Get billing portal URL
      description: 'Returns an authenticated Paddle billing portal URL for the given account.


        The URL takes the customer to the Paddle billing portal where they can

        check subscriptions, view or download invoices.

        '
      tags:
      - Accounts
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          $ref: '#/components/responses/BillingPortalResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
  /accounts/{account_id}/plan_setup/users:
    get:
      operationId: BillingPlanSetupUsers
      summary: Get users for billing plan setup notification
      description: 'Retrieves a list of users associated with an account, typically for the purpose of notifying them about billing plan setup or changes.

        Used internally for account management workflows.

        '
      tags:
      - Accounts
      parameters:
      - name: account_id
        in: path
        required: true
        description: ID of the account for which the plan setup users will be returned
        schema:
          type: integer
      responses:
        '200':
          $ref: '#/components/responses/PlanSetupUsersResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
components:
  schemas:
    AudienceTypesWithUrl:
      description: 'Defines the behavior for an audience that *includes* URL-based conditions in its rules.

        - `segmentation`: Once a visitor matches the audience criteria (which can include URL rules), they are tagged and permanently added to this segment. This segment membership persists across sessions and can be used for long-term targeting or analysis. URL rules are evaluated to determine initial entry into the segment.

        Knowledge Base: "A segment basically allows a visitor to qualify for an audience on subsequent visits even if they do not meet the audience conditions."

        '
      type: string
      enum:
      - segmentation
    DayOfWeekMatchRule:
      allOf:
      - $ref: '#/components/schemas/BaseRuleWithDayOfWeekValue'
      - type: object
        required:
        - rule_type
        properties:
          rule_type:
            $ref: '#/components/schemas/DayOfWeekMatchRulesTypes'
          matching:
            allOf:
            - $ref: '#/components/schemas/BaseMatch'
            - type: object
              properties:
                match_type:
                  $ref: '#/components/schemas/NumericMatchingOptions'
    ExperienceChangeDefaultRedirectData:
      type: object
      description: Represents a 'defaultRedirect' type change, including its system-assigned ID.
      allOf:
      - $ref: '#/components/schemas/ExperienceChangeIdReadOnly'
      - $ref: '#/components/schemas/ExperienceChangeDefaultRedirectDataBase'
      - type: object
        properties:
          concurrency_key:
            $ref: '#/components/schemas/ConcurrencyKey'
    TrackingScriptReleaseLatest:
      allOf:
      - $ref: '#/components/schemas/TrackingScriptReleaseBase'
      - type: object
        additionalProperties: false
        properties:
          type:
            enum:
            - latest
    ExperiencesList:
      type: array
      description: A list of experience objects.
      items:
        $ref: '#/components/schemas/Experience'
    ExperienceIntegrationClicky:
      allOf:
      - $ref: '#/components/schemas/ExperienceIntegrationBase'
    SubAccountProductsCreate:
      type: object
      properties:
        billing:
          type: object
          required:
          - products
          properties:
            products:
              type: object
              description: Specifies initial plan subscriptions for Convert products.
              required:
              - experiences
              properties:
                experiences:
                  type: object
                  description: Initial plan for the 'Experiences' product.
                  required:
                  - plan
                  properties:
                    plan:
                      required:
                      - product
                      - usageLimits
                      allOf:
                      - $ref: '#/components/schemas/SubAccountBillingPlanData'
    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
    AccountDetails:
      oneOf:
      - $ref: '#/components/schemas/MainAccountDetails'
      - $ref: '#/components/schemas/SubAccountDetails'
      discriminator:
        propertyName: accountType
        mapping:
          main: '#/components/schemas/MainAccountDetails'
          sub: '#/components/schemas/SubAccountDetails'
    GA_SettingsBase:
      type: object
      properties:
        enabled:
          type: boolean
          description: If true, integration with Google Analytics is enabled for this project or experience, allowing experiment data to be sent to GA.
    PaymentMethodPaypal:
      type: object
      description: PayPal payment method data
      properties:
        method:
          type: string
          enum:
          - paypal
          description: Payment method type identifier
        data:
          type: object
          description: PayPal payment method data (empty for now)
          additionalProperties: false
      required:
      - method
      - data
    NumericOutlier:
      oneOf:
      - $ref: '#/components/schemas/NumericOutlierNone'
      - $ref: '#/components/schemas/NumericOutlierMinMax'
      - $ref: '#/components/schemas/NumericOutlierPercentile'
      discriminator:
        propertyName: detection_type
        mapping:
          none: '#/components/schemas/NumericOutlierNone'
          min_max: '#/components/schemas/NumericOutlierMinMax'
          percentile: '#/components/schemas/NumericOutlierPercentile'
    CustomDomainOwnershipVerificationItem:
      type: object
      properties:
        name:
          type: string
          description: The name of the DNS record.
        type:
          $ref: '#/components/schemas/DNSRecordTypes'
        value:
          type: string
          description: The value of the DNS record.
    ScrollPercentageGoalSettings:
      type: object
      additionalProperties: false
      properties:
        percentage:
          type: number
          description: The scroll depth percentage (e.g., 25, 50, 75, 100) that a visitor must reach on a page for this goal to trigger. The page(s) are defined in the goal's `triggering_rule`.
      required:
      - percentage
    ExperienceIntegrationEconda:
      allOf:
      - $ref: '#/components/schemas/ExperienceIntegrationBase'
    Products:
      description: 'The Convert product line this billing plan pertains to.

        - `experiences`: Relates to A/B testing, MVT, Split URL, and personalization features.

        - `deploy`: Relates to the "Deploy" feature for rolling out changes to specific audiences without A/B testing reports. Knowledge Base: "Deployments have the potential to contain small segments...and this could be interpreted by Privacy Authorities in Europe as identification of data subjects."

        - `addons`: Relates to add-on products that extend the core platform capabilities.

        '
      type: string
      enum:
      - experiences
      - deploy
      - addons
    VisualEditorUserAgents:
      description: Predefined User-Agent strings that the Visual Editor can emulate for responsive design and device-specific testing.
      type: string
      nullable: true
      enum:
      - chrome_desktop
      - chrome_ipad
      - chrome_iphone
      - chrome_android
      - safari_mac
      - safari_ipad
      - safari_iphone
      - firefox_desktop
      - firefox_ipad
      - firefox_iphone
      - firefox_android
      - edge_desktop
      - edge_tablet
      - brave_desktop
      - brave_ipad
      - brave_iphone
      - brave_android
      - opera_desktop
      - opera_ipad
      - opera_iphone
      - opera_android
    ExperienceUserCustomizations:
      type: array
      description: A list of user-defined key-value pairs for customizing UI elements or behavior related to this experience within the Convert application itself. These do not affect the live experiment seen by visitors.
      items:
        $ref: '#/components/schemas/UserCustomization'
      maxItems: 100
    BaseMatch:
      type: object
      properties:
        negated:
          description: 'If `true`, the logical result of the match is inverted.

            For example, if `match_type` is ''contains'' and `value` is ''apple'', `negated: true` means the rule matches if the attribute *does not* contain ''apple''.

            '
          type: boolean
    SubAccountBillingPlanLimitsAndCapabilities:
      allOf:
      - $ref: '#/components/schemas/BillingPlanLimitsAndCapabilitiesBase'
      - type: object
        properties:
          usageLimits:
            type: object
            required:
            - domains
            - goals
            - deploys
            - projects
            - segments
            - testedUsers
            properties:
              domains:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of domains that can be created **inside all the projects that belong to the account**
              goals:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of active goals that can be created **inside one single project**
              deploys:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of active deploys that can be created **inside all the projects that belong to the account**
              projects:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of projects that can be created **inside the account**
              segments:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of segments that can be created **inside one single project**
              pageViews:
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of pageViews that can be tracked  **inside the account**
                deprecated: true
              testedVisitors:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of tested visitors that can be tracked **inside the account**
              testedUsers:
                required:
                - limitValue
                allOf:
                - $ref: '#/components/schemas/BillingUsageLimitBase'
                description: This limits the number of tested users that can be tracked **inside the account**
    MultipageExperiencePage:
      description: Defines a single page within a 'multipage' (funnel) experience.
      allOf:
      - type: object
        properties:
          id:
            description: The ID of the page.
            type: string
            minLength: 1
            maxLength: 2
            pattern: ^[0-9a-z]{1,2}$
          name:
            description: Name of the page
            type: string
            maxLength: 200
          url:
            description: The url of page to load
            type: string
            maxLength: 2048
        additionalProperties: false
    ExperienceIntegrationGA4Base:
      allOf:
      - $ref: '#/components/schemas/GA_SettingsBase'
      - $ref: '#/components/schemas/ExperienceIntegrationBase'
      - $ref: '#/components/schemas/IntegrationGA4Base'
    ExperienceSettings:
      allOf:
      - type: object
        description: Experience's settings list
        properties:
          split_url_settings:
            type: object
            description: A couple of settings only applicable to Split URL experiments
            properties:
              split_regex_support:
                type: boolean
                description: 'Whether regular expressions are supported in original/variation URLs of a split URL experiment or not.


                  It only applies to **experience_type** - **split_url**

                  '
              split_add_query_params:
                type: boolean
                description: 'Whether original/variation urls have incorporated or not the needed regular expression to copy query string

                  parameters from one to the other in the redirect process.


                  It only applies to **experience_type** - **split_url** and it''s only used internally in Convert''s app

                  '
              split_query_params_hide_regex:
                type: boolean
                description: 'Whether the user selected to hide or not the part of the regular expression automatically added by enabling **split_add_query_params**.


                  It only applies to **experience_type** - **split_url** and it''s only used internally in Convert''s app

                  '
          matching_options:
            type: object
            description: Various settings used for matching the list of Audiences and Locations
            properties:
              audiences:
                $ref: '#/components/schemas/GenericListMatchingOptions'
              locations:
                $ref: '#/components/schemas/GenericListMatchingOptions'
          visitor_insights:
            type: object
            readOnly: true
            description: 'Visitor Insights (Signals) settings for this experience. Heatmap IDs are stored here when heatmaps are created for the experience''s variations.

              '
            nullable: true
            properties:
              heatmaps:
                type: object
                readOnly: true
                description: Map of variation ID to heatmap ID. Populated when heatmaps are created for this experience (one heatmap per variation).
                additionalProperties:
                  type: string
                  description: Heatmap ID for the variation.
                nullable: true
                example:
                  '1003100122': 507f1f77bcf86cd799439012
      - $ref: '#/components/schemas/ExperienceReportingSettings'
    MetricTypes:
      type: string
      description: 'The primary types of performance metrics calculated by the reporting engine for each goal.

        - `conversion_rate`: The percentage of visitors who completed the goal (Conversions / Visitors).

        - `avg_revenue_visitor`: Average Revenue Per Visitor (RPV = Total Revenue / Total Visitors). Applicable for revenue goals.

        - `avg_products_ordered_visitor`: Average Products Per Visitor (APPV = Total Products Ordered / Total Visitors). Applicable for revenue goals tracking product counts.

        - `average_order_value`: Average Order Value (AOV = Total Revenue / Total Conversions). Applicable for revenue goals tracking order value.

        - `average_products_per_order`: Average Products Per Order (APPO = Total Products Ordered Per Visitor / Total Conversions). Applicable for revenue goals tracking product counts.

        Knowledge Base: "Understanding Report Metrics in Convert".

        '
      enum:
      - conversion_rate
      - avg_revenue_visitor
      - avg_products_ordered_visitor
      - average_order_value
      - average_products_per_order
    AccountsListResponseData:
      type: object
      description: Response containing a list of accounts accessible to the authenticated user. For paginated results, refer to specific endpoint documentation if applicable.
      properties:
        data:
          $ref: '#/components/schemas/AccountsList'
    HourOfDayMatchRulesTypes:
      type: string
      enum:
      - local_time_hour_of_day
      - project_time_hour_of_day
    BaseRuleWithGoalTriggeredValue:
      allOf:
      - $ref: '#/components/schemas/BaseRule'
      - type: object
        properties:
          value:
            description: ID of the goal used for matching
            type: number
    BillingPlanLimitsAndCapabilitiesBase:
      type: object
      properties:
        usage_limit_by:
          allOf:
          - readOnly: true
          - $ref: '#/components/schemas/BillingPlanBillByEnum'
        availableFeaturesNiceNames:
          description: A list of human-readable names for features enabled by this plan (e.g., 'advanced_segmentation', 'api_access', 'multivariate_testing').
          readOnly: true
          type: array
          items:
            type: string
            enum:
            - advanced_segmentation
            - api
            - basic_segmentation
            - change_history
            - chat support
            - custom_domains
            - cookie_targeting
            - csv_export
            - experience_raw_export
            - dmp_profiling
            - email_support
            - geo_targeting
            - kissmetrics_integration
            - live_data
            - multipage_experience
            - multivariate_testing
            - phone_support
            - scroll_goal
            - single_sign_on
            - triggered_goal_targeting
            - weather_targeting
            - experience_report_predictions
            - collaborators
            - forum_access
            - fullstack
            - bayesian_stats
            - ve_ai_text
            - create_subaccounts
            - sequential_testing
            - other_goals_test_progress
            - export_project
            - import_project
            - experience_collaborators
            - bulk_actions
            - dynamic_web_triggers
            - advanced_tracking_script_release
            - remove_report_data
            - mab
            - composed_audience
            - visitor_insights
            - visitor_data
            - ui_widgets
            - ve_version_history
    TrackingScriptReleaseManual:
      allOf:
      - $ref: '#/components/schemas/TrackingScriptReleaseBase'
      - type: object
        additionalProperties: false
        properties:
          type:
            enum:
            - manual
    ClicksLinkGoal:
      allOf:
      - $ref: '#/components/schemas/GoalBase'
      - type: object
        properties:
          type:
            enum:
            - clicks_link
          settings:
            $ref: '#/components/schemas/ClicksLinkGoalSettings'
    ExperienceChangeIdReadOnly:
      description: Represents the unique identifier of a change, typically when returned by the API after creation or in a list.
      type: object
      properties:
        id:
          description: The unique numerical identifier for this specific change.
          type: integer
          readOnly: true
    Account:
      oneOf:
      - $ref: '#/components/schemas/MainAccount'
      - $ref: '#/components/schemas/SubAccount'
      discriminator:
        propertyName: accountType
        mapping:
          main: '#/components/schemas/MainAccount'
          sub: '#/components/schemas/SubAccount'
    ExperienceIntegrationMouseflow:
      allOf:
      - $ref: '#/components/schemas/ExperienceIntegrationBase'
    SimpleGoal:
      type: object
      properties:
        id:
          description: The unique numerical identifier of the goal.
          type: integer
        name:
          description: The user-defined, friendly name of the goal.
          type: string
    PaymentMethodInvoice:
      type: object
      description: Invoice payment method data
      properties:
        method:
          type: string
          enum:
          - invoice
          description: Payment method type identifier
        data:
          type: object
          description: Invoice payment method data (empty for now)
          additionalProperties: false
      required:
      - method
      - data
    ExperienceIncludeFields:
      type: string
      enum:
      - alerts
      - goals
      - stats
      - variations
      - variations.changes
      - min_running_timestamp
      - max_running_timestamp
      - audiences
      - locations
      - collaborators
    SubAccountCreate:
      allOf:
      - $ref: '#/components/schemas/SubAccountDetailsBase'
      - $ref: '#/components/schemas/SubAccountProductsCreate'
      - type: object
        properties:
          accountType:
            readOnly: true
          userName:
            type: string
            description: Name of the user that would own this account.
          userEmail:
            type: string
            description: 'Email of the user that would own this account. If the an user exists with that email, the respective user would be used. Otherwise,

              a new user would get created.

              '
          sendUserEmail:
            type: boolean
            default: false
            description: 'Flag indicating whether an email to be sent or not to the user, notifying them that an account was created for them by main account.


              *An email with a complete sign-up link would be sent regardless if the user does not exist into the system and gets created.*

              '
          customEmailText:
            type: string
            description: Custom text to be appended to the email that gets sent to the user if `sendUserEmail = true`
            maxLength: 1024
        required:
        - name
        - billing
        - userName
        - userEmail
    LocationTriggerUponRun:
      allOf:
      - $ref: '#/components/schemas/LocationTriggerBase'
      - type: object
        properties:
          type:
            type: string
           

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