# Convert Experiences Documentation > Documentation for Convert Experiences Append .md to any documentation page URL to get its markdown version. ## Guides - [Introduction](https://docs.developers.convert.com/docs/welcome.md): Convert Developer Documentation - [Full Stack Method](https://docs.developers.convert.com/docs/how-convert-works.md): Convert Full Stack Experimentation Platform - [Architecture](https://docs.developers.convert.com/docs/architecture-overview.md): SDK modules, managers, and initialization flow - [Data Model Reference](https://docs.developers.convert.com/docs/data-model.md): Entity relationships: Experiences, Variations, Features, Goals, Audiences, Locations, Segments - [Requirements](https://docs.developers.convert.com/docs/fullstack-constraints.md): Fullstack project constraints and limitations - [Quickstarts](https://docs.developers.convert.com/docs/quickstart-overview.md): Get running with your first experiment in 5 steps - [JavaScript / TypeScript Quickstart](https://docs.developers.convert.com/docs/javascript-quickstart.md): Get running with the JS SDK in 5 minutes - [PHP Quickstart](https://docs.developers.convert.com/docs/php-quickstart.md): Get running with the PHP SDK in 5 minutes - [Android Quickstart](https://docs.developers.convert.com/docs/android-quickstart.md): Get running with the Android SDK in 5 minutes - [Ruby Quickstart](https://docs.developers.convert.com/docs/ruby-quickstart.md): Get running with the Ruby SDK in 5 minutes - [iOS Quickstart](https://docs.developers.convert.com/docs/ios-quickstart.md): Get running with the iOS SDK in 5 minutes - [Python Quickstart](https://docs.developers.convert.com/docs/python-quickstart.md): Get running with the Python SDK in 5 minutes using direct config (no SDK key needed) - [Experiences & Variations](https://docs.developers.convert.com/docs/experiences-and-variations.md): How A/B tests work — the ExperienceManager and variation selection - [Feature Flags](https://docs.developers.convert.com/docs/feature-flags.md): How feature flags and rollouts work — the FeatureManager - [Bucketing Algorithm](https://docs.developers.convert.com/docs/bucketing-algorithm.md): How the SDK deterministically assigns visitors to variations using MurmurHash3 - [Rule Evaluation & Targeting](https://docs.developers.convert.com/docs/rule-evaluation.md): How the SDK evaluates audience targeting rules and matching conditions - [Segments](https://docs.developers.convert.com/docs/segments.md): Visitor segmentation for reporting — default and custom segments - [Data Management](https://docs.developers.convert.com/docs/data-management.md): The DataManager — central data store, bucketing orchestration, visitor state - [Event System](https://docs.developers.convert.com/docs/event-system.md): Internal pub/sub event system for SDK lifecycle events - [API Communication & Tracking](https://docs.developers.convert.com/docs/api-communication.md): How the SDK fetches config and sends tracking events - [Running Experiences](https://docs.developers.convert.com/docs/running-experiences.md): Run A/B tests and get variation assignments for visitors - [Running Features](https://docs.developers.convert.com/docs/running-features.md): Check feature flag status and retrieve variable values - [Tracking Conversions](https://docs.developers.convert.com/docs/tracking-conversions.md): Track goals, revenue, and conversion events - [Visitor Context & Properties](https://docs.developers.convert.com/docs/visitor-context.md): Create visitor contexts, manage properties, segments, and entity lookup - [Persistent DataStore](https://docs.developers.convert.com/docs/persistent-datastore.md): Persist bucketing decisions across sessions and requests - [Direct Tracking Endpoint](https://docs.developers.convert.com/docs/direct-tracking-endpoint.md): Send tracking events directly to /v1/track without a Convert SDK - [Troubleshooting](https://docs.developers.convert.com/docs/troubleshooting.md): Common errors and how to fix them - [Client-Side Experimentation](https://docs.developers.convert.com/docs/client-side-experimentation.md): Browser-side bucketing and conversion patterns with the JS SDK - [Server-Side Experimentation](https://docs.developers.convert.com/docs/server-side-experimentation.md): Server-side bucketing and conversion patterns for any server-capable SDK - [From Tracking Script to SDK](https://docs.developers.convert.com/docs/from-tracking-script-to-sdk.md): Map Convert UI audience, location, and goal concepts to SDK calls - [QA & Preview](https://docs.developers.convert.com/docs/qa-and-preview.md): Preview draft variations with zero-trace preview links, and load QA configs with a debug token - [Mutually Exclusive Experiments](https://docs.developers.convert.com/docs/mutual-exclusion.md): Prevent experiments from overlapping with the bucketed_into_experience_key audience rule - [Split URL Tests](https://docs.developers.convert.com/docs/split-url-testing.md): Run a URL-split test as a Fullstack A/B experience, and keep both arms counted symmetrically - [Code Examples](https://docs.developers.convert.com/docs/javascript-code-examples.md): Complete JS/TS examples for all SDK methods - [Configuration Options](https://docs.developers.convert.com/docs/javascript-configuration.md): Full SDK config reference - [Initialization](https://docs.developers.convert.com/docs/javascript-initialization.md): Import patterns, SDK Key init, static config, onReady() - [Installation](https://docs.developers.convert.com/docs/javascript-installation.md): Install via npm, yarn, or CDN - [TypeScript Types](https://docs.developers.convert.com/docs/javascript-types.md): TypeScript interfaces and type definitions - [Code Examples](https://docs.developers.convert.com/docs/php-code-examples.md): Complete PHP examples for all SDK methods - [Configuration Options](https://docs.developers.convert.com/docs/php-configuration.md): Full SDK config reference with PSR integration - [Initialization](https://docs.developers.convert.com/docs/php-initialization.md): ConvertSDK::create() factory, synchronous init, PSR discovery - [Installation](https://docs.developers.convert.com/docs/php-installation.md): Install via Composer with PSR dependencies - [Return Types & DTOs](https://docs.developers.convert.com/docs/php-return-types.md): PHP DTOs and backed enums - [Segments Manager](https://docs.developers.convert.com/docs/php-segments-manager.md): PHP-specific segments handling - [Code Examples](https://docs.developers.convert.com/docs/android-code-examples.md): Complete Kotlin and Java examples for all SDK methods - [Configuration Options](https://docs.developers.convert.com/docs/android-configuration.md): Full builder option reference - [Google Play Data Safety](https://docs.developers.convert.com/docs/android-data-safety.md): Data Safety form mapping for the data the SDK generates - [Initialization](https://docs.developers.convert.com/docs/android-initialization.md): ConvertSDK.builder(), onReady(), direct-data mode, event subscription - [Installation](https://docs.developers.convert.com/docs/android-installation.md): Add the Gradle dependency from Maven Central - [Java Interop](https://docs.developers.convert.com/docs/android-java-interop.md): Using the SDK from Java: overloads, static factory, SAM callbacks - [Offline Behavior](https://docs.developers.convert.com/docs/android-offline-behavior.md): Durable on-disk event queue, WorkManager retry, network-aware flush - [Return Types & Models](https://docs.developers.convert.com/docs/android-return-types.md): Kotlin data classes, enums, and feature-variable accessors - [Tracking Control](https://docs.developers.convert.com/docs/android-tracking-control.md): Consent: SDK-level toggle and per-call tracking override - [Code Examples](https://docs.developers.convert.com/docs/ruby-code-examples.md): Complete Ruby examples for all SDK methods - [Configuration Options](https://docs.developers.convert.com/docs/ruby-configuration.md): Full SDK config reference incl. tracking, batching, intervals, RedisStore - [Fork Safety & Runtime Recipes](https://docs.developers.convert.com/docs/ruby-fork-safety.md): Zero-config fork survival and per-runtime wiring (Puma, Unicorn, Passenger, Sidekiq, Lambda, CLI) - [Initialization](https://docs.developers.convert.com/docs/ruby-initialization.md): ConvertSdk.create factory, fetch vs direct-data mode, the ready event - [Installation](https://docs.developers.convert.com/docs/ruby-installation.md): Add the convert_sdk gem via Bundler or gem install (Ruby 3.1+, zero runtime deps) - [Return Types & Sentinels](https://docs.developers.convert.com/docs/ruby-return-types.md): Frozen BucketedVariation/BucketedFeature, the sentinel contract, enums - [Tracking Control](https://docs.developers.convert.com/docs/ruby-tracking-control.md): Consent: global tracking switch and per-call enable_tracking override - [App Privacy & Data Collection](https://docs.developers.convert.com/docs/ios-app-privacy.md): Apple Privacy Manifest mapping and the data the SDK collects - [Code Examples](https://docs.developers.convert.com/docs/ios-code-examples.md): Complete async/await examples (with completion-handler equivalents) for every SDK method - [Configuration Options](https://docs.developers.convert.com/docs/ios-configuration.md): Full ConvertConfiguration option reference (sdkKey plus JS-parity defaults) - [Initialization](https://docs.developers.convert.com/docs/ios-initialization.md): ConvertSwiftSDK(configuration:), the ready() gate, direct-data mode, completion-handler overloads - [Installation](https://docs.developers.convert.com/docs/ios-installation.md): Add the ConvertSwiftSDK Swift Package (SPM) or CocoaPods pods; no third-party dependencies - [Objective-C Interop](https://docs.developers.convert.com/docs/ios-objc-interop.md): Using the SDK from Objective-C / UIKit via completion-handler overloads - [Offline Behavior](https://docs.developers.convert.com/docs/ios-offline-behavior.md): Durable on-disk event queue, background URLSession delivery, network-aware flush - [Return Types & Models](https://docs.developers.convert.com/docs/ios-return-types.md): Variation/Feature models, FeatureStatus, GoalData keys, and the never-throws / nil-on-miss contract - [Tracking Control](https://docs.developers.convert.com/docs/ios-tracking-control.md): Consent: static networkTracking, per-call enableTracking, and runtime setTrackingEnabled - [Async & Framework Integrations](https://docs.developers.convert.com/docs/python-async-and-frameworks.md): Integrate the sync SDK in Django, FastAPI, Flask, and asyncio runtimes (asyncio.to_thread for flush) - [Code Examples](https://docs.developers.convert.com/docs/python-code-examples.md): Complete, runnable examples for every public method on Core and Context - [Configuration Options](https://docs.developers.convert.com/docs/python-configuration.md): Field-by-field reference for the SDKConfig, TransportConfig, and RefreshConfig frozen dataclasses - [Diagnostics & Support](https://docs.developers.convert.com/docs/python-diagnostics.md): Understand why an evaluation or tracking call returned a miss via the typed diagnose_* methods - [Extending the SDK](https://docs.developers.convert.com/docs/python-extending.md): Swap the Transport, DataStore, and EventBus seams via the three runtime-checkable Protocols - [Initialization](https://docs.developers.convert.com/docs/python-initialization.md): Core(SDKConfig(...)).initialize(), direct-data vs sdk_key modes, and opt-in background refresh - [Installation](https://docs.developers.convert.com/docs/python-installation.md): Install convert-python-sdk (imports as convert_sdk) via pip, uv, or Poetry; httpx is the only runtime dependency - [Migrating from the JavaScript SDK](https://docs.developers.convert.com/docs/python-migration-from-javascript.md): Concept-by-concept map from the JavaScript SDK to the Pythonic Python SDK shapes - [Migrating from Raw REST](https://docs.developers.convert.com/docs/python-migration-from-rest.md): Map raw Convert HTTP/config/tracking flows onto the typed Python SDK surface - [Type Hints & Models](https://docs.developers.convert.com/docs/python-type-hints.md): Every frozen dataclass result type, enum, Protocol, and error in the public surface - [Cloudflare Workers](https://docs.developers.convert.com/docs/cloudflare-workers.md): Run Convert experiments at the Cloudflare edge with zero flicker - [LLM / AI Testing (llms.txt)](https://docs.developers.convert.com/docs/llm-testing.md): Server-side A/B testing for AI crawler content via llms.txt - [Shopify](https://docs.developers.convert.com/docs/shopify.md): Custom Web Pixel + cart-attribute bridge for Convert on Shopify - [JavaScript SDK](https://docs.developers.convert.com/docs/releases-js-sdk.md) - [JavaScript SDK for Cloudflare](https://docs.developers.convert.com/docs/releases-js-sdk-cloudflare.md) - [PHP SDK](https://docs.developers.convert.com/docs/releases-php-sdk.md) - [Android SDK](https://docs.developers.convert.com/docs/releases-android-sdk.md) - [Ruby SDK](https://docs.developers.convert.com/docs/releases-ruby-sdk.md) - [iOS SDK](https://docs.developers.convert.com/docs/releases-ios-sdk.md) - [Python SDK](https://docs.developers.convert.com/docs/releases-python-sdk.md) - [MCP Server](https://docs.developers.convert.com/docs/releases-mcp-server.md) ## API Reference - [SDK Key Authentication](https://docs.developers.convert.com/reference/sdk-key-authentication.md) - [Debug Token](https://docs.developers.convert.com/reference/debug-token.md) - [Default Get Project Config](https://docs.developers.convert.com/reference/getprojectconfig.md): This is the default endpoint that does not need SDK Keys to returns the project's config to be consumed in various sdks - [Sdk-Key Get Project Config](https://docs.developers.convert.com/reference/getprojectconfigbysdkkey.md): This endpoint returns the project's config to be consumed in various sdks using the SDK Key - [Minimal Project Settings](https://docs.developers.convert.com/reference/getprojectsettings.md): Returns a basic set of properties for the currently given config endpoing - [Optional Project Settings](https://docs.developers.convert.com/reference/getprojectoptionalsettings.md): Returns a basic set of optional project's settings for the currently given config endpoint - [Get Visitor Data](https://docs.developers.convert.com/reference/getvisitordata.md): This is the default endpoint that does not need SDK Keys to returns the project's visitor data. - [Sdk-Key Get Visitor Data](https://docs.developers.convert.com/reference/getvisitordatabysdkkey.md): This endpoint returns the project's visitor data to be consumed in various sdks using the SDK Key - [Sdk-Key Send Tracking](https://docs.developers.convert.com/reference/sendtrackingeventssdkkey.md): This endpoint allows sending of tracking events to the Convert tracking server via SDK Key authentication - [Send Tracking](https://docs.developers.convert.com/reference/sendtrackingevents.md): This endpoint allows sending of tracking events to the Convert tracking server - [Client Authentication](https://docs.developers.convert.com/reference/client-authentication.md) - [API KEY Authentication](https://docs.developers.convert.com/reference/api-key-authentication.md) - [Authenticate user session (Cookie Based)](https://docs.developers.convert.com/reference/doauth.md): 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. - [Request password reset](https://docs.developers.convert.com/reference/requestforgotpassword.md): 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. - [Confirm new password after reset request](https://docs.developers.convert.com/reference/confirmpasswordreset.md): 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. - [Log out user session](https://docs.developers.convert.com/reference/dologout.md): Invalidates the current authenticated user session (cookie-based). Can also be used to log out other or all sessions for the user. - [Check authentication status](https://docs.developers.convert.com/reference/getauthstatus.md): Verifies if the current cookie-based session is still valid and authenticated. - [Exchange OAuth code for session token](https://docs.developers.convert.com/reference/requestoauthtoken.md): Public endpoint used by OAuth clients to exchange a one-time authorization code for a scoped bearer session token. Enforces PKCE binding. - [Common Parameters](https://docs.developers.convert.com/reference/common-parameters.md) - [Optional Fields](https://docs.developers.convert.com/reference/optional-fields.md) - [Expandable Fields](https://docs.developers.convert.com/reference/expandable-fields.md) - [List available user access roles](https://docs.developers.convert.com/reference/getaccessroles.md): Retrieves a list of all predefined access roles within the Convert system (e.g., Owner, Admin, Editor, Reviewer, Browse). Each role defines a set of permissions that dictate what actions a user can perform on accounts and projects. This is useful for understanding permission levels when managing collaborators. - [Get current authenticated user's details](https://docs.developers.convert.com/reference/getuserdata.md): Retrieves the profile data, preferences, and settings for the currently authenticated user (via cookie). This includes information like email, name, and UI preferences. Note: This endpoint is for cookie-based authentication. For API key authentication, user context is tied to the key itself. - [Update current user's profile](https://docs.developers.convert.com/reference/updateuserprofiledata.md): Allows the authenticated user (via cookie) to update their profile information, such as name, email, or password. Also used to manage Multi-Factor Authentication (MFA) settings. User preferences (like UI display settings) are managed via a separate endpoint. - [Confirm user email address change](https://docs.developers.convert.com/reference/confirmemail.md): Finalizes an email address change request by submitting the confirmation code sent to the new email address. Used in cookie-based authentication flows. - [Update user's UI preferences](https://docs.developers.convert.com/reference/updateuserpreferences.md): Allows the authenticated user (via cookie) to update their preferences for the Convert application UI, such as default column visibility in tables or editor settings. These settings do not affect experiment behavior. - [Generate MFA secret for authenticator app](https://docs.developers.convert.com/reference/generatemfasecret.md): Generates a new Multi-Factor Authentication (MFA) secret for the authenticated user (cookie-based). This secret is used to set up an authenticator app (like Google Authenticator) for generating time-based one-time passwords (TOTPs). - [Accept and create a demo project for the user](https://docs.developers.convert.com/reference/acceptdemoproject.md): Allows a user to accept the creation of a pre-configured demo project in their account. This is typically used for onboarding or trial experiences to showcase Convert's features. - [List authorized sessions for the current user](https://docs.developers.convert.com/reference/listusersessions.md): Cookie-authenticated endpoint that returns all active authorized sessions for the current user, including the current cookie-based session and any OAuth bearer-token sessions the user has approved. - [Revoke User session](https://docs.developers.convert.com/reference/revokeusersession.md): Cookie-authenticated endpoint that revokes a single session (cookie-based or OAuth) for the current user, identified by its sid. - [Revoke all User sessions](https://docs.developers.convert.com/reference/revokeallusersessions.md): Cookie-authenticated endpoint that revokes every active session (cookie-based and OAuth) for the current user. - [List accounts accessible to the user](https://docs.developers.convert.com/reference/getaccountslist.md): 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. - [List available billing plans](https://docs.developers.convert.com/reference/getbillingplans.md): 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. - [Get live tracking events for an account](https://docs.developers.convert.com/reference/getaccountlivedata.md): 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." - [Get change history for an account](https://docs.developers.convert.com/reference/getaccounthistory.md): 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. - [List active and completed experiences for an account](https://docs.developers.convert.com/reference/getaccountactivecompletedexperienceslist.md): 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. - [Get details for a specific account](https://docs.developers.convert.com/reference/getaccountdetails.md): 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. - [Update details for a specific account](https://docs.developers.convert.com/reference/updateaccountdetails.md): Modifies the settings or billing information for a specific account. This can include updating company details, contact information, or billing preferences. - [Create a new sub-account](https://docs.developers.convert.com/reference/createsubaccount.md): 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. - [Request add-ons for an account](https://docs.developers.convert.com/reference/requestaccountaddons.md): Allows requesting specific add-on features or services for an account, such as premium support tiers or specialized training. - [Initiate payment method setup](https://docs.developers.convert.com/reference/startpaymentsetup.md): 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. - [Get billing portal URL](https://docs.developers.convert.com/reference/getaccountbillingportal.md): 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. - [Get users for billing plan setup notification](https://docs.developers.convert.com/reference/billingplansetupusers.md): 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. - [Generate text variations using AI](https://docs.developers.convert.com/reference/generatetextvariants.md): Leverages Generative AI to create alternative text versions (variants) for a given piece of content. Users can specify the number of variations, the original content, an AI model framework (e.g., Cialdini, AIDA), and a specific principle within that framework. This helps in quickly generating creative options for A/B testing headlines, calls to action, or other textual elements. Optionally, an OpenAI Key can be provided for using more advanced models or larger context. - [Generate code variation using AI](https://docs.developers.convert.com/reference/generatecodevariant.md): Leverages Generative AI to improve provided code. - [Generate subscription cancel suggestion using AI](https://docs.developers.convert.com/reference/generatesubscriptioncancelsuggestion.md): Uses AI to analyze a free-text cancellation reason and return a suggested alternative (`pause` or `schedule_call`) with a short supportive message. - [List users and their access permissions for an account](https://docs.developers.convert.com/reference/getaccountusersaccesseslist.md): Retrieves a list of all users who have collaborator access to the specified account. For each user, it details the projects they can access and their role within those projects (e.g., Admin, Editor). The `expand` parameter can be used to get more details about the projects. As per the Knowledge Base, "Account owners can invite collaborators to projects and choose to give them varying privileges." - [Update a user's access permissions for an account](https://docs.developers.convert.com/reference/updateaccountuseraccesses.md): Modifies the access rights of an existing collaborator for the specified account. This can involve changing their role for specific projects or altering which projects they can access. Identifies the ACTIVE collaborator by `user_id`. - [Remove a collaborator's access from an account](https://docs.developers.convert.com/reference/deleteaccountuseraccesses.md): Revokes a user's collaborator access to specified projects within an account, or entirely from the account. Identifies the ACTIVE collaborator by `user_id`. - [Check partner status for extended API access](https://docs.developers.convert.com/reference/checkpartner.md): Verifies if the provided email belongs to a registered partner, potentially enabling extended API functionalities. This is an internal mechanism. - [Accept a collaborator invitation](https://docs.developers.convert.com/reference/acceptinvitation.md): Allows a user to accept an invitation to collaborate on an account using a unique hash token received via email. If the user is new to Convert, this will also trigger account creation. - [Invite a new collaborator (pending invitation)](https://docs.developers.convert.com/reference/addcollaboratorinvitation.md): Creates a pending collaborator invitation for the account and sends the invitation email. Pending invitations are stored separately from accepted accesses and are always addressed by email, since a collaborator has no user id until the invitation is accepted. - [Update the accesses of a pending invitation](https://docs.developers.convert.com/reference/updatecollaboratorinvitation.md): Updates the accesses of an existing pending invitation, identified by `email`. No email is sent. The invitation's activation hash and original creation time are preserved, so an activation link that has already been delivered stays valid. Returns 404 if no pending invitation exists for that email. - [Remove accesses from a pending invitation](https://docs.developers.convert.com/reference/deletecollaboratorinvitation.md): Removes the listed accesses from a pending invitation identified by `email`. No email is sent. If `accesses` is omitted or empty, or if any entry has a null/empty `project`, the whole invitation is deleted. If every stored access is removed the invitation is deleted as well; otherwise the remaining accesses are kept. Returns 404 if no pending invitation exists for that email. - [Re-send a pending invitation](https://docs.developers.convert.com/reference/resendcollaboratorinvitation.md): Re-issues and re-sends a pending invitation identified by `email`. The invitee's names and accesses are taken from the stored invitation - the request body carries only the email. A NEW activation hash is generated, so any invitation link already delivered stops working. Returns 404 if no pending invitation exists for that email, and 422 if the same recipient was already sent one within the last minute. - [List API keys for an account](https://docs.developers.convert.com/reference/getapikeyslist.md): Retrieves a list of all API keys configured for the specified account. API keys are used for server-to-server authentication, allowing applications to interact with the Convert API programmatically. Each key can be scoped to specific projects. - [Create a new API key for an account](https://docs.developers.convert.com/reference/createapikey.md): Generates a new API key and secret for the specified account. The key can be named for easier identification and can be restricted to a list of project IDs. If no projects are specified, the key grants access to all projects in the account. The API secret is only shown at the time of creation and should be stored securely. - [Delete an API key](https://docs.developers.convert.com/reference/deleteapikey.md): Permanently revokes an API key, identified by its `key_id`. Once deleted, the key can no longer be used to authenticate API requests. - [List projects within an account](https://docs.developers.convert.com/reference/getprojectslist.md): Retrieves a list of all projects belonging to the specified account that the authenticated user has access to. Supports filtering by project status, name/description search, and pagination. A project in Convert is a container for organizing experiences (A/B tests, personalizations), goals, audiences, and associated domains. As per the Knowledge Base: "Each project has its own tracking code, set of experiences, and set of collaborators." - [Get change history for a specific project](https://docs.developers.convert.com/reference/getprojecthistory.md): Retrieves a historical log of changes made within a specific project. This includes modifications to experiences, goals, audiences, locations, and project settings. Provides an audit trail for project-level activities, filterable by date, user, and event type. The Knowledge Base states: "Convert logs most actions that can be made in a Project; for example: creating an experiment, modifying a variation, adding and removing audiences, and more." - [Get details for a specific project](https://docs.developers.convert.com/reference/getproject.md): Retrieves comprehensive details for a single project, identified by its `project_id`. This includes its name, type (web or fullstack), global JavaScript, settings (like time zone, jQuery inclusion), integrations, and optionally, associated domains and usage statistics. The `include` parameter can fetch related data like `domains` or `stats.usage`. The `expand` parameter can provide full objects for linked entities. - [Create a new project](https://docs.developers.convert.com/reference/createproject.md) - [Update an existing project](https://docs.developers.convert.com/reference/updateproject.md): Modifies the settings of an existing project. This can include changing its name, global JavaScript, time zone, active domains, integration settings, or GDPR compliance options. The list of domains provided in the request will replace the existing list. - [Delete a project](https://docs.developers.convert.com/reference/deleteproject.md): Deletes the specified project and removes access to its experiences and other project resources. Treat this as a destructive, non-reversible operation, not as a way to pause a project or clean up speculatively. The backend marks the project deleted and clears its serving caches. A custom domain used only by this project, its fullstack SDK-key association, and its enabled Visitor Insights website are also removed when present. A successful response does not assert that all historical data has been physically purged synchronously. Requires access to the exact account/project and the project.delete permission (Owner, Admin, or Account Manager). Selected-project OAuth grants can authorize this operation for an explicitly granted project; entire-account OAuth access is not required. Live permissions and the consent-time role ceiling remain authoritative. Read-only staff impersonation cannot delete projects. No project lifecycle-status restriction is applied by this endpoint. Ask the user to explicitly request deletion and separately confirm the exact project ID and consequences before calling. - [Get live tracking events for a specific project](https://docs.developers.convert.com/reference/getprojectlivedata.md): Retrieves the last 100 tracking events (e.g., experiment views, goal conversions) specifically for the given project. Useful for real-time monitoring of a single project's activity. Supports filtering by event types, experiences, and goals. 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." - [Update multiple projects at once](https://docs.developers.convert.com/reference/bulkupdateprojects.md): Allows for updating settings (like tracking script version) for multiple projects simultaneously within an account. Requires a list of project IDs and the settings to apply. - [Generate a debug token for a project](https://docs.developers.convert.com/reference/generatedebugtoken.md): Creates a temporary debug token for a project. This token can be used with the Convert tracking script (e.g., via the `convert-debug-token` header or query parameter) to preview draft or paused experiences, or to force specific variations for QA purposes without affecting live experiment data. The token has a limited time-to-live (TTL). If the project already has a valid (non-expired) debug token, that token is reused and no new token is generated. Pass `force_regenerate=true` to always issue a brand new token, which invalidates the previous one. - [Export project data as JSON](https://docs.developers.convert.com/reference/exportproject.md): Generates a JSON file containing all configuration data for a specific project. This includes its experiences, goals, audiences, locations, hypotheses, and project settings. Useful for backing up project configurations or migrating them to another Convert account or instance. The Knowledge Base mentions this feature for "Save and Migrate Project Settings" and "Template Creation". - [Import project data from a JSON file](https://docs.developers.convert.com/reference/importproject.md): Creates a new project or updates an existing one by importing data from a JSON file (previously exported from Convert). This allows for restoring backups or replicating project setups. The Knowledge Base mentions this for "Save and Migrate Project Settings" and "Template Creation". - [Import associated data into an existing project](https://docs.developers.convert.com/reference/importprojectdata.md): Imports associated data (like experiences, goals, audiences) from a JSON file into an already existing project. This is useful for selectively adding or updating components within a project from an export. The Knowledge Base mentions "Selective Import/Export: Choose to export/import entire projects or only selected goals, audiences, and locations." - [Get raw tracking debug logs for a project](https://docs.developers.convert.com/reference/getprojectdebuglogs.md): Returns recent raw tracking debug-log entries for the project. This exposes the full per-event debug detail: page URL, referrer, user-agent, ingest source, raw event IDs and the visitor segment snapshot. All body fields are optional — an empty body returns the most recent entries in the window. This endpoint contains visitor-level diagnostic data. Scope requests to the smallest useful experience, visitor, event-type, and time window, and do not copy raw entries into public escalation artifacts. - [List SDK keys for a project](https://docs.developers.convert.com/reference/getsdkkeyslist.md): Retrieves a list of SDK keys associated with a specific project. SDK keys are used by Convert's Full Stack SDKs (e.g., Node.js, JavaScript) to fetch experiment configurations and track events from server-side or client-side applications. Each key is tied to a specific environment within the project (e.g., production, staging). - [Create a new SDK key for a project](https://docs.developers.convert.com/reference/createsdkkey.md): Generates a new SDK key and, optionally, a secret for a specified project and environment. This key is then used by the Convert SDKs to authenticate and fetch project configurations. If `has_secret` is true and no `sdk_secret` is provided, a secret will be auto-generated. The SDK secret (if generated) is only shown at the time of creation. - [Update SDK Key](https://docs.developers.convert.com/reference/updatesdkkey.md): Partially update an SDK key, modifying only the specific fields provided in the request. - [Delete an SDK key](https://docs.developers.convert.com/reference/deletesdkkey.md): Permanently revokes an SDK key, identified by its `sdk_key` value. Once deleted, SDKs using this key will no longer be able to fetch configurations or track events for the associated project and environment. - [List experiences within a project](https://docs.developers.convert.com/reference/getexperienceslist.md): Retrieves a list of all experiences (A/B tests, MVT, Split URL, Deployments, etc.) within a specific project. Supports filtering by status, type, tags, and other criteria. Pagination is also supported. The `include` parameter can fetch related data like `variations` or `goals`. The `expand` parameter can provide full objects for linked entities. The Knowledge Base article "The Experience Overview Screen" describes the UI equivalent. - [Get details for a specific experience](https://docs.developers.convert.com/reference/getexperience.md): Retrieves comprehensive details for a single experience, identified by its `experience_id`. This includes its configuration (name, type, URL, status), associated audiences, locations, goals, variations, and integration settings. The `include` and `expand` parameters allow fetching more detailed related data. The Knowledge Base article "Experience Summary" describes the UI equivalent of this data. - [Get experience details by its unique key](https://docs.developers.convert.com/reference/getexperiencebykey.md): Retrieves comprehensive details for a single experience, identified by its user-defined `experience_key` instead of its numerical ID. This is useful when you have a human-readable key for an experience. Functionality and parameters are otherwise similar to getting an experience by ID. - [Create a new experience](https://docs.developers.convert.com/reference/createexperience.md): Creates a new experience (e.g., A/B test, Split URL test, MVT, Deploy, A/A test, Multi-page Funnel) within a project. Requires defining the experience name, type, status (usually 'draft'), and the URL for the Visual Editor or original page. Variations, audiences, locations, goals, and other settings can be specified during creation. The Knowledge Base article "Create a New Experience" outlines the UI process. - [Clone an existing experience](https://docs.developers.convert.com/reference/cloneexperience.md): Creates a new experience as an identical copy of an existing one (specified by `experience_id`). This is useful for iterating on a previous test or using an existing experience as a template. The cloned experience starts in 'draft' status and does not copy historical report data. The Knowledge Base article "How to Clone an Experiment?" describes this. - [Update an existing experience](https://docs.developers.convert.com/reference/updateexperience.md): Modifies the configuration of an existing experience. This can include changing its name, description, status (e.g., from 'draft' to 'active', or 'active' to 'paused'), URL, traffic distribution, audiences, locations, goals, variations, and integration settings. The Knowledge Base article "How Can I Change Variations After Experiment Started?" notes that variations cannot be added/removed after start, but other settings can be updated. - [Delete an experience](https://docs.developers.convert.com/reference/deleteexperience.md): Permanently removes an existing experience and all its associated data from the project. This action is irreversible. It's generally recommended to archive experiences instead of deleting them to preserve historical data. The Knowledge Base article "How Do I Archive / Delete an Experience?" highlights this. - [Manage report access token for an experience](https://docs.developers.convert.com/reference/getreporttoken.md): Generates, regenerates, or deletes a unique token that allows read-only access to an experience's report. This is useful for sharing report data with stakeholders who do not have a Convert account or full project access. The token has an expiration time. - [Get live tracking events for a specific experience](https://docs.developers.convert.com/reference/getexperiencelivedata.md): Retrieves the last 100 tracking events (views, conversions, revenue) specifically for the given experience. Useful for real-time monitoring and QA of a single active experience. Supports filtering by event type and goals. The Knowledge Base article "Live Logs for Projects and Experiments in Convert" describes this feature. - [Get change history for a specific experience](https://docs.developers.convert.com/reference/getexperiencehistory.md): Retrieves a historical log of all changes made to a specific experience. This includes modifications to its settings, variations, audiences, goals, status, etc. Provides an audit trail for the lifecycle of an experience, filterable by date and user. The Knowledge Base article "Track User Changes with Change History" details this. - [Trigger screenshot generation for experience variations](https://docs.developers.convert.com/reference/triggerexperiencescreenshots.md): Initiates the process of generating or regenerating screenshots for the variations of a specified experience. These screenshots are displayed in the Convert UI to help visualize the changes made in each variation. The Knowledge Base article "Whitelist IPs for Screenshot Previews" is related as it lists IPs our service uses. - [Update multiple experiences at once](https://docs.developers.convert.com/reference/bulkexperiencesupdate.md): Allows for changing the status (e.g., activate, pause, archive) of multiple experiences within a project simultaneously. Requires a list of experience IDs and the target status. The Knowledge Base article "Bulk Actions on Experiences" describes this UI feature. - [Delete multiple experiences at once](https://docs.developers.convert.com/reference/bulkexperiencesdelete.md): Permanently removes multiple experiences from a project in a single operation. Requires a list of experience IDs. This action is irreversible. The Knowledge Base article "Bulk Actions on Experiences" describes this UI feature. - [Detach a goal from an experience](https://docs.developers.convert.com/reference/detachexperiencegoal.md): Detaches a single conversion goal (identified by `goal_id`) from an experience, without deleting the goal itself. The goal remains available in the project and can still be attached to other experiences. Returns a 404 error if the experience or the goal does not exist, or if the goal is not currently attached to the experience. An experience must always keep at least one attached goal, so detaching the last remaining goal is not allowed and returns a 422 error. - [Update an experience variation](https://docs.developers.convert.com/reference/updateexperiencevariation.md): Modifies an existing variation within an experience. This can include changing its name, description, traffic distribution, status (running/stopped), or the actual changes (CSS, JS, HTML modifications) it applies. The Knowledge Base article "How do I edit my variations?" covers the UI aspect. - [Delete an experience variation](https://docs.developers.convert.com/reference/deleteexperiencevariation.md): Permanently removes a variation from an experience. Note: Deleting variations from an active or previously active experiment can impact statistical validity and is generally discouraged. It's often better to stop traffic to a variation. The Knowledge Base article "The Visual Editor in Convert Experiences" (Variations section) mentions: "You cannot delete a variation from an experience that is active or has been previously started and then paused." - [Get screenshot for an experience variation](https://docs.developers.convert.com/reference/getexperiencevariationscreenshot.md): Retrieves the screenshot image for a specific variation, base64 encoded. Screenshots help visualize the changes applied by a variation and are shown in the Convert UI. Can request a full-size image or a thumbnail. The Knowledge Base article "Whitelist IPs for Screenshot Previews" is related. - [Upload a screenshot for an experience variation](https://docs.developers.convert.com/reference/uploadexperiencevariationscreenshot.md): Allows uploading a custom screenshot image for a specific variation. This can be useful if automatic screenshot generation fails or if a specific view needs to be captured. The uploaded image will be displayed in the Convert UI for this variation. - [Convert a winning variation into a new experience (Deploy or A/B)](https://docs.developers.convert.com/reference/convertexperiencevariation.md): Takes a variation (often a winning one from an A/B test) and creates a new, separate experience from it. This new experience can be a 'Deploy' (to roll out the change to a specific audience) or another 'A/B' test (to further iterate). This is a common step after an A/B test concludes with a winner. The Knowledge Base article "What about Deployments?" mentions: "Create a new Deploy from a Variation or Winning Variation from another Experiment". - [List sections of a multivariate (MVT) experience](https://docs.developers.convert.com/reference/getsections.md): Retrieves the list of sections defined for a multivariate (MVT) experience. In MVT, a "section" is an element or area on the page where multiple alternatives (versions) are tested (e.g., a headline section with three different headline versions). Variations in an MVT are combinations of one version from each section. The Knowledge Base article "Creating a Multivariate Experiment" explains sections. - [Add a new section to an MVT experience](https://docs.developers.convert.com/reference/createsection.md): Creates a new section within a multivariate (MVT) experience. A section represents an element or area of the page to be tested with multiple alternatives (versions). Requires defining the section name and its initial versions with their respective changes. - [Update an existing section in an MVT experience](https://docs.developers.convert.com/reference/updatesection.md): Modifies an existing section within a multivariate (MVT) experience. This can include changing the section's name or updating its versions and their associated changes. The entire list of versions for the section must be provided; versions not included will be removed. - [Update all sections for an MVT experience](https://docs.developers.convert.com/reference/updateexperiencesections.md): Replaces all existing sections and their versions for a multivariate (MVT) experience with the provided list. If a section or version from the existing configuration is not included in the request, it will be removed. The order of sections, versions, and changes is important and will be preserved. This is a comprehensive update for the entire MVT structure. - [Add a new version to an MVT section](https://docs.developers.convert.com/reference/addexperiencesectionversion.md): Creates a new version (alternative) within a specific section of a multivariate (MVT) experience. Requires defining the version name and its associated changes (CSS, JS, etc.). - [Update a version within an MVT section](https://docs.developers.convert.com/reference/updateexperiencesectionversion.md): Modifies an existing version within a specific section of a multivariate (MVT) experience. This can include changing the version's name or updating its associated changes. - [Delete a version from an MVT section](https://docs.developers.convert.com/reference/deleteexperiencesectionversion.md): Permanently removes a version from a specific section of a multivariate (MVT) experience. Deleting versions can affect the combinations tested and the statistical validity of an active MVT. - [Get details of a specific change in a variation](https://docs.developers.convert.com/reference/getexperiencechange.md): Retrieves the details of a single change applied within an experience's variation. A change can be CSS modifications, JavaScript code, HTML insertions, or configurations for Split URL redirects or Full Stack features. The `data` field structure depends on the `type` of the change. - [Update a specific change in a variation](https://docs.developers.convert.com/reference/updateexperiencechange.md): Modifies the content or settings of an existing change within an experience's variation. For example, updating the JavaScript code, CSS rules, or redirect pattern for a change. The structure of the `data` field in the request body must match the `type` of the change being updated. - [Get report settings for an experience](https://docs.developers.convert.com/reference/getexperiencereportsettings.md): Retrieves the specific reporting settings for an experience. This includes configurations like confidence level, statistical methodology (Frequentist/Bayesian), MAB strategy, primary metric, and outlier detection rules. These settings govern how experiment results are calculated and displayed. The Knowledge Base article "Experiment Report" (Stats Settings section) covers these. - [Get aggregated performance report for an experience](https://docs.developers.convert.com/reference/getexperienceaggregatedreport.md): Retrieves the main performance report for a specific experience. This report shows aggregated data for each variation, including visitor counts, conversions, conversion rates, improvement percentages, and statistical confidence (or chance to win for Bayesian). Data is provided for all goals attached to the experience. Supports filtering by date range and segments. The Knowledge Base article "Experiment Report" details the metrics shown. - [Get daily performance report for an experience](https://docs.developers.convert.com/reference/getexperiencedailyreport.md): Retrieves a day-by-day breakdown of performance metrics (visitors, conversions, conversion rate, etc.) for a specific experience and goal. This allows trend analysis and observation of how an experiment performs over time. Supports filtering by date range and segments, and can show cumulative or non-cumulative data. The Knowledge Base article "Experiment Report" (Graphs section) visualizes this type of data. - [Get daily traffic allocation report for an MAB experience](https://docs.developers.convert.com/reference/getexperiencedailytrafficallocation.md): Retrieves the day-by-day traffic allocation percentages for each variation in an experience that uses Multi-Armed Bandit (MAB) or auto-allocation. This shows how Convert dynamically shifted traffic towards better-performing variations over time. The Knowledge Base article "Multi-Armed Bandit (MAB) & Auto-Allocation in Convert" explains this feature. - [Reset report data for an experience](https://docs.developers.convert.com/reference/resetexperiencereport.md): Clears all accumulated visitor and conversion data for an experience's report, effectively resetting its statistics to zero. The start date of the experiment is also reset. This is useful if you want to restart data collection after making significant changes or for QA purposes. The Knowledge Base article "Reset Experiment Data" warns: "If you want to prevent [carry-over effects], it is suggested that you clone your experiment instead of resetting the report". - [Export an experience report (CSV/PDF)](https://docs.developers.convert.com/reference/exportexperiencereport.md): Generates an export of an experience's performance report in either CSV (aggregated or daily) or PDF format. Returns a downloadable link for the generated file. Useful for offline analysis or sharing with stakeholders. The Knowledge Base article "Experiment Report" (Export & Download section) describes this. - [Export raw tracking data for an experience](https://docs.developers.convert.com/reference/exportexperiencerawdata.md): Initiates a job to export the raw, event-level tracking data for a specific experience. This data includes individual visitor bucketing events, conversions, and transactions. The export is typically delivered as a link via email due to potential size. Useful for in-depth custom analysis or importing into external data warehouses. The Knowledge Base article "Experiment Report" (Export & Download section) mentions this. - [Remove specific data from an experience report](https://docs.developers.convert.com/reference/removeexperiencereportdata.md): Allows for targeted deletion of report data for an experience based on date range and event type (view_experience, conversion, transaction). For conversion and transaction events, specific goals can be targeted. If `simulate` is true, returns a count of records that would be deleted without actual deletion. Otherwise, performs permanent deletion. The Knowledge Base article "Remove Report Data Feature" details this. - [Get report integrity check for an experience](https://docs.developers.convert.com/reference/getexperiencereportintegrity.md): Compares a recent window to an equal-length prior baseline window and flags per-stream drops where a stream was receiving data in the baseline and stopped receiving data in the recent window. Two windows of identical length are derived from the `since` parameter: - **Recent**: `[now − since, now]` - **Baseline**: `[now − 2·since, now − since]` Each window boundary can also be set explicitly via the optional `recent_start`, `recent_end`, `baseline_start` and `baseline_end` parameters (Unix timestamps in seconds). An explicit boundary takes priority over the `since`-derived value; any boundary that is not supplied is still calculated from `since`. These may be combined with `since` — for example, supplying only `recent_start` and `baseline_start` overrides those two starts while both ends continue to be derived from `since`. The check covers two types of streams: - **Bucketing**: overall experiment traffic (visitors bucketed into the experience). - **Goal**: per-goal conversion events for each goal attached to the experience (or the subset specified via `goals`). A stream is flagged when its baseline count meets the `min_baseline` threshold (i.e. it was genuinely receiving data) but its recent count is zero, indicating that data flow has stopped. If the experience was not live for the full duration of both windows, `live_across_window` is `false` and all streams are returned with `flagged: false` and `reason: "experiment_not_live"`. - [Get heatmap background image](https://docs.developers.convert.com/reference/getexperienceheatmapbackground.md): Retrieves the background image for a specific heatmap and device. - [Get heatmap overlay (interaction) image](https://docs.developers.convert.com/reference/getexperienceheatmapoverlay.md): Retrieves the overlay image for a specific heatmap, device, and interaction type. - [Initiate heatmap live screenshot retake](https://docs.developers.convert.com/reference/retakeexperienceheatmapscreenshot.md): Initiates a heatmap live screenshot retake for the given heatmap and device. Returns the variation context, retake expiry time, and a preview URL with `visa_h` and `visa_d` query parameters. `visa_d` is a numeric device code for the Visitor Insights tracking worker (`0` = mobile, `1` = tablet, `2` = desktop) — deliberately not the `HeatmapDevices` name used by the `device` field. - [List goals within a project](https://docs.developers.convert.com/reference/getgoalslist.md): Retrieves a list of all conversion goals defined for a specific project. Goals are used to measure the success of experiences (e.g., purchases, sign-ups, page views). Supports filtering by status, type, name, and pagination. The Knowledge Base article "Goals" describes various goal types like 'Visit a specific page', 'Revenue goal', 'Click on a link', etc. - [Get details for a specific goal](https://docs.developers.convert.com/reference/getgoal.md): Retrieves detailed information about a single conversion goal, identified by its `goal_id`. This includes its name, type (e.g., 'visits_page', 'revenue', 'clicks_link'), configuration settings (like URL for page visit goals, or CSS selector for click goals), and triggering rules. The `include` parameter can fetch additional data like usage statistics. - [Get goal details by its unique key](https://docs.developers.convert.com/reference/getgoalbykey.md): Retrieves detailed information about a single conversion goal, identified by its user-defined `goal_key`. Useful if you have a human-readable key for a goal. Otherwise, similar to getting a goal by ID. - [Create a new conversion goal](https://docs.developers.convert.com/reference/creategoal.md): Defines a new conversion goal within a project. Requires specifying the goal name and type (e.g., 'visits_page', 'revenue', 'clicks_link', 'submits_form', 'code_trigger'). Depending on the type, additional settings are needed, such as the target URL for a page visit goal, or the CSS selector for a click goal. The Knowledge Base article "Goals" (Use a goal template section) lists various types. - [Update an existing conversion goal](https://docs.developers.convert.com/reference/updategoal.md): Modifies the configuration of an existing conversion goal. This can include changing its name, type, status (active/archived), or specific settings like the target URL or triggering rules. - [Delete a conversion goal](https://docs.developers.convert.com/reference/deletegoal.md): Permanently removes a conversion goal from a project. This action is irreversible. If the goal is in use by active experiences, consider archiving it instead. - [Update multiple goals at once](https://docs.developers.convert.com/reference/bulkgoalsupdate.md): Allows for changing the status (e.g., active, archived) of multiple goals within a project simultaneously. Requires a list of goal IDs and the target status. - [Delete multiple goals at once](https://docs.developers.convert.com/reference/bulkgoalsdelete.md): Permanently removes multiple goals from a project in a single operation. Requires a list of goal IDs. This action is irreversible. - [Clone an existing conversion goal](https://docs.developers.convert.com/reference/clonegoal.md): Creates a new goal as an identical copy of an existing one (specified by `goal_id`). Useful for creating a similar goal with minor modifications or for templating. - [List hypotheses within a project](https://docs.developers.convert.com/reference/gethypotheseslist.md): Retrieves a list of all hypotheses defined for a specific project. A hypothesis is an assumption about a proposed change and its expected impact, forming the basis for an experiment. Supports filtering by status, score, name, and pagination. The Knowledge Base article "Hypotheses (Compass)" explains: "A hypothesis is an assumption that a proposed change in your website would lead to visitors taking the action that you want them to." - [Get details for a specific hypothesis](https://docs.developers.convert.com/reference/gethypothesis.md): Retrieves detailed information about a single hypothesis, identified by its `hypothesis_id`. This includes its name, objective, prioritization score (PIE or ICE), status, associated experiences, and tags. - [Create a new hypothesis](https://docs.developers.convert.com/reference/createhypothesis.md): Defines a new hypothesis within a project. Requires a name, objective (problem and proposed solution), prioritization model (PIE or ICE) and its scores, status, and optionally, start/end dates, summary, associated experiences, and tags. The Knowledge Base article "Hypotheses (Compass)" details the PIE (Potential, Importance, Ease) and ICE (Impact, Confidence, Ease) models. - [Update an existing hypothesis](https://docs.developers.convert.com/reference/updatehypothesis.md): Modifies the details of an existing hypothesis, such as its name, objective, prioritization scores, status, or associated experiences and tags. - [Update the status of a hypothesis](https://docs.developers.convert.com/reference/updatehypothesisstatus.md): Changes the status of an existing hypothesis (e.g., from 'draft' to 'completed', 'applied', 'proven', 'disproven', or 'archived'). This helps track the lifecycle of a hypothesis from idea to tested outcome. - [Convert a proven/disproven hypothesis to a Knowledge Base entry](https://docs.developers.convert.com/reference/converthypothesis.md): Moves a hypothesis (typically one that is 'proven' or 'disproven' after testing) into the Knowledge Base. This archives the learnings from the hypothesis for future reference and organizational learning. The Knowledge Base article "Hypotheses (Compass)" mentions: "Proven hypotheses can then be moved to the Knowledge Base". - [Delete a hypothesis](https://docs.developers.convert.com/reference/deletehypothesis.md): Permanently removes a hypothesis from a project. This action is irreversible. - [Update multiple hypotheses at once](https://docs.developers.convert.com/reference/bulkhypothesesupdate.md): Allows for changing the status of multiple hypotheses within a project simultaneously. Requires a list of hypothesis IDs and the target status. - [Delete multiple hypotheses at once](https://docs.developers.convert.com/reference/bulkhypothesesdelete.md): Permanently removes multiple hypotheses from a project in a single operation. Requires a list of hypothesis IDs. This action is irreversible. - [List Knowledge Base entries within a project](https://docs.developers.convert.com/reference/getknowledgebaseslist.md): Retrieves a list of all Knowledge Base entries for a specific project. The Knowledge Base stores proven or disproven hypotheses and their outcomes, serving as a repository of experimental learnings. Supports filtering by status, name, and pagination. The Knowledge Base article "Observations Feature Guide" explains: "Knowledge Base - Convert proven hypotheses to serve as a historical record and knowledge resource." - [Get details for a specific Knowledge Base entry](https://docs.developers.convert.com/reference/getknowledgebase.md): Retrieves detailed information about a single Knowledge Base entry, identified by its `knowledge_base_id`. This includes the original hypothesis name, summary of findings, status, and associated tags. - [Create a new Knowledge Base entry](https://docs.developers.convert.com/reference/createknowledgebase.md): Adds a new entry to the Knowledge Base. This is typically done by converting a 'proven' or 'disproven' hypothesis, but can also be used to manually add other experimental learnings. Requires a name, summary, and status. - [Update the status of a Knowledge Base entry](https://docs.developers.convert.com/reference/updateknowledgebase.md): Changes the status of an existing Knowledge Base entry (e.g., from 'active' to 'archived'). - [Delete a Knowledge Base entry](https://docs.developers.convert.com/reference/deleteknowledgebase.md): Permanently removes a Knowledge Base entry from a project. This action is irreversible. - [Update multiple Knowledge Base entries at once](https://docs.developers.convert.com/reference/bulkknowledgebasesupdate.md): Allows for changing the status (e.g., active, archived) of multiple Knowledge Base entries within a project simultaneously. Requires a list of Knowledge Base entry IDs and the target status. - [Delete multiple Knowledge Base entries at once](https://docs.developers.convert.com/reference/bulkknowledgebasesdelete.md): Permanently removes multiple Knowledge Base entries from a project in a single operation. Requires a list of Knowledge Base entry IDs. This action is irreversible. - [List observations within a project](https://docs.developers.convert.com/reference/getobservationslist.md): Retrieves a list of all observations recorded for a specific project. Observations are initial insights, ideas, or user behaviors noted by the team, which can later be developed into hypotheses. Supports filtering by status, name, tags, and pagination. The Knowledge Base article "Observations Feature Guide" explains: "Observations - Document initial insights directly." - [Get details for a specific observation](https://docs.developers.convert.com/reference/getobservation.md): Retrieves detailed information about a single observation, identified by its `observation_id`. This includes its name, description, reference URL, status, associated tags, and any attachments (images/files). - [Create a new observation](https://docs.developers.convert.com/reference/createobservation.md): Records a new observation within a project. Requires a name, and can include a description, reference URL, status, tags, and attachments (images/files). Observations are the first step in the ideation process, leading to hypotheses. The Knowledge Base article "Observations Feature Guide" details this: "Observations serve as the starting point in documenting insights." - [Update an existing observation](https://docs.developers.convert.com/reference/updateobservation.md): Modifies the details of an existing observation, such as its name, description, URL, status, tags, or attachments. - [Delete an observation](https://docs.developers.convert.com/reference/deleteobservation.md): Permanently removes an observation from a project. This action is irreversible. - [Update multiple observations at once](https://docs.developers.convert.com/reference/bulkobservationsupdate.md): Allows for changing the status (e.g., active, archived) of multiple observations within a project simultaneously. Requires a list of observation IDs and the target status. - [Delete multiple observations at once](https://docs.developers.convert.com/reference/bulkobservationsdelete.md): Permanently removes multiple observations from a project in a single operation. Requires a list of observation IDs. This action is irreversible. - [List locations within a project](https://docs.developers.convert.com/reference/getlocationslist.md): Retrieves a list of all locations defined for a specific project. Locations define *where* on a website an experience will run, based on URL patterns, page tags, or JavaScript conditions. Supports filtering by status, name, and pagination. The Knowledge Base article "Locations" explains: "Locations conditions include the pages on which the experiment will run." - [Get details for a specific location](https://docs.developers.convert.com/reference/getlocation.md): Retrieves detailed information about a single location, identified by its `location_id`. This includes its name, status, triggering rules (e.g., URL matches, JS conditions), and the type of trigger (e.g., upon_run, manual, dom_element). The `include` parameter can fetch additional data like usage statistics. - [Create a new location](https://docs.developers.convert.com/reference/createlocation.md): Defines a new location within a project. Requires a name and a set of rules (e.g., URL contains 'product/', JS condition `window.userType === 'premium'`). Also requires specifying the trigger type (e.g., 'upon_run' to activate when rules match on page load, or 'manual' to activate via JavaScript call). The Knowledge Base article "Creating Effective Experiences: A Guide to Location Setup" describes different trigger options. - [Update an existing location](https://docs.developers.convert.com/reference/updatelocation.md): Modifies the configuration of an existing location. This can include changing its name, status (active/archived), triggering rules, or trigger type. - [Delete a location](https://docs.developers.convert.com/reference/deletelocation.md): Permanently removes a location from a project. This action is irreversible. If the location is in use by active experiences, consider archiving it instead or unlinking it from experiences first. - [Update multiple locations at once](https://docs.developers.convert.com/reference/bulklocationsupdate.md): Allows for changing the status (e.g., active, archived) of multiple locations within a project simultaneously. Requires a list of location IDs and the target status. - [Delete multiple locations at once](https://docs.developers.convert.com/reference/bulklocationsdelete.md): Permanently removes multiple locations from a project in a single operation. Requires a list of location IDs. This action is irreversible. - [List predefined location templates (presets)](https://docs.developers.convert.com/reference/getlocationspresets.md): Retrieves a list of predefined location templates (presets) available for use. These presets offer common targeting configurations (e.g., "All Pages", "Homepage") to speed up location setup. The Knowledge Base article "Creating Effective Experiences: A Guide to Location Setup" mentions "Saved Locations" which are user-created, these are system presets. - [Clone an existing location](https://docs.developers.convert.com/reference/clonelocation.md): Creates a new location as an identical copy of an existing one (specified by `location_id`). Useful for creating a similar location with minor modifications or for templating. - [List audiences within a project](https://docs.developers.convert.com/reference/getaudienceslist.md): Retrieves a list of all audiences defined for a specific project. Audiences segment visitors based on criteria like behavior, demographics, traffic source, or custom data, to target experiences. Supports filtering by status, type, name, and pagination. The Knowledge Base article "Define Audiences for your Experience" explains: "An 'Audience' is a group of visitors that you want to be included in your experience". - [Get details for a specific audience](https://docs.developers.convert.com/reference/getaudience.md): Retrieves detailed information about a single audience, identified by its `audience_id`. This includes its name, type (permanent, transient, segmentation), status, and the rules defining the audience criteria (e.g., browser is Chrome, country is USA, visited specific page). The `include` parameter can fetch additional data like usage statistics. - [Create a new audience](https://docs.developers.convert.com/reference/createaudience.md): Defines a new audience within a project. Requires a name, type (permanent, transient, segmentation), and a set of rules defining the audience criteria. Rules can be based on visitor data (browser, device, geo-location, language, visit count, cookie values), traffic sources (UTM parameters, referrer), page tags, or JavaScript conditions. The Knowledge Base article "Define an Advanced Audience" lists many available conditions. - [Update an existing audience](https://docs.developers.convert.com/reference/updateaudience.md): Modifies the configuration of an existing audience. This can include changing its name, type, status (active/archived), or the rules defining its criteria. - [Delete an audience](https://docs.developers.convert.com/reference/deleteaudience.md): Permanently removes an audience from a project. This action is irreversible. If the audience is in use by active experiences, consider archiving it instead or unlinking it from experiences first. - [Update multiple audiences at once](https://docs.developers.convert.com/reference/bulkaudiencesupdate.md): Allows for changing the status (e.g., active, archived) of multiple audiences within a project simultaneously. Requires a list of audience IDs and the target status. - [Delete multiple audiences at once](https://docs.developers.convert.com/reference/bulkaudiencesdelete.md): Permanently removes multiple audiences from a project in a single operation. Requires a list of audience IDs. This action is irreversible. - [List predefined audience templates (presets)](https://docs.developers.convert.com/reference/getaudiencespresets.md): Retrieves a list of predefined audience templates (presets) available for use. These presets offer common targeting configurations (e.g., "New Visitors", "Mobile Users", "Visitors from Google") to speed up audience setup. The Knowledge Base article "Define an Audience from the Templates" describes this. - [Clone an existing audience](https://docs.developers.convert.com/reference/cloneaudience.md): Creates a new audience as an identical copy of an existing one (specified by `audience_id`). Useful for creating a similar audience with minor modifications or for templating. - [List domains associated with a project](https://docs.developers.convert.com/reference/getdomainslist.md): Retrieves a list of all website domains configured for a specific project. The Convert tracking script will operate on these domains to run experiences and track visitors. Wildcard domains (e.g., `*.example.com`) are supported. As per the Knowledge Base: "Active Websites: The domains you would like to use inside the project. Make sure you always add new domains here..." - [Get details for a specific domain in a project](https://docs.developers.convert.com/reference/getdomain.md): Retrieves information about a single domain associated with a project, identified by its `domain_id`. This includes the domain URL and whether the Convert tracking code was detected on it. - [Get domain details by its URL](https://docs.developers.convert.com/reference/getdomainbyurl.md): Retrieves information about a domain by matching its URL (exact or wildcard) instead of its ID. Useful if you know the domain URL but not its internal Convert ID. - [Verify Convert tracking code installation on a domain](https://docs.developers.convert.com/reference/checkcodedomain.md): Checks if the Convert tracking script for the specified project is correctly installed and detectable on the given URL (which must belong to the domain identified by `domain_id`). Updates the `code_installed` status of the domain object. The Knowledge Base article "Tracking Script Installation Verification" describes this UI feature. - [Add a new domain to a project](https://docs.developers.convert.com/reference/createdomain.md): Associates a new website domain (e.g., `https://www.example.com`) with the specified project. The Convert tracking script for this project should then be installed on this domain to enable experiments. Wildcards like `https://*.example.com` can be used to include all subdomains. - [Update an existing domain in a project](https://docs.developers.convert.com/reference/updatedomain.md): Modifies the URL of an existing domain associated with a project. - [Remove a domain from a project](https://docs.developers.convert.com/reference/deletedomain.md): De-associates a domain from the specified project. After deletion, Convert experiences will no longer run on this domain for this project. - [Remove multiple domains from a project](https://docs.developers.convert.com/reference/bulkdomainsdelete.md): De-associates multiple domains from the specified project in a single operation. Requires a list of domain IDs to be removed. - [List uploaded images for a project](https://docs.developers.convert.com/reference/getcdnimageslist.md): Retrieves a list of images that have been uploaded to the Convert CDN for a specific project. These images can be used in experience variations. Supports pagination. The Knowledge Base article "Image Upload Guidelines for Convert Visual Editor" mentions image upload limits. - [Upload an image to the project's CDN storage](https://docs.developers.convert.com/reference/uploadcdnimage.md) - [Delete an image from the project's CDN storage](https://docs.developers.convert.com/reference/deletecdnimage.md) - [Upload a generic file to project storage](https://docs.developers.convert.com/reference/uploadfile.md) - [Get content of an uploaded file](https://docs.developers.convert.com/reference/getfile.md): Retrieves the content of a previously uploaded file, identified by its `file_key`. The file content is returned base64 encoded. - [Delete an uploaded file from project storage](https://docs.developers.convert.com/reference/deletefile.md) - [List tags within a project](https://docs.developers.convert.com/reference/gettagslist.md): Retrieves a list of all tags defined for a specific project. Tags are keywords used to categorize and organize experiences, goals, audiences, etc., for easier management and filtering. The Knowledge Base article "Adding tags to your Experiences" explains their use. - [Get details for a specific tag](https://docs.developers.convert.com/reference/gettag.md): Retrieves information about a single tag, identified by its `tag_id`. This includes its name and description. - [Create a new tag](https://docs.developers.convert.com/reference/createtag.md): Defines a new tag within a project. Requires a tag name and an optional description. Tags can then be applied to experiences, goals, etc., to help organize them. - [Update an existing tag](https://docs.developers.convert.com/reference/updatetag.md): Modifies the name or description of an existing tag. - [Delete a tag](https://docs.developers.convert.com/reference/deletetag.md): Permanently removes a tag from a project. This does not delete the items (experiences, goals, etc.) that were associated with the tag, but simply removes the tag association. - [Delete multiple tags at once](https://docs.developers.convert.com/reference/bulktagsdelete.md): Permanently removes multiple tags from a project in a single operation. Requires a list of tag IDs. - [List features within a Full Stack project](https://docs.developers.convert.com/reference/getfeatureslist.md): Retrieves a list of all features defined for a specific Full Stack project. Features are used for feature flagging and server-side experimentation, allowing control over functionality and variables. Supports filtering by name, key, status, and pagination. The Knowledge Base article "Full Stack Experiments on Convert" provides context. - [Get details for a specific feature](https://docs.developers.convert.com/reference/getfeature.md): Retrieves detailed information about a single feature within a Full Stack project, identified by its `feature_id`. This includes its name, key, status, description, and defined variables (with their types and default values). - [Get feature details by its unique key](https://docs.developers.convert.com/reference/getfeaturebykey.md): Retrieves detailed information about a single feature, identified by its user-defined `feature_key`. Useful if you have a human-readable key for a feature. Otherwise, similar to getting a feature by ID. - [Create a new feature for a Full Stack project](https://docs.developers.convert.com/reference/createfeature.md): Defines a new feature within a Full Stack project. Requires a name, a unique key, and a list of variables associated with the feature. Each variable has a key, type (string, boolean, integer, float, json), and a default value. Features are used in Full Stack experiments to control different code paths or configurations. - [Update an existing feature](https://docs.developers.convert.com/reference/updatefeature.md): Modifies the configuration of an existing feature in a Full Stack project. This can include changing its name, description, status (active/archived), or its associated variables (adding, removing, or modifying variables and their default values). - [Delete a feature](https://docs.developers.convert.com/reference/deletefeature.md): Permanently removes a feature from a Full Stack project. This action is irreversible. If the feature is in use by active experiments, consider its impact before deletion. - [Update multiple features at once](https://docs.developers.convert.com/reference/bulkfeaturesupdate.md): Allows for changing the status (e.g., active, archived) of multiple features within a Full Stack project simultaneously. Requires a list of feature IDs and the target status. - [Delete multiple features at once](https://docs.developers.convert.com/reference/bulkfeaturesdelete.md): Permanently removes multiple features from a Full Stack project in a single operation. Requires a list of feature IDs. This action is irreversible. - [List recorded visitor sessions for a project](https://docs.developers.convert.com/reference/getsessionslist.md): Retrieves a list of recorded visitor sessions for a specific project. This endpoint is typically used for integrations that require access to raw session data. Note: This is different from Convert Signals. For frustration and usability insights, see the Signal Sessions endpoint. - [List Convert Signals™ (visitor frustration sessions)](https://docs.developers.convert.com/reference/getsignalsessionslist.md): Retrieves a list of Convert Signals™ sessions for a project. Convert Signals™ "is a special anonymous and privacy oriented session recording feature...It shows only really clear frustrations, errors and usability signals of real users". Use this to identify sessions where visitors experienced issues like rage clicks, dead clicks, or scroll stalls. Supports filtering by date, experience, variation, location, country, device, browser, and more. - [Delete a specific Convert Signals™ session](https://docs.developers.convert.com/reference/deletesignalsession.md): Permanently removes a recorded Convert Signals™ session, identified by its `signal_session_id`. - [Get Visitors Data](https://docs.developers.convert.com/reference/getvisitordata-1.md): Get visitors data for a project - [Create Visitor Data Item](https://docs.developers.convert.com/reference/createvisitordataitem.md): Creates a new visitor data item. Fails if visitor_id already exists. - [Get Visitor Data Item](https://docs.developers.convert.com/reference/getvisitordataitem.md): Returns a single visitor data item by visitor_id. - [Update Visitor Data Item](https://docs.developers.convert.com/reference/updatevisitordataitem.md): Updates an existing visitor data item by visitor_id. - [Delete Visitor Data Item](https://docs.developers.convert.com/reference/deletevisitordataitem.md): Deletes a visitor data item identified by visitor_id. - [Import Visitors Data Csv](https://docs.developers.convert.com/reference/importvisitorsdatacsv.md): Imports visitors data into the project from a CSV file - [Import Visitors Data Push](https://docs.developers.convert.com/reference/pushvisitorsdata.md): push endpoint for visitors data import from the third party service - [List Placeholders](https://docs.developers.convert.com/reference/getvisitorsdataplaceholderslist.md): Returns a list of visitors data placeholders defined in the project - [Create Placeholder](https://docs.developers.convert.com/reference/createvisitorsdataplaceholder.md): Creates a new visitors data placeholder - [Update Placeholder](https://docs.developers.convert.com/reference/updatevisitorsdataplaceholder.md): Updates an existing visitors data placeholder - [Delete Placeholder](https://docs.developers.convert.com/reference/deletevisitorsdataplaceholder.md): Deletes a visitors data placeholder - [Get Placeholder](https://docs.developers.convert.com/reference/getvisitorsdataplaceholder.md): Returns a single visitors data placeholder by ID. - [List OAuth clients](https://docs.developers.convert.com/reference/listoauthclients.md): Cookie-authenticated endpoint that lists OAuth clients for the current user. - [Create an OAuth client](https://docs.developers.convert.com/reference/createoauthclient.md): Cookie-authenticated endpoint to register a new OAuth client. - [Update an OAuth client](https://docs.developers.convert.com/reference/updateoauthclient.md): Cookie-authenticated endpoint to update an existing OAuth client. - [Delete an OAuth client](https://docs.developers.convert.com/reference/deleteoauthclient.md): Cookie-authenticated endpoint to delete an OAuth client and all its sessions. - [List approval requests for an account](https://docs.developers.convert.com/reference/listapprovalrequests.md): Returns approval requests within the account, filterable by `entity_type`, `entity_id`, `status`, `submitted_by`, and `requires_my_approval`. Results are paginated (default page size 25) and scoped to the requests the calling user is permitted to see. When `onlyCount` is `true`, the response contains only the total count and omits the item data. - [Create an approval request](https://docs.developers.convert.com/reference/createapprovalrequest.md): Creates a new approval request in `pending` state for the given entity action. Returns `409 Conflict` (with the existing request's id in the error context) if a pending request already exists for the same account, entity type, entity id, rule code, and submitter. - [Get a single approval request](https://docs.developers.convert.com/reference/getapprovalrequest.md): Returns a single approval request. Scoped to the account — requests from other accounts are not visible. - [Approve a pending approval request](https://docs.developers.convert.com/reference/approveapprovalrequest.md): Approves a pending request, recording `reviewed_by` and `reviewed_at`. Returns `403 Forbidden` if the caller is the submitter (self-approval is not permitted) and `422 Unprocessable Entity` if the request is not in `pending` state. - [Reject a pending approval request](https://docs.developers.convert.com/reference/rejectapprovalrequest.md): Rejects a pending request, recording `reviewed_by`, `reviewed_at`, and the required `review_reason`. Returns `403 Forbidden` if the caller is the submitter and `422 Unprocessable Entity` if the request is not in `pending` state. - [Get approval rule configuration for an account](https://docs.developers.convert.com/reference/getapprovalrequestsettings.md): Returns the account's current approval rule configuration — the list of predefined rules with their `enabled` state, scope, entity type, and description. Rules are disabled by default. - [Update approval request settings for an account](https://docs.developers.convert.com/reference/setapprovalrequestsetting.md): Updates settings of a specific approval rule for the account. Requires the `manage_approval_settings` permission. The change is recorded in the account audit log. ## Recipes - [Annual Discount Anchor](https://docs.developers.convert.com/recipes/annual-discount-display.md) - [Annual Plan Default with Discount Framing](https://docs.developers.convert.com/recipes/annual-plan-default-test.md) - [Checkout Trust Signals](https://docs.developers.convert.com/recipes/checkout-trust-signals.md) - [Churn Prediction Offer](https://docs.developers.convert.com/recipes/churn-risk-offer.md) - [Credit Card Gated Free Trial](https://docs.developers.convert.com/recipes/credit-card-gate-test.md) - [Decoy Price Tier](https://docs.developers.convert.com/recipes/decoy-tier-placement.md) - [Notification Digest Frequency](https://docs.developers.convert.com/recipes/digest-frequency-test.md) - [New Feature Rollout](https://docs.developers.convert.com/recipes/feature-announcement-style.md) - [Feature Flag / Kill Switch](https://docs.developers.convert.com/recipes/feature-flag-x.md) - [Experiment Gatekeeper](https://docs.developers.convert.com/recipes/internal-qa-gate.md) - [Feature Metering Threshold](https://docs.developers.convert.com/recipes/metering-threshold.md) - [Mutual Exclusion Between Experiences](https://docs.developers.convert.com/recipes/mutual-exclusion-pattern.md) - [Onboarding Social Proof Nudge](https://docs.developers.convert.com/recipes/onboarding-social-proof-test.md) - [Sign-Up/Onboarding Step Reduction](https://docs.developers.convert.com/recipes/onboarding-step-skip.md) - [Price Tier Introduction Test](https://docs.developers.convert.com/recipes/price-tier-test.md) - [Pricing Page Test](https://docs.developers.convert.com/recipes/pricing-page-config.md) - [Re-Engagement Nudge](https://docs.developers.convert.com/recipes/reengagement-nudge.md) - [User Role Onboarding](https://docs.developers.convert.com/recipes/role-based-flow.md) - [First Project Default](https://docs.developers.convert.com/recipes/seed-project-test.md) - [Segmented Trial Length by User Type](https://docs.developers.convert.com/recipes/segmented-trial-length.md) - [Signup Form Fields](https://docs.developers.convert.com/recipes/signup-field-reduction.md) - [Split URL Redirect Test](https://docs.developers.convert.com/recipes/split-url-redirect.md) - [Post-Paywall Team Invite](https://docs.developers.convert.com/recipes/team-invite-test.md) - [Free Trial Length Test](https://docs.developers.convert.com/recipes/trial-length-test.md) - [Product Walkthrough Test](https://docs.developers.convert.com/recipes/walkthrough-style.md) - [Welcome Email Tone Test](https://docs.developers.convert.com/recipes/welcome-email-tone.md) - [Dashboard Widget Placement](https://docs.developers.convert.com/recipes/widget-placement.md) ## Changelog - [MCP Server v0.0.1-beta.15](https://docs.developers.convert.com/changelog/mcp-server-v0-0-1-beta-15.md) - [Tracking Script v1.5.3](https://docs.developers.convert.com/changelog/tracking-script-v1-5-3.md) - [Tracking Script v1.5.2](https://docs.developers.convert.com/changelog/tracking-script-v1-5-2.md) - [MCP Server v0.0.1-beta.14](https://docs.developers.convert.com/changelog/mcp-server-v0-0-1-beta-14.md) - [JavaScript SDK for Cloudflare v2.0.1](https://docs.developers.convert.com/changelog/js-sdk-cloudflare-v2-0-1.md) - [JavaScript SDK v5.0.1](https://docs.developers.convert.com/changelog/js-sdk-v5-0-1.md) - [Tracking Script v1.5.1](https://docs.developers.convert.com/changelog/tracking-script-v1-5-1.md) - [Android SDK v2.0.0](https://docs.developers.convert.com/changelog/android-sdk-v2-0-0.md) - [iOS SDK v2.0.0](https://docs.developers.convert.com/changelog/ios-sdk-v2-0-0.md) - [JavaScript SDK for Cloudflare v2.0.0](https://docs.developers.convert.com/changelog/js-sdk-cloudflare-v2-0-0.md)