# Feature Experimentation Documentation
> Documentation for Feature Experimentation
## Guides
- [Introduction](https://docs.developers.optimizely.com/feature-experimentation/docs/introduction.md): Developer documentation for Optimizely Feature Experimentation.
- [Optimizely Feature Experimentation - application and migration](https://docs.developers.optimizely.com/feature-experimentation/docs/feature-experimentation-application-migration.md): Introduces the new experience for Optimizely Feature Experimentation.
- [Feature Experimentation migration timeline](https://docs.developers.optimizely.com/feature-experimentation/docs/feature-experimentation-migration-timeline.md): Timeline of migration from Optimizely Full Stack Experimentation to Optimizely Feature Experimentation.
- [Key concepts and differences in Optimizely Feature Experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs/key-concepts-and-differences-in-full-stack-and-feature-experimentation.md): Key differences between Full Stack legacy and Optimizely Feature Experimentation.
- [Simplified data model](https://docs.developers.optimizely.com/feature-experimentation/docs/simplified-data-model.md): Optimizely Feature Experimentation updated data model.
- [Updated Feature Experimentation application UI](https://docs.developers.optimizely.com/feature-experimentation/docs/updated-optimizely-application-ui.md): Explains the differences in the Optimizely application user interface between Full Stack Experimentation legacy and Feature Experimentation.
- [Updated methods in Feature Experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs/updated-api-methods.md): Introduces the SDK methods to retrieve decisions for your flags in Optimizely Feature Experimentation.
- [Impressions after migration](https://docs.developers.optimizely.com/feature-experimentation/docs/impressions-after-migration.md): The way Optimizely Experimentation triggers impressions may change after migrating from Full Stack Experimentation (Legacy) to Feature Experimentation, depending on the types of experiments you run and your SDK implementation.
- [Quickstarts](https://docs.developers.optimizely.com/feature-experimentation/docs/quickstarts.md): Simple guides to help you get started with Optimizely Feature Experimentation SDKs.
- [Android SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/android-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's Android SDK. Follow the steps in this guide to create a flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [C# SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/c-sharp-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's C# SDK. Follow the steps in this guide to create a flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [Flutter SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/flutter-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's Flutter SDK. Follow the steps in this guide to create a flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [Go SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/go-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's Go SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [Java SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/java-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation Java SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [JavaScript SDK v6+ quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-sdk-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation JavaScript SDK v6. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [JavaScript (Browser) SDK quickstart prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-browser-quickstart-prior-to-v6.md): Welcome to the quickstart guide for Optimizely Feature Experimentation JavaScript (Browser) SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [JavaScript (Node) SDK quickstart prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-node-quickstart-prior-to-v6.md): Welcome to the quickstart guide for Optimizely Feature Experimentation JavaScript (Node) SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [PHP SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/php-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's PHP SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [Python SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/python-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's Python SDK. Follow the steps in this guide to create a flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [React SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/react-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's React SDK v4+. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple React application.
- [React SDK quickstart (prior to v4)](https://docs.developers.optimizely.com/feature-experimentation/docs/react-quickstart-prior-to-v4.md): Quickstart guide for Optimizely Feature Experimentation's React SDK versions 3.x and earlier.
- [React Native SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/react-native-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation's React Native SDK v4+. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple React Native application.
- [Ruby SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/ruby-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation Ruby SDK. Follow the steps in this guide to create a feature flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [Swift SDK quickstart](https://docs.developers.optimizely.com/feature-experimentation/docs/swift-quickstart.md): Welcome to the quickstart guide for Optimizely Feature Experimentation Swift SDK. Follow the steps in this guide to create a flag, roll out a flag delivery, and run an A/B test using a simple command-line application.
- [How bucketing works](https://docs.developers.optimizely.com/feature-experimentation/docs/how-bucketing-works-feature-experimentation.md): Overview of how Optimizely Feature Experimentation assigns users to a flag variation.
- [Create feature flags](https://docs.developers.optimizely.com/feature-experimentation/docs/create-feature-flags.md): Describes how to create and implement feature flags in Optimizely Feature Experimentation.
- [Create flag variables](https://docs.developers.optimizely.com/feature-experimentation/docs/create-flag-variables.md): Variables let you remotely configure your flag. Instead of hard-coding and updating your variables by re-deploying, you can group them in a flag variation and update them remotely in the Optimizely Feature Experimentation application.
- [Flag variable example with an image carousel](https://docs.developers.optimizely.com/feature-experimentation/docs/flag-variable-example-with-an-image-carousel.md): An example iOS application that walks through creating and implementing flag variables in Optimizely Feature Experimentation to create an image carousel that updates based on what variation the user receives.
- [Create flag variations](https://docs.developers.optimizely.com/feature-experimentation/docs/create-flag-variations.md): Describes flag variations and how to create them in Optimizely Feature Experimentation.
- [Handle user IDs](https://docs.developers.optimizely.com/feature-experimentation/docs/handle-user-ids.md): Information on user IDs in Optimizely Feature Experimentation.
- [Ensure consistent user bucketing using a user profile service](https://docs.developers.optimizely.com/feature-experimentation/docs/ensure-consistent-visitor-bucketing.md): Describes how to implement a user profile service to ensure consistent user bucketing in Optimizely Feature Experimentation.
- [Assign variations with bucketing ids](https://docs.developers.optimizely.com/feature-experimentation/docs/bucketing-ids.md): Use a bucketing ID to decouple user bucketing from user identification.
- [Manage user IDs in browser-based SDKs](https://docs.developers.optimizely.com/feature-experimentation/docs/manage-user-ids-in-browser-sdks.md): How to create and save user IDs with cookies, local storage, and CDN tools using a browser-based Feature Experimentation SDK.
- [Track user events](https://docs.developers.optimizely.com/feature-experimentation/docs/track-events.md): Explains events in Optimizely Feature Experimentation, which let you track the success of your experiments.
- [Create events](https://docs.developers.optimizely.com/feature-experimentation/docs/create-events.md): How to create and add an event in Optimizely Feature Experimentation.
- [Filter out bots](https://docs.developers.optimizely.com/feature-experimentation/docs/manage-bot-filtering.md): How to filter out third-party bot data that may skew your experiment results in Optimizely Feature Experimentation.
- [Run A/B tests](https://docs.developers.optimizely.com/feature-experimentation/docs/run-a-b-tests.md): How to configure a simple A/B or ON/OFF test in Optimizely Feature Experimentation.
- [Run flag deliveries (targeted delivery)](https://docs.developers.optimizely.com/feature-experimentation/docs/run-flag-deliveries.md): How to run a flag delivery, also known as a targeted delivery in Optimizely Feature Experimentation.
- [Run a multi-armed bandit optimization](https://docs.developers.optimizely.com/feature-experimentation/docs/run-a-mab-optimization.md): How to run a multi-armed bandit optimization in Optimizely Feature Experimentation.
- [Tag events](https://docs.developers.optimizely.com/feature-experimentation/docs/include-event-tags.md): Describes event tags and how to implement them in Optimizely Feature Experimentation.
- [Use forced bucketing](https://docs.developers.optimizely.com/feature-experimentation/docs/use-forced-bucketing.md): How to use forced bucketing to put a user into a certain variation in Optimizely Feature Experimentation.
- [Troubleshoot](https://docs.developers.optimizely.com/feature-experimentation/docs/troubleshoot.md): This topic gives troubleshooting steps for Optimizely Feature Experimentation.
- [Change history](https://docs.developers.optimizely.com/feature-experimentation/docs/history.md): The change history logs actions taken in Optimizely Feature Experimentation projects and flags.
- [Use mutual exclusion](https://docs.developers.optimizely.com/feature-experimentation/docs/use-mutual-exclusion.md): Describes using mutually exclusive groups to ensure that users do not see overlapping experiments that apply to different flags in Optimizely Feature Experimentation.
- [Run Contextual Multi-Armed Bandit optimizations](https://docs.developers.optimizely.com/feature-experimentation/docs/run-contextual-multi-armed-bandits.md): How to run Contextual Multi-Armed Bandit optimizations in Optimizely Feature Experimentation.
- [Manage config (datafile)](https://docs.developers.optimizely.com/feature-experimentation/docs/manage-config-datafile.md): Describes the datafile, which is a JSON representation of your Optimizely Feature Experimentation project configuration (OptimizelyConfig) in a given environment.
- [Example datafile](https://docs.developers.optimizely.com/feature-experimentation/docs/example-datafile.md): The example shows what a datafile might contain. Use it to understand the configuration information that is passed in Optimizely Feature Experimentation.
- [Get the datafile](https://docs.developers.optimizely.com/feature-experimentation/docs/get-the-datafile.md): How to sync your application with the datafile in Optimizely Feature Experimentation.
- [Create webhooks](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-webhooks.md): How to create webhooks in Optimizely Feature Experimentation.
- [Manage flags](https://docs.developers.optimizely.com/feature-experimentation/docs/manage-flags.md): Information on how to manage flags in Optimizely Feature Experimentation.
- [Manage rules](https://docs.developers.optimizely.com/feature-experimentation/docs/manage-rules.md): How to update rules in Optimizely Feature Experimentation.
- [Scheduled changes](https://docs.developers.optimizely.com/feature-experimentation/docs/scheduled-changes.md): Manage scheduled changes for your Optimizely Feature Experimentation project.
- [Notification listeners](https://docs.developers.optimizely.com/feature-experimentation/docs/notification-listeners.md): Notification listeners let you programmatically observe and act on various events that occur within the SDK in Optimizely Feature Experimentation.
- [Decision notification listener](https://docs.developers.optimizely.com/feature-experimentation/docs/decision-notification-listener.md): Describes the decision notification listener, which sends a stream of all feature flag decisions for Optimizely Feature Experimentation.
- [Log event notification listener](https://docs.developers.optimizely.com/feature-experimentation/docs/log-event-notification-listener.md): Describes the log event notification listener, which lets you know what data was sent to Optimizely Feature Experimentation in a given event batch, and when the batch was sent.
- [Track notification listener](https://docs.developers.optimizely.com/feature-experimentation/docs/track-notification-listener.md): Describes the track notification listener, which lets you implement additional functionality or system tracking in addition to your instrumented Optimizely Feature Experimentation Track API calls.
- [OptimizelyConfigUpdate notification listener](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-update-notification-listener.md): This topic describes the OptimizelyConfigUpdate notification listener.
- [Flag dependency](https://docs.developers.optimizely.com/feature-experimentation/docs/flag-dependency.md): Overview and implementation details of flag dependency in Optimizely Feature Experimentation.
- [Change approval webhooks](https://docs.developers.optimizely.com/feature-experimentation/docs/change-approval-webhooks.md)
- [Implementation checklist](https://docs.developers.optimizely.com/feature-experimentation/docs/implementation-checklist.md): Important configuration details and best practices to employ while using Optimizely Feature Experimentation.
- [Event tracking](https://docs.developers.optimizely.com/feature-experimentation/docs/event-tracking.md): Overview of the best practices for effectively tracking events in Optimizely Feature Experimentation.
- [IDE plug-ins](https://docs.developers.optimizely.com/feature-experimentation/docs/ide-plugins.md): This topic gives links to the documentation for available IDE plugins.
- [Visual Studio Code extension](https://docs.developers.optimizely.com/feature-experimentation/docs/vscode-extension.md): This topic describes how to integrate the Optimizely VS Code extension into Visual Studio Code.
- [IntelliJ plugin](https://docs.developers.optimizely.com/feature-experimentation/docs/intellij-plugin.md): This topic describes how to enable the Optimizely IntelliJ plugin into any IntelliJ platform-based IDEs.
- [Microservices](https://docs.developers.optimizely.com/feature-experimentation/docs/microservices.md): Best practices and special considerations for implementing Optimizely Feature Experimentation if your stack is service-oriented or relies on microservices.
- [Multiple SDK implementations](https://docs.developers.optimizely.com/feature-experimentation/docs/multiple-languages.md): This topic describes best practices for using multiple Optimizely Feature Experimentation SDKs.
- [Fetch datafiles](https://docs.developers.optimizely.com/feature-experimentation/docs/fetch-datafiles.md): Best practices for fetching datafiles, focusing on accuracy, performance, caching, offline support, and datafile size.
- [Integrate real-time audiences for Feature Experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation.md): Real-Time Audiences for Feature Experimentation lets you expand your audience targeting capability in Optimizely Feature Experimentation by leveraging Optimizely Data Platform's CDP Audience Sync.
- [Implement Real-Time Audiences for Feature Experimentation for client-side SDKs](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-for-client-side-sdks.md): How to implement Real-Time Audiences for Feature Experimentation with client-side SDKs.
- [Implement Real-Time Audiences for Feature Experimentation for server-side SDKs](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-for-server-side-sdks.md): How to implement Real-Time Audiences for Feature Experimentation with server-side SDKs.
- [Configure the Optimizely CMS (SaaS) integration](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-optimizely-cms-saas.md): Use an Optimizely Feature Experimentation experiment to manage your Optimizely Content Management System (SaaS) content.
- [Configure analytics platforms](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-analytics-platforms.md): Track analytics on feature flag usage by using a notification listener to send events to the analytics provider of your choice.
- [Configure Amplitude](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-amplitude.md): Enrich Amplitude reports with your Optimizely Feature Experimentation experiment and targeted delivery information.
- [Configure Contentful](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-contentful.md): Use Contentful to manage the content of your Optimizely Feature Experimentation experiment.
- [Configure Datadog](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-datadog.md): How to send Optimizely Feature Experimentation decisions and conversion events to Datadog using notification listeners.
- [Configure Google Analytics 4 (GA4)](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-google-analytics-4-ga4.md): Use Google Analytics 4 (GA4) to capture and analyze traffic data across your websites and applications.
- [Create segments for Google Analytics 4 (GA4)](https://docs.developers.optimizely.com/feature-experimentation/docs/create-segments-for-google-analytics-4.md): Use Google Analytics 4 (GA4) to capture and analyze traffic data across your websites and applications.
- [forward-google-analytics-4-ga4-events-to-feature-experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs/forward-google-analytics-4-ga4-events-to-feature-experimentation.md): How to configure Google Tag Manager (GTM) to forward Google Analytics 4 (GA4) events to Optimizely Feature Experimentation.
- [Configure Localytics](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-localytics.md): How to enrich Localytics with Optimizely Feature Experimentation test information.
- [Configure Mixpanel](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-mixpanel.md): How to enrich Mixpanel with Optimizely Feature Experimentation data.
- [Configure mParticle](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-mparticle.md): How to send Optimizely Feature Experimentation experiment information from your Android and iOS apps to mParticle for further analysis.
- [Configure Segment](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-segment.md): How to configure Segment to be enriched with Optimizely Feature Experimentation data.
- [Configure Tealium](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-tealium.md): How to forward event data to Optimizely Feature Experimentation from Tealium EventStream.
- [Next.js starter kit](https://docs.developers.optimizely.com/feature-experimentation/docs/nextjs-starter-kit.md): How to get started with Next.js and Optimizely Feature Experimentation.
- [Solid.js starter kit](https://docs.developers.optimizely.com/feature-experimentation/docs/solidjs-starter-kit.md): How to get started with Solid.js and Optimizely Feature Experimentation.
- [Vue.js starter kit](https://docs.developers.optimizely.com/feature-experimentation/docs/vuejs-starter-kit.md): How to get started with Vue.js and Optimizely Feature Experimentation.
- [Content Delivery Networks and Optimizely Feature Experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs/content-delivery-networks.md): The basics of a content delivery network and different strategies for handling caching with Optimizely Feature Experimentation.
- [Get started experimenting at the edge](https://docs.developers.optimizely.com/feature-experimentation/docs/get-started-edge-functions.md): Optimizely's Edge SDK for Feature Experimentation is a set of templates and starter kits to implement feature flagging and experimentation using Optimizely's Feature Experimentation across major serverless edge compute platforms.
- [Akamai EdgeWorkers](https://docs.developers.optimizely.com/feature-experimentation/docs/akamai-edgeworkers.md): [Starter Kit hosted on GitHub](https://github.com/optimizely/akamai-edgeworker-starter-kit) for running Optimizely Feature Experimentation feature flags and experiments on the [Akamai EdgeWorkers service](https://developer.akamai.com/akamai-edgeworkers-overview).
- [AWS Lambda@Edge](https://docs.developers.optimizely.com/feature-experimentation/docs/aws-lambda-at-edge.md): [Starter Kit hosted on GitHub](https://github.com/optimizely/aws-lambda-at-edge-starter-kit) for running Optimizely Feature Experimentation feature flags and experiments on the [AWS Lambda@Edge functions](https://aws.amazon.com/lambda/edge/) using AWS Lambda and AWS CloudFront.
- [Cloudflare Workers](https://docs.developers.optimizely.com/feature-experimentation/docs/cloudflare-workers.md): Describes the JavaScript template hosted on GitHub for running Optimizely Feature Experimentation feature flags and experiments on Cloudflare Workers
- [Fastly Compute@Edge](https://docs.developers.optimizely.com/feature-experimentation/docs/fastly-compute-at-edge.md): [Starter Kit hosted on GitHub](https://github.com/optimizely/fastly-compute-starter-kit) for running Optimizely Feature Experimentation feature flags and experiments on [Fastly's Compute@Edge offering](https://www.fastly.com/products/edge-compute).
- [Vercel Functions](https://docs.developers.optimizely.com/feature-experimentation/docs/vercel-functions.md): Example for running Optimizely Feature Experimentation version feature flags and experiments utilizing Vercel Functions.
- [Feature Experimentation edge workers and agents](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizely-edge-workers.md): Overview of the available edge workers and agents in Optimizely Feature Experimentation.
- [Optimizely Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizely-agent.md): Overview of Optimizely Feature Experimentation Agent.
- [Quickstart for Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/quickstart-for-agent.md): How to get started with Optimizely Agent using Python and explores Agent's REST APIs.
- [Install Optimizely Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/setup-optimizely-agent.md): How to install Optimizely Agent on Linux, macOS, Windows, Docker, Kubernetes, and AWS Elastic Beanstalk.
- [Use Optimizely Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/use-optimizely-agent.md): Optimizely Agent provides REST [APIs](https://docs.developers.optimizely.com/feature-experimentation/reference/getconfig) that enable running feature flag rules, such as [A/B tests](https://docs.developers.optimizely.com/feature-experimentation/docs/run-a-b-tests) and [targeted flag deliveries](https://docs.developers.optimizely.com/feature-experimentation/docs/run-flag-deliveries).
- [Evaluate Agent REST APIs](https://docs.developers.optimizely.com/feature-experimentation/docs/evaluate-rest-apis.md): Python code examples demonstrating the Agent REST APIs' capabilities.
- [Agent admin API](https://docs.developers.optimizely.com/feature-experimentation/docs/admin-api.md): Optimizely Agent's Admin API provides system information that can be used to check the availability of the Agent service, runtime information, and operational metrics
- [Real-Time Audiences for Feature Experimentation for Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-agent.md): Information on implementing Real-Time Audiences for Feature Experimentation with your Agent instance.
- [Configure Optimizely Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-optimizely-agent.md): How to configure Optimizely Agent with a comprehensive list of available configuration properties.
- [Authorization for Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/authorization.md): Optimizely Agent supports authorization workflows based on [OAuth](https://oauth.net/2/) and [JWT](https://datatracker.ietf.org/doc/html/rfc7519) standards, allowing you to protect access to its API and Admin interfaces.
- [Centralized datafile service options](https://docs.developers.optimizely.com/feature-experimentation/docs/centralized-datafile-service-options.md): Explores two options for creating a centralized datafile service and recommends Redis as the best solution.
- [Webhooks for Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/webhooks-agent.md): How to configure a webhook listener for Optimizely Agent.
- [Agent notifications](https://docs.developers.optimizely.com/feature-experimentation/docs/agent-notifications.md): Optimizely Agent provides an endpoint that sends notifications to subscribers using [Server-Sent Events](https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events). This is Agent's equivalent of [Notification Listeners](https://docs.developers.optimizely.com/feature-experimentation/docs/notification-listeners) found in the Optimizely Feature Experimentation SDKs.
- [Agent advanced configuration](https://docs.developers.optimizely.com/feature-experimentation/docs/advanced-configuration.md): Advanced configuration options for Optimizely Agent.
- [Agent plugins](https://docs.developers.optimizely.com/feature-experimentation/docs/agent-plugins.md): Extend Optimizely Agent using plugins.
- [Configure the CMAB cache for Agent](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-cmab-caching-for-agent.md): Configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in Optimizely Agent.
- [Introduction](https://docs.developers.optimizely.com/feature-experimentation/docs/introduction-to-optimizely-edge-agent.md): How Optimizely Edge Agent integrates edge computing and serverless architecture to enable seamless feature experimentation and A/B testing across various platforms.
- [Architecture and operational guide](https://docs.developers.optimizely.com/feature-experimentation/docs/architecture-and-operational-guide.md): Introduces the architecture, configuration, and operational benefits using Optimizely Edge Agent.
- [Configuration settings](https://docs.developers.optimizely.com/feature-experimentation/docs/configuration-settings.md): How to configure and customize Optimizely Edge Agent.
- [Cookie options](https://docs.developers.optimizely.com/feature-experimentation/docs/cookie-options.md): Describes the default settings for cookies in Optimizely Edge Agent and how to override them.
- [Edge mode flag variable configuration](https://docs.developers.optimizely.com/feature-experimentation/docs/edge-mode-flag-variable-configuration.md): Explains the configuration settings of the `cdnVariationSettings` for the Optimizely Edge Agent.
- [Deployment guide for Cloudflare Workers](https://docs.developers.optimizely.com/feature-experimentation/docs/deployment-guide-for-cloudflare-workers.md): Instructions on deploying Optimizely Edge Agent to [Cloudflare Workers](https://workers.cloudflare.com).
- [Cloudflare Workers KV store configuration (optional)](https://docs.developers.optimizely.com/feature-experimentation/docs/optional-kv-store-configuration.md): Instructions for configuring Cloudflare Workers KV to use with Optimizely Edge Agent.
- [Index](https://docs.developers.optimizely.com/feature-experimentation/docs/sdk-reference-guides.md): This topic lists all of the available Optimizely Feature Experimentation SDKs and links to their documentation.
- [SDK compatibility matrix](https://docs.developers.optimizely.com/feature-experimentation/docs/sdk-feature-compatibility.md): Explore the latest versions of Optimizely Feature Experimentation SDKs and their available features.
- [Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/android-sdk.md): Overview and links to the Optimizely Feature Experimentation Android SDK.
- [Install the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-android.md): Describes the steps necessary to install the Optimizely Feature Experimentation Android SDK into your application.
- [Initialize the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-android.md): How to initialize the Optimizely Feature Experimentation Android SDK in your application.
- [Example usage of the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-android.md): Code example of how to use the Optimizely Feature Experimentation Android SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-android.md): Describes the create user context method, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-android.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track event method for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-android.md): Describes the `trackEvent` method, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-android.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Android SDK.
- [OptimizelyDecision for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-android.md): Describes the OptimizelyDecision object, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-android.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation Android SDK.
- [Configure event dispatcher for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-android.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Android SDK.
- [Event batching for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-android.md): The Optimizely Feature Experimentation Android SDK uses the event processor to batch decision and conversion events into a single payload before sending it to Optimizely.
- [Customize the Android SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-android.md): Customize log information from the Optimizely Feature Experimentation Android SDK for debugging experiments.
- [Customize the Android SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-android.md): How to create your own error handler logic for the Optimizely Feature Experimentation Android SDK.
- [Pass in audience attributes using the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/pass-in-audience-attributes-android.md): Describes possible user attribute values you can send to Optimizely Feature Experimentation through the Android SDK.
- [Configure a notification listener using the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-android.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Android SDK.
- [Update Android API usage from older versions](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-android.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Android SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-android.md): Describes the `OptimizelyUserContext` object, which lets you make flag decisions and track events for a user context.
- [Forced Decision methods for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-android.md): Describes the Forced Decision methods, which lets you force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-android](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-android.md): Use the Real-Time Audiences for Feature Experimentation segment methods to fetch the external audience mapping for the user. You can fetch user segments with the user identifier of the user context.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-android](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-android.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure CMAB for the Android SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-the-cmab-cache-for-the-android-sdk.md): Contextual Multi-Armed Bandit (CMAB) features, including cache and service endpoint, can be configured in the Feature Experimentation Android SDK.
- [C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/csharp-sdk.md): Gives an overview and links to the Optimizely Feature Experimentation C# SDK.
- [Install the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-csharp.md): Describes the necessary steps to install the Optimizely Feature Experimentation C# SDK into your application.
- [Initialize the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-csharp.md): How to initialize the Optimizely Feature Experimentation C# SDK in your application.
- [Example usage of the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-csharp.md): Code example of how to use the Optimizely Feature Experimentation C# SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-csharp.md): Describes the create user context method, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-csharp.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track event method for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-csharp.md): Describes the `TrackEvent` method, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-csharp.md): Describes how to get access to project configuration data within the datafile using OptimizelyConfig.
- [OptimizelyJSON for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyjson-csharp.md): Describes the OptimizelyJSON object that the Optimizely Feature Experimentation C# SDK uses to retrieve JSON.
- [OptimizelyDecision for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-csharp.md): Describes the OptimizelyDecision object for the C# SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-csharp.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation C# SDK.
- [Event batching for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-csharp.md): The Optimizely Feature Experimentation C# SDK uses the event processor to batch decisions and conversion events into a single payload before sending it.
- [Customize the C# SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-csharp.md): Customize log information from the Optimizely Feature Experimentation C# SDK for debugging experiments.
- [Customize the C# SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-csharp.md): How to create your own error handler logic for the Optimizely Feature Experimentation C# SDK.
- [Configure a notification listener using the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-csharp.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation C# SDK.
- [Configure the C# SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-csharp.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation C# SDK.
- [Update from older versions of the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-csharp.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) C# SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-csharp.md): Describes the OptimizelyUserContext object for the Optimizely Feature Experimentation C# SDK, which lets you make flag decisions and track events for a user context.
- [Forced Decision methods for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-csharp.md): Describes the Forced Decision methods for the C# SDK, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-csharp](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-csharp.md): Use the `FetchQualifiedSegments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `IsQualifiedFor` method to check if the user qualifies for the specified audience.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-csharp](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-csharp.md): Describes the `SendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the C# SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-c-sdk.md): How to configure Contextual Multi-Armed Bandit (CMAB) settings in the Feature Experimentation C# SDK, including caching behavior and prediction endpoint customization.
- [Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/flutter-sdk.md): Overview and links for the Optimizely Feature Experimentation Flutter SDK.
- [Install the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-flutter.md): Steps to install the Optimizely Feature Experimentation Flutter SDK.
- [Initialize Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-flutter.md): How to initialize the Optimizely Feature Experimentation Flutter SDK.
- [Example usage of the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-flutter.md): A brief code example of how to use the Optimizely Feature Experimentation Flutter SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-flutter.md): Describes the create user context method, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-flutter.md): Overview of the decide methods which can be used to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track event method for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-flutter.md): Describes the `trackEvent` method, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-flutter.md): Describes how to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Flutter SDK.
- [OptimizelyDecision for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-flutter.md): Describes the OptimizelyDecision object, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Configure event dispatcher for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-flutter.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Flutter SDK.
- [Event batching for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-flutter.md): The Optimizely Feature Experimentation Flutter SDK uses the event processor to batch decisions and conversion events into a single payload before sending it to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-flutter.md): Describes the OptimizelyUserContext Object which lets you make flag decisions and track events for a user context.
- [Forced Decision methods for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-flutter.md): Describes the Forced Decision methods, which you can use with the Flutter SDK to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-flutter](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-flutter.md): Use the Optimizely Data Platform (ODP) Real-Time Audiences for Feature Experimentation segment methods to fetch external audience mapping for the user.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-flutter](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-flutter.md): Describes the sendOdpEvent method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Flutter SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-the-cmab-cache-for-the-flutter-sdk-1.md): How to configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Feature Experimentation Flutter SDK.
- [Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/go-sdk.md): An overview and links for the Optimizely Feature Experimentation Go SDK.
- [Install the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-go.md): Describes the steps necessary to install the Optimizely Feature Experimentation Go SDK into your application.
- [Initialize the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-go.md): How to initialize the Optimizely Feature Experimentation Go SDK in your application.
- [Example usage of the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-go.md): A brief code example of how to use the Optimizely Feature Experimentation Go SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-go.md): Describes the create user context method in the Go SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-go.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track event method for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-go.md): Describes the`TrackEvent` method, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-go.md): Describes how to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Go SDK.
- [OptimizelyDecision for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-go.md): Details the OptimizelyDecision object for the Go SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [OptimizelyJSON for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyjson-go.md): Describes the OptimizelyJSON object that the Optimizely Feature Experimentation Go SDK uses to retrieve JSON.
- [Implement a user profile service for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-go.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation Go SDK.
- [Configure the Go SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-go.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Go SDK.
- [Customize the Go SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-go.md): Customize log information from the Optimizely Feature Experimentation Go SDK for debugging experiments.
- [Event batching for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-go.md): How the Optimizely Feature Experimentation Go SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Configure a notification listener using the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-go.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Go SDK.
- [Update from older versions of the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-go.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Go SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-go.md): Describes the OptimizelyUserContext object for the Optimizely Feature Experimentation Go SDK, which lets you make flag decisions and track events for a user context.
- [Forced Decision methods for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-go.md): Describes the Forced Decision methods for the Feature Experimentation Go SDK, which you can use to force users into a specific variation in Optimizely.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-go](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-go.md): Use the `FetchQualifiedSegments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `IsQualifiedFor` method to check if the user qualifies for the specified segment.
- [Send Optimizely Data Platform data with Real-Time Audiences for Feature Experimentation for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-go.md): Describes the `SendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Go SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-go-sdk.md): How to configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Feature Experimentation Go SDK.
- [Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/java-sdk.md): An overview and links for the Optimizely Feature Experimentation Java SDK.
- [Install the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-java.md): Describes the steps necessary to install the Optimizely Feature Experimentation Java SDK into your application.
- [Initialize the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-java.md): How to initialize the Optimizely Feature Experimentation Java SDK in your application.
- [Example usage of the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-java.md): A brief code example of how to use the Optimizely Feature Experimentation Java SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-java.md): Describes the create user context method in the Java SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-java.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track event method for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-java.md): Describes the `trackEvent` method for the Java SDK, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-java.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Java SDK.
- [OptimizelyDecision for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-java.md): Describes the OptimizelyDecision object for the Java SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [OptimizelyJSON for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyjson-java.md): Describes the OptimizelyJSON object, which the Optimizely Feature Experimentation Java SDK uses to retrieve JSON.
- [Implement a user profile service for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-java.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation Java SDK.
- [Configure the Java SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-java.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Java SDK.
- [Customize the Java SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-java.md): Customize log information from the Optimizely Feature Experimentation Java SDK for debugging experiments.
- [Event batching for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-java.md): How the Optimizely Feature Experimentation Java SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely Feature Experimentation.
- [Customize the Java SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-java.md): How to create your own error handler logic for the Optimizely Feature Experimentation Java SDK.
- [Configure a notification listener using the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-java.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Java SDK.
- [Update from older versions of the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-java.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Java SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-java.md): Explains the `OptimizelyUserContext` object for the Java SDK, which lets you make flag decisions and track events for a user context in Optimizely Feature Experimentation.
- [Forced Decision methods for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-java.md): Reviews the Forced Decision methods for the Java SDK, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-java](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-java.md): Use the `fetchQualifiedSegments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `isQualifiedFor` method to check if the user qualifies for the specified segment.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-java](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-java.md): Describes the `sendODPEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Java SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-java-sdk.md): How to configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Feature Experimentation Java SDK.
- [JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-sdk.md): An overview and links for the Optimizely Feature Experimentation JavaScript SDK versions 6 and above.
- [Install the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/install-the-javascript-sdk.md): The steps necessary to install the Optimizely Feature Experimentation JavaScript SDK into your application.
- [Initialize the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-the-javascript-sdk.md): How to initialize the Optimizely Feature Experimentation JavaScript SDK versions 6 and above in your application.
- [Client-side implementation tips for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/client-side-implementation-tips-for-the-javascript-sdk.md): Tips and considerations for installing the Optimizely Feature Experimentation JavaScript SDK v6 and above on a client (browser) instead of a server.
- [Example usage of the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-of-the-javascript-sdk.md): A code example of how to use the Optimizely Feature Experimentation JavaScript SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create user context for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-for-the-javascript-sdk.md): Describes the `OptimizelyUserContext` object, which lets you make flag decisions and track events for a user context for the Optimizely Feature Experimentation JavaScript SDK v6 and above.
- [Decide methods for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-for-the-javascript-sdk.md): Overview of the decide methods for the JavaScript SDK, which can be used to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-for-the-javascript-sdk.md): Describes the `trackEvent` method for the JavaScript SDK versions 6 and above, which tracks a conversion event in Optimizely Feature Experimentation
- [OptimizelyConfig for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-for-the-javascript-sdk.md): How to get access to project configuration data within the datafile for the JavaScript SDK versions 6 and above using OptimizelyConfig.
- [OptimizelyDecision for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-for-the-javascript-sdk.md): Describes the OptimizelyDecision object for the JavaScript SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-for-the-javascript-sdk.md): How to configure a custom user profile service for the Optimizely Feature Experimentation JavaScript SDK versions 6 and above.
- [Configure the JavaScript SDK event dispatcher v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-the-javascript-sdk-event-dispatcher.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation JavaScript SDK versions 6 and above.
- [Update from legacy Full Stack APIs to JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/update-from-older-versions-of-the-javascript-sdk.md): How to update from older versions of the Optimizely Full Stack (Legacy) JavaScript SDK to Optimizely Feature Experimentation.
- [Event batching for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-for-the-javascript-sdk.md): How the Optimizely Feature Experimentation JavaScript SDK versions 6 and above use the event processor to batch impressions and conversion events into a single payload before sending it.
- [Customize the JavaScript SDK v6+ logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-the-javascript-sdk-logger.md): How to customize the log information about experiments coming from the Optimizely Feature Experimentation JavaScript SDK v6+ to help with debugging.
- [Customize error handler for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-for-the-javascript-sdk.md): How to create your own error handler logic for the Optimizely Feature Experimentation JavaScript SDK versions 6 and above.
- [Configure a notification listener using the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-a-notification-listener-using-the-javascript-sdk.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation JavaScript SDK versions 6 and above.
- [Forced decision methods for the JavaScript SDK v6+](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-for-the-javascript-sdk.md): Use the forced decision methods for the JavaScript SDK versions 6 and above to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-javascript-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-javascript-sdk.md): Use the Real-Time Audiences for Feature Experimentation segment methods to fetch external audience mapping for the user. You can fetch user audience segments with the user identifier of the user context.
- [send-optimizely-data-platform-data-with-real-time-audiences-for-feature-experimentation-for-the-javascript-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/send-optimizely-data-platform-data-with-real-time-audiences-for-feature-experimentation-for-the-javascript-sdk.md): Use the `sendOdpEvent` method to send Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Upgrade the JavaScript SDK from v5 to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/upgrade-the-javascript-sdk-from-v5-to-v6.md): Steps to upgrade the Feature Experimentation JavaScript SDK from previous versions to version 6.0.0+.
- [Configure the CMAB cache for the JavaScript SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-javascript-sdk.md): How to configure Contextual Multi-Armed Bandit (CMAB) settings in the Feature Experimentation JavaScript SDK, including caching behavior and prediction endpoint customization.
- [JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-sdk-prior-to-v6.md): An overview and links for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [Install the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-javascript-prior-to-v6.md): The steps necessary to install the Optimizely Feature Experimentation JavaScript (Browser) SDK into your application.
- [Initialize the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-javascript-prior-to-v6.md): How to initialize the Optimizely Feature Experimentation JavaScript (Browser) SDK in your application.
- [Client-side implementation tips for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-client-side-implementation-prior-to-v6.md): This topic describes tips and considerations for installing the Optimizely Feature Experimentation JavaScript SDK on a client (browser) instead of a server.
- [Example usage of the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-javascript-prior-to-v6.md): A brief code example of how to use the Optimizely Feature Experimentation JavaScript (Browser) SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-javascript-prior-to-v6.md): This topic describes the Create User Context method for the JavaScript (Browser) SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-javascript-prior-to-v6.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-javascript-prior-to-v6.md): Describes the `trackEvent` method for the JavaScript (Browser) SDK, which tracks a conversion event in Optimizely Feature Experimentation
- [OptimizelyConfig for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-javascript-prior-to-v6.md): Describes how to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [OptimizelyDecision for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-javascript-prior-to-v6.md): Describes the OptimizelyDecision object for the JavaScript (Browser), which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-javascript-prior-to-v6.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [Configure the JavaScript (Browser) SDK event dispatcher prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-javascript-prior-to-v6.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [Event batching for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-javascript-prior-to-v6.md): How the Optimizely Feature Experimentation JavaScript (Browser) SDK uses the event processor to batch impressions and conversion events into a single payload before sending it.
- [Customize the JavaScript (Browser) SDK prior to v6 logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-javascript-prior-to-v6.md): Customize log information from the Optimizely Feature Experimentation JavaScript (Browser) SDK for debugging experiments.
- [Customize error handler for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-javascript-prior-to-v6.md): How to create your own error handler logic for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [set-up-notification-listener-javascript-prior-to-v6](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-javascript-prior-to-v6.md): This topic describes how to configure and remove notification listeners for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [Update from older versions of the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-javascript-prior-to-v6.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) JavaScript (Browser) SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-javascript-prior-to-v6.md): Describes the `OptimizelyUserContext` object, which lets you make flag decisions and track events for a user context for the Optimizely Feature Experimentation JavaScript (Browser) SDK.
- [Forced Decision methods for the JavaScript (Browser) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-javascript-browser-prior-to-v6.md): Use the Forced Decision methods for the JavaScript (Browser) SDK to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-javascript-prior-to-v6](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-javascript-prior-to-v6.md): Use the Real-Time Audiences for Feature Experimentation segment methods to fetch external audience mapping for the user. You can fetch user segments with the user identifier of the user context.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-javascript-prior-to-v6](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-javascript-prior-to-v6.md): Use the `sendOdpEvent` method to send Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-node-sdk-prior-to-v6.md): An overview and links for the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [Install the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-javascript-node-prior-to-v6.md): The steps necessary to install the Optimizely Feature Experimentation JavaScript (Node) SDK into your application.
- [Initialize the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-javascript-node-prior-to-v6.md): How to initialize the Optimizely Feature Experimentation JavaScript (Node) SDK in your application.
- [Example usage of the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-javascript-node-prior-to-v6.md): A code example of how to use the Optimizely Feature Experimentation JavaScript (Node) SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-javascript-node-prior-to-v6.md): Describes the create user context method for the JavaScript (Node) SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-javascript-node-prior-to-v6.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-javascript-node-prior-to-v6.md): Describes the `track event` method for the JavaScript (Node) SDK, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-javascript-node-prior-to-v6.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [OptimizelyDecision for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-javascript-node-prior-to-v6.md): Describes the OptimizelyDecision object for the JavaScript (Node) SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the JavaScript (Node) SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-javascript-node.md): How to use the default or configure a custom User Profile Service for the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [Configure event dispatcher for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-javascript-node-prior-to-v6.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [Event batching for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-javascript-node-prior-to-v6.md): How the Optimizely Feature Experimentation JavaScript (Node) SDK uses the event processor to batch decision and conversion events into a single payload before sending it to Optimizely.
- [Customize the JavaScript (Node) SDK prior to v6 logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-javascript-node-prior-to-v6.md): Customize log information from the Optimizely Feature Experimentation JavaScript (Node) SDK for debugging experiments.
- [Customize the JavaScript (Node) error handler prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-javascript-node-prior-to-v6.md): How to create your own error handler logic for the Optimizely Feature Experimentation's JavaScript (Node) SDK.
- [Configure a notification listener using the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-javascript-node-prior-to-v6.md): This topic describes how to configure and remove notification listeners for the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [Update usage from older versions of the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-javascript-node-prior-to-v6.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) JavaScript (Node) SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-javascript-node-prior-to-v6.md): Describes the `OptimizelyUserContext` object, which lets you make flag decisions and track events for a user context for the Optimizely Feature Experimentation JavaScript (Node) SDK.
- [Forced Decision methods for the JavaScript (Node) SDK prior to v6](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-javascript-node-prior-to-v6.md): Describes the Forced Decision methods for the JavaScript (Node) SDK, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-javascript-node-prior-to-v6](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-javascript-node-prior-to-v6.md): Use the Real-Time Audiences for Feature Experimentation segment methods to fetch external audience mapping for the user. You can fetch user segments with the user identifier of the user context.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-javascript-node-prior-to-v6](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-javascript-node-prior-to-v6.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/php-sdk.md): An overview and links for the Optimizely Feature Experimentation PHP SDK.
- [Install the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-php.md): This topic describes the steps necessary to install the Optimizely Feature Experimentation PHP SDK into your application.
- [Initialize the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-php.md): How to initialize the Optimizely Feature Experimentation PHP SDK in your application.
- [Example usage of the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-php.md): A brief code example of how to use the Optimizely Feature Experimentation PHP SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-php.md): Describes the create user context method for the PHP SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-php.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-php.md): Describes the `trackEvent` method for the PHP SDK, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-php.md): Describes getting access to project configuration data within the datafile using OptimizelyConfig for the PHP SDK.
- [OptimizelyDecision for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-php.md): Describes the OptimizelyDecision object for the PHP SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-php.md): How to configure a custom User Profile Service or how to use the default for the Optimizely Feature Experimentation PHP SDK.
- [Configure the PHP SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-php.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation PHP SDK.
- [Customize PHP SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-php.md): Customize log information from the Optimizely Feature Experimentation PHP SDK for debugging experiments.
- [Configure a notification listener using the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-php.md): How to configure and remove notification listeners in the Optimizely Feature Experimentation PHP SDK.
- [Update usage from older versions of the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-php.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) PHP SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-php.md): Describes the OptimizelyUserContext object which lets you make flag decisions and track events for a user context.
- [Forced Decision methods for the PHP SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-php.md): Describes the Forced Decision methods for the PHP SDK, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/python-sdk.md): An overview and links for the Optimizely Feature Experimentation Python SDK.
- [Install the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-python.md): This topic describes the steps necessary to install the Optimizely Feature Experimentation Python SDK.
- [Initialize the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-python.md): How to initialize the Optimizely Feature Experimentation Python SDK in your application.
- [Example usage of the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-python.md): A brief code example of how to use the Optimizely Feature Experimentation Python SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-python.md): Describes the create user context method for the Python SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-python.md): An overview of the decide methods for the Python SDK, which can be used to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-python.md): Describes the `track_event` method for the Python SDK, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-python.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Python SDK.
- [OptimizelyDecision for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-python.md): Describes the OptimizelyDecision object for the Python SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-python.md): How to create a custom user profile service for the Optimizely Feature Experimentation Python SDK.
- [Configure the Python SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-python.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Python SDK.
- [Event batching for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-python.md): How the Optimizely Feature Experimentation Python SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the Python SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-python.md): Customize log information from the Optimizely Feature Experimentation Python SDK for debugging experiments.
- [Customize Python SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-python.md): How to create your own error handler logic for the Optimizely Feature Experimentation Python SDK.
- [Configure a notification listener using the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-python.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Python SDK.
- [Update from older versions of the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-python.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Python SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-python.md): Describes the `OptimizelyUserContext` object, which lets you make flag decisions and track events for a user context for the Optimizely Feature Experimentation Python SDK.
- [Forced decision methods for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-python.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-python](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-python.md): Use the `fetch_qualified_segments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `is_qualified_for` method to check if the user qualifies for the specified audience segment.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-python](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-python.md): Describes the `send_odp_event` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Python SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-python-sdk.md): Configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Feature Experimentation Python SDK.
- [React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-react-sdk.md): An overview and links for the Optimizely Feature Experimentation React SDK versions 4 and above.
- [Install the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-the-react-sdk.md): Steps to install the Optimizely Feature Experimentation React SDK into your application.
- [Initialize the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-the-react-sdk.md): Initialize the Optimizely Feature Experimentation React SDK in your application.
- [Next.js integration for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/nextjs-integration-for-the-react-sdk.md): How to use the Optimizely Feature Experimentation React SDK with Next.js for server-side rendering and React Server Components.
- [Example usage of the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-of-the-react-sdk.md): Code example of how to use the Optimizely Feature Experimentation React SDK to send Decision events, make flag decisions and track conversion events.
- [OptimizelyProvider for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyprovider-for-the-react-sdk.md): How to wrap your React application at the root with OptimizelyProvider to give your entire React application access to Optimizely Feature Experimentation's APIs.
- [Decide hooks for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-hooks-for-the-react-sdk.md): Overview of the decide hooks for the React SDK, which return flag decisions for a user in Optimizely Feature Experimentation.
- [useOptimizelyClient for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/useoptimizely-client-for-the-react-sdk.md): Describes the useOptimizelyClient hook for the React SDK, which provides direct access to the Optimizely Client instance from context.
- [useOptimizelyUserContext for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/useoptimizely-user-context-for-the-react-sdk.md): Describes the useOptimizelyUserContext hook for the React SDK, which provides access to the current user context for event tracking and forced decisions.
- [Track Event for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-for-the-react-sdk.md): Describes how to track conversion events in the React SDK v4+, which tracks events in Optimizely Feature Experimentation.
- [OptimizelyConfig for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-for-the-react-sdk.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation React SDK.
- [OptimizelyDecision for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-for-the-react-sdk.md): Describes the OptimizelyDecision object for the React SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-for-the-react-sdk.md): How to configure a custom User Profile Service for the Optimizely Feature Experimentation React SDK.
- [Configure the React SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-the-react-sdk-event-dispatcher.md): How to configure a custom event dispatcher for the Optimizely Feature Experimentation React SDK.
- [Event batching for the React SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-for-the-react-sdk.md): How the Optimizely Feature Experimentation React SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the React SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-the-react-sdk-logger.md): Customize log information from the Optimizely Feature Experimentation React SDK for debugging experiments.
- [Customize the React SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-for-the-react-sdk.md): This topic describes how to create your own error handler logic for the Optimizely Feature Experimentation React SDK.
- [Configure a notification listener using the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-a-notification-listener-using-the-react-sdk.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation React SDK.
- [Forced Decision methods for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-for-the-react-sdk.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-react-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-react-sdk.md): How the React SDK handles ODP audience segments automatically, and how to use segment qualification methods for advanced use cases.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-for-the-react-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-for-the-react-sdk.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to Optimizely Data Platform (ODP).
- [Upgrade the React SDK from v3 to v4](https://docs.developers.optimizely.com/feature-experimentation/docs/upgrade-the-react-sdk-from-v3-to-v4.md): Steps to upgrade the Feature Experimentation React SDK from previous versions to version 4.0.0+.
- [React SDK prior to v4](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-react-sdk-prior-to-v4.md): An overview and links for the Optimizely Feature Experimentation React SDK versions 3.x and earlier.
- [Install the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-react-prior-to-v4.md): Steps to install the Optimizely Feature Experimentation React SDK into your application.
- [Initialize the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-react-prior-to-v4.md): Initialize the Optimizely Feature Experimentation React SDK in your application.
- [Next.js integration for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/nextjs-integration-react-prior-to-v4.md): How to use the Optimizely Feature Experimentation React SDK with Next.js for server-side rendering and React Server Components.
- [Example usage of the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-react-prior-to-v4.md): Code example of how to use the Optimizely Feature Experimentation React SDK to send Decision events, make flag decisions and implement the Track method.
- [withOptimizely for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/withoptimizely-react-prior-to-v4.md): Describes the higher-order component `withOptimizely`.
- [OptimizelyProvider for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyprovider-react-prior-to-v4.md): How to wrap your React application at the root with OptimizelyProvider to give your entire React application access to Optimizely Feature Experimentation's APIs.
- [useDecision hook for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/usedecision-react-prior-to-v4.md): The useDecision hook retrieves the decision result for a flag key for the Optimizely Feature Experimentation React SDK.
- [Track event for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/usetrackevent-react-prior-to-v4.md): Describes the useTrackEvent hook, which enables tracking events within functional components. This hook offers all the existing track event functionalities provided by the SDK.
- [OptimizelyConfig for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-react-prior-to-v4.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation React SDK.
- [OptimizelyDecision for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-react-prior-to-v4.md): Describes the OptimizelyDecision object for the React SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-react-prior-to-v4.md): How to configure a custom User Profile Service for the Optimizely Feature Experimentation React SDK.
- [Configure the React SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-react-prior-to-v4.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation React SDK.
- [Event batching for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-react-prior-to-v4.md): How the Optimizely Feature Experimentation React SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the React SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-react-prior-to-v4.md): Customize log information from the Optimizely Feature Experimentation React SDK for debugging experiments.
- [Customize the React SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-react-prior-to-v4.md): This topic describes how to create your own error handler logic for the Optimizely Feature Experimentation React SDK.
- [Configure a notification listener using the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-react-prior-to-v4.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation React SDK.
- [ReactSDKClient for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/reactsdkclient-react-prior-to-v4.md): This topic describes the ReactSDKClient, which is a wrapper that lets you access the standard SDK methods if you do not want to use components to interact with Optimizely Feature Experimentation.
- [Update from older versions of the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-react-prior-to-v4.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) React SDK to Optimizely Feature Experimentation.
- [Forced Decision methods for the React SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-react-prior-to-v4.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-react-prior-to-v4](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-react-prior-to-v4.md): Use the `fetchQualifiedSegments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `isQualifiedFor` method to check if the user qualifies for the specified segment.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-react-prior-to-v4](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-react-prior-to-v4.md): Describes the `sendODPEvent` method, which sends Optimizely Feature Experimentation event data to Optimizely Data Platform (ODP).
- [React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-react-native-sdk.md): An overview and links for the Optimizely Feature Experimentation React Native SDK versions 4 and above.
- [Install the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-the-react-native-sdk.md): Steps to install the Optimizely Feature Experimentation React Native SDK into your application.
- [Initialize the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-the-react-native-sdk.md): Initialize the Optimizely Feature Experimentation React Native SDK in your application.
- [Example usage of the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-of-the-react-native-sdk.md): Code example of how to use the Optimizely Feature Experimentation React Native SDK to send Decision events, make flag decisions and track conversion events.
- [OptimizelyProvider for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyprovider-for-the-react-native-sdk.md): How to wrap your React Native application at the root with OptimizelyProvider to give your entire React application access to Optimizely Feature Experimentation's APIs.
- [Decide hooks for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-hooks-for-the-react-native-sdk.md): Overview of the decide hooks for the React Native SDK, which return flag decisions for a user in Optimizely Feature Experimentation.
- [useOptimizelyClient for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/useoptimizely-client-for-the-react-native-sdk.md): Describes the useOptimizelyClient hook for the React Native SDK, which provides direct access to the Optimizely Client instance from context.
- [useOptimizelyUserContext for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/useoptimizely-user-context-for-the-react-native-sdk.md): Describes the useOptimizelyUserContext hook for the React Native SDK, which provides access to the current user context for event tracking and forced decisions.
- [Track Event for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-for-the-react-native-sdk.md): Describes how to track conversion events in the React Native SDK v4+, which tracks events in Optimizely Feature Experimentation.
- [OptimizelyConfig for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-for-the-react-native-sdk.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation React Native SDK.
- [OptimizelyDecision for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-for-the-react-native-sdk.md): Describes the OptimizelyDecision object for the React Native SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-for-the-react-native-sdk.md): How to configure a custom User Profile Service for the Optimizely Feature Experimentation React Native SDK.
- [Configure the React Native SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-the-react-native-sdk-event-dispatcher.md): How to configure a custom event dispatcher for the Optimizely Feature Experimentation React Native SDK.
- [Event batching for the React Native SDK v4+](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-for-the-react-native-sdk.md): How the Optimizely Feature Experimentation React Native SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the React Native SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-the-react-native-sdk-logger.md): Customize log information from the Optimizely Feature Experimentation React Native SDK for debugging experiments.
- [Customize the React Native SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-for-the-react-native-sdk.md): This topic describes how to create your own error handler logic for the Optimizely Feature Experimentation React Native SDK.
- [Configure a notification listener using the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-a-notification-listener-using-the-react-native-sdk.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation React Native SDK.
- [Forced Decision methods for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-for-the-react-native-sdk.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-react-native-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-for-the-react-native-sdk.md): How the React Native SDK handles ODP audience segments automatically, and how to use segment qualification methods for advanced use cases.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-for-the-react-native-sdk](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-for-the-react-native-sdk.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to Optimizely Data Platform (ODP).
- [Upgrade the React Native SDK from v3 to v4](https://docs.developers.optimizely.com/feature-experimentation/docs/upgrade-the-react-native-sdk-from-v3-to-v4.md): Steps to upgrade the Feature Experimentation React Native SDK from previous versions to version 4.0.0+.
- [React Native SDK prior to v4](https://docs.developers.optimizely.com/feature-experimentation/docs/javascript-react-native-sdk-prior-to-v4.md): An overview and links for the Optimizely Feature Experimentation React Native SDK versions 3.x and earlier.
- [Install the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-reactnative-prior-to-v4.md): The steps necessary to install the Optimizely Feature Experimentation React Native SDK into your application.
- [Initialize the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-reactnative-prior-to-v4.md): This topic describes how to initialize the Optimizely React Native SDK in your application.
- [Example usage of the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-reactnative-prior-to-v4.md): A brief code example of how to use the Optimizely React Native SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [withOptimizely for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/withoptimizely-reactnative-prior-to-v4.md): Describes the higher-order component, `withOptimizely` for the Optimizely Feature Experimentation React Native SDK.
- [OptimizelyProvider for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyprovider-reactnative-prior-to-v4.md): Describes how to wrap your React Native application at the root with OptimizelyProvider to give your entire React application access to Optimizely Feature Experimentation's APIs.
- [useDecision hook for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/usedecision-reactnative-prior-to-v4.md): The useDecision hook retrieves the decision result for a flag key for the Optimizely Feature Experimentation React Native SDK.
- [Track event for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/usetrackevent-react-native-prior-to-v4.md): Describes the useTrackEvent hook, which enables tracking events within functional components. This hook offers all the existing track event functionalities provided by the SDK.
- [OptimizelyConfig for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-reactnative-prior-to-v4.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation React Native SDK.
- [OptimizelyDecision for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-reactnative-prior-to-v4.md): Describes the OptimizelyDecision object for the React Native SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-reactnative-prior-to-v4.md): Describes how to configure a custom User Profile Service for the Optimizely Feature Experimentation React Native SDK.
- [Configure the React Native SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-reactnative-prior-to-v4.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation React Native SDK.
- [Event batching for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-reactnative-prior-to-v4.md): How the Optimizely Feature Experimentation React Native SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the React Native SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-reactnative-prior-to-v4.md): Customize log information from the Optimizely Feature Experimentation React Native SDK for debugging experiments.
- [Customize the React Native error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-reactnative-prior-to-v4.md): How to create your own error handler logic for the Feature Experimentation React Native SDK.
- [Configure a notification listener using the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-reactnative-prior-to-v4.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation React Native SDK.
- [ReactSDKClient for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/reactsdkclient-reactnative-prior-to-v4.md): Describes the ReactSDKClient, a wrapper that lets you access the standard SDK methods if you do not want to use components to interact with Optimizely Feature Experimentation.
- [Update usage from older versions of the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-reactnative-prior-to-v4.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) React Native SDK to Optimizely Feature Experimentation.
- [Forced Decision methods for the React Native SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-reactnative-prior-to-v4.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-reactnative-prior-to-v4](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-reactnative-prior-to-v4.md): Use the `fetchQualifiedSegments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `isQualifiedFor` method to check if the user qualifies for the specified segment.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-reactnative-prior-to-v4](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-reactnative-prior-to-v4.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/ruby-sdk.md): An overview and links for the Optimizely Feature Experimentation Ruby SDK.
- [Install the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-ruby.md): This topic describes the steps necessary to install the Optimizely Feature Experimentation Ruby SDK into your application.
- [Initialize the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-ruby.md): How to initialize the Optimizely Feature Experimentation Ruby SDK in your application.
- [Example usage of the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-ruby.md): A brief code example of how to use the Optimizely Feature Experimentation Ruby SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Ruby SDK.](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-ruby.md): Describes the create user context method for the Ruby SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-ruby.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-ruby.md): Describes the `track_event` method for the Ruby SDK, which tracks a conversion event in Optimizely Feature Experimentation.
- [OptimizelyConfig for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-ruby.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Ruby SDK.
- [OptimizelyDecision for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-ruby.md): Describes the OptimizelyDecision object for the Ruby SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [Implement a user profile service using the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/implement-a-user-profile-service-ruby.md): How to configure a custom User Profile Service for the Optimizely Feature Experimentation Ruby SDK.
- [Configure the Ruby SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-ruby.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Ruby SDK.
- [Event batching for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/event-batching-ruby.md): How the Optimizely Feature Experimentation Ruby SDK uses the event processor to batch impressions and conversion events into a single payload before sending it to Optimizely.
- [Customize the Ruby SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-ruby.md): Customize log information from the Optimizely Feature Experimentation Ruby SDK for debugging experiments.
- [Customize the Ruby SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-ruby.md): How to create your own error handler logic for the Optimizely Feature Experimentation Ruby SDK.
- [Configure a notification listener using the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-ruby.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Ruby SDK.
- [Update from older versions of the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-ruby.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Ruby SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-ruby.md): Describes the `OptimizelyUserContext` object for the Ruby SDK, which lets you make flag decisions and track events for a user context in Optimizely Feature Experimentation.
- [Forced Decision methods for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-ruby.md): Describes the Forced Decision methods, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-ruby](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-ruby.md): Use the `fetch_qualified_segments` method to retrieve the external audience mapping for the user from the Optimizely Data Platform (ODP) server. Use the `qualified_for?` method to check if the user qualifies for the specified segment.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-ruby](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-ruby.md): Describes the `send_odp_event` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Ruby SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-ruby-sdk.md): Configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Ruby SDK.
- [Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/swift-sdk.md): An overview and links for the Optimizely Feature Experimentation Swift SDK.
- [Install the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/install-sdk-swift.md): The steps necessary to install the Optimizely Feature Experimentation Swift SDK into your application.
- [Initialize the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/initialize-sdk-swift.md): How to initialize the Optimizely Feature Experimentation Swift SDK in your application.
- [Example usage of the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/example-usage-swift.md): A brief code example of how to use the Optimizely Feature Experimentation Swift SDK to evaluate feature flags, activate A/B tests, or feature tests.
- [Create a user context using the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/create-user-context-swift.md): Describes the create user context method for the Swift SDK, which creates a user context for flag decisions and events in Optimizely Feature Experimentation.
- [Decide methods for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/decide-methods-swift.md): Overview of the decide methods which you can use to return a flag decision for a user in Optimizely Feature Experimentation.
- [Track Event for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/track-event-swift.md): Describes the `trackEvent` method for the Swift SDK, which tracks a conversion event in Optimizely Feature Experimentation
- [OptimizelyConfig for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyconfig-swift.md): How to get access to project configuration data within the datafile using OptimizelyConfig for the Optimizely Feature Experimentation Swift SDK.
- [OptimizelyDecision for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelydecision-swift.md): Describes the OptimizelyDecision object for the Swift SDK, which is returned from the decide methods in Optimizely Feature Experimentation.
- [OptimizelyJSON for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyjson-swift.md): Describes the OptimizelyJSON object, which the Optimizely Feature Experimentation Swift SDK uses to retrieve JSON.
- [Implement a user profile service using the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-a-user-profile-service-swift.md): How to use the default or configure a custom User Profile Service for the Optimizely Feature Experimentation Swift SDK.
- [Configure the Swift SDK event dispatcher](https://docs.developers.optimizely.com/feature-experimentation/docs/configure-event-dispatcher-swift.md): How to configure the event dispatcher for HTTP requests made from every impression or conversion in the Optimizely Feature Experimentation Swift SDK.
- [Customize the Swift SDK logger](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-logger-swift.md): Customize log information from the Optimizely Feature Experimentation Swift SDK for debugging experiments.
- [Customize the Swift SDK error handler](https://docs.developers.optimizely.com/feature-experimentation/docs/customize-error-handler-swift.md): The Swift SDK does not include support for custom error handlers.
- [Configure a notification listener using the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/set-up-notification-listener-swift.md): How to configure and remove notification listeners for the Optimizely Feature Experimentation Swift SDK.
- [Update from older versions of the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/migrate-from-older-versions-swift.md): Describes how to update from older versions of the Optimizely Full Stack (Legacy) Swift SDK to Optimizely Feature Experimentation.
- [OptimizelyUserContext for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/optimizelyusercontext-swift.md): Describes the `OptimizelyUserContext` object for the Swift SDK, which lets you make flag decisions and track events for a user context in Optimizely Feature Experimentation.
- [Forced Decision methods for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/forced-decision-methods-swift.md): Describes the Forced Decision methods for the Swift SDK, which you can use to force users into a specific variation in Optimizely Feature Experimentation.
- [real-time-audiences-for-feature-experimentation-segment-qualification-methods-swift](https://docs.developers.optimizely.com/feature-experimentation/docs/real-time-audiences-for-feature-experimentation-segment-qualification-methods-swift.md): Use the Real-Time Audiences for Feature Experimentation segment methods to fetch external audience mapping for the user. You can fetch user segments with the user identifier of the user context.
- [send-odp-data-with-real-time-audiences-for-feature-experimentation-swift](https://docs.developers.optimizely.com/feature-experimentation/docs/send-odp-data-with-real-time-audiences-for-feature-experimentation-swift.md): Describes the `sendOdpEvent` method, which sends Optimizely Feature Experimentation event data to the Optimizely Data Platform (ODP) server.
- [Configure the CMAB cache for the Swift SDK](https://docs.developers.optimizely.com/feature-experimentation/docs/cmab-cache-config-for-the-swift-sdk.md): How to configure caching behavior for Contextual Multi-Armed Bandit (CMAB) decisions in the Feature Experimentation Swift SDK.
## API Reference
- [About the Feature Experimentation APIs](https://docs.developers.optimizely.com/feature-experimentation/reference/feature-experimentation-api-overview.md): Describes the available REST APIs to Optimizely Feature Experimentation.
- [Generate tokens and use the REST APIs](https://docs.developers.optimizely.com/feature-experimentation/reference/generate-tokens-and-use-the-rest-apis.md): How to administer API keys for the Optimizely Feature Experimentation REST APIs.
- [REST API cookbook](https://docs.developers.optimizely.com/feature-experimentation/reference/set-up-visual-basic-to-run-rest-api-calls.md): Steps to configure [Visual Studio Code](https://code.visualstudio.com) as a REST client to make requests to the Optimizely APIs. After configuring Visual Studio Code, you can use [Recipes](https://docs.developers.optimizely.com/feature-experimentation/recipes) to run common REST API calls.
- [List Environments](https://docs.developers.optimizely.com/feature-experimentation/reference/list_environments-feature-experimentation.md): Get a list of Environments within a Project You can use query parameters to filter/sort the response.
- [List Flags](https://docs.developers.optimizely.com/feature-experimentation/reference/list_flags.md): Get a list of Flags within a Project You can use query parameters to filter/sort the response.
- [Update Flags](https://docs.developers.optimizely.com/feature-experimentation/reference/update_flags.md): Update one or more Flags in a project using a json patch structure. Properties that are readOnly that are present in the request body will be ignored as well as unknown properties.
- [Create a New Flag](https://docs.developers.optimizely.com/feature-experimentation/reference/create_flag.md): Creates a new Flag in a Project. This operation corresponds to the `create_url` in a Flags response. Required properties must be present in the request body.
- [Archive Flags](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_flags.md): Archive one or more Flags in a project. This operation corresponds to the `archive_url` in a Flags response.
- [Unarchive Flags](https://docs.developers.optimizely.com/feature-experimentation/reference/unarchive_flags.md): Unarchive one or more Flags in a project. This operation corresponds to the `unarchive_url` in a Flags response.
- [Delete a Flag](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_flag.md): Permanently delete a Flag by key. There will be no way to access this data after deletion. If you want to stop seeing a Flag without deleting it permanently, try archiving instead.
- [Fetch a Single Flag](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_flag.md): Fetch a single Flag in a Project by its key. This operation corresponds to the `fetch_flag_url` in a Flags response.
- [List Reports](https://docs.developers.optimizely.com/feature-experimentation/reference/list_reports.md): Get a list of Reports for a specific Environment of a project You can use query parameters to filter/sort the response.
- [Archive Reports](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_reports.md): Archive one or more Reports in an Environment of a Project. This operation corresponds to the `archive_url` in a Reports response.
- [Unarchive Reports](https://docs.developers.optimizely.com/feature-experimentation/reference/unarchive_reports.md): Unarchive one or more Reports in an Environment of a Project. This operation corresponds to the `unarchive_url` in a Reports response.
- [Delete a Report](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_report.md): Permanently delete a Report by key in an Environment of a project There will be no way to access this data after deletion. If you want to stop seeing a Report without deleting it permanently, try archiving instead.
- [Fetch a Single Report](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_report.md): Fetch a single Report in an Environment of a Project by its key. This operation corresponds to the `fetch_report_url` in a Report response.
- [Reset the results for a Report](https://docs.developers.optimizely.com/feature-experimentation/reference/reset_results.md): Resetting the results for a Report will clear all the current results and results will be calculated from this point onwards. Use caution with this operation as there will be no way to access any previous results.
- [Fetch the Ruleset for a Flag in an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_ruleset.md): Fetch a Ruleset for a Flag in a specific Environment of a project. The Ruleset contains the set of all Rules that apply to the Flag for that Environment.
- [Update the Ruleset for a Flag in an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/update_ruleset.md): Update the Ruleset for a Flag in a specific Environment of a project using a json patch structure. Properties that are read only that are present in the request body will be ignored as well as unknown properties.
- [Disable the Ruleset for a Flag in an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/disable_ruleset.md): Disables the entire Ruleset for a Flag in an Environment
- [Enable the Ruleset for a Flag in an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/enable_ruleset.md): Enables the entire Ruleset for a Flag in an Environment
- [Fetch the Rule for a Ruleset in an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_rule.md): Fetch a Rule for a Ruleset in a specific Environment of a project.
- [List Rules](https://docs.developers.optimizely.com/feature-experimentation/reference/list_all_rules_in_project.md): Get a list of Rules within a Project You can use query parameters to filter/sort the response.
- [Fetch holdouts for a specific rule_key](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_holdouts_by_rule_key.md): Fetch a list of holdouts for a specific rule_key
- [Fetch a Rule for a specific experiment_id](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_rule_by_experiment_id.md): Fetch a Rule for a specific experiment_id
- [List Variations](https://docs.developers.optimizely.com/feature-experimentation/reference/list_variations.md): Get a list of Variations for a specific Flag in a Project You can use query parameters to filter/sort the response.
- [Update Variations](https://docs.developers.optimizely.com/feature-experimentation/reference/update_variations.md): Update one or more Variations for a specific Flag in a project using a JSON patch structure.
- [Create a New Variation](https://docs.developers.optimizely.com/feature-experimentation/reference/create_variation.md): Creates a new Variation for a specific Flag in a project. This operation corresponds to the `create_url` in a Variations response. Required properties must be present in the request body.
- [Archive Variations](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_variations.md): Archive one or more Variations for a Flag. This operation corresponds to the `archive_url` in a Variations response.
- [Brainstorm variations definitions using AI.](https://docs.developers.optimizely.com/feature-experimentation/reference/brainstorm_variations.md)
- [Unarchive Variations](https://docs.developers.optimizely.com/feature-experimentation/reference/unarchive_variations.md): Unarchive one or more Variations for a Flag. This operation corresponds to the `unarchive_url` in a Variations response.
- [Delete a Variation](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_variation.md): Permanently delete a Variation for a Flag. There will be no way to access this data after deletion. If you want to stop seeing a Variation without deleting it permanently, try archiving instead.
- [Fetch a Single Variation](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_variation.md): Fetch a single Variation for a Flag by its key. This operation corresponds to the `fetch_variation_url` in a Variations response.
- [List Exclusion Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/list_groups.md): Get a list of exclusion groups within a project You can use query parameters to filter/sort the response.
- [Update Exclusion Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/update_groups.md): Update one or more Groups in a project using a json patch structure. Properties that are readOnly that are present in the request body will be ignored as well as unknown properties.
- [Create an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/create_group.md): Creates a new exclusion group in a project. This operation corresponds to the `create_url` in a Groups response. Required properties must be present in the request body. Note that key for each object in "rules" (if provided), must be a stringified rule ID.
- [Archive Exclusion Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_groups.md): Archive one or more exclusion groups in a project. This operation corresponds to the `archive_url` in a Groups response.
- [Unarchive Exclusion Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/unarchive_groups.md): Unarchive one or more exclusion groups in a project. This operation corresponds to the `unarchive_url` in a Groups response.
- [Delete an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_group.md): Permanently delete an exclusion group by id. There will be no way to access this data after deleting. If you want to stop seeing a Group without deleting it permanently, archive instead.
- [Fetch a Single Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_group.md): Fetch a single exclusion group by its id. This operation corresponds to the `fetch_group_url` in a Groups response.
- [Fetch all variable definitions for flag.](https://docs.developers.optimizely.com/feature-experimentation/reference/list_variable_definitions.md): Get all variables defined for a flag.
- [Update Variable Definitions](https://docs.developers.optimizely.com/feature-experimentation/reference/update_variable_definitions.md): Update one or more Variable Definitions in a project using a json patch structure. Properties that are readOnly that are present in the request body will be ignored as well as unknown properties.
- [Create Variable Definition](https://docs.developers.optimizely.com/feature-experimentation/reference/create_variable_definition.md): Create Variable Definition
- [Brainstorm variable definitions using AI.](https://docs.developers.optimizely.com/feature-experimentation/reference/brainstorm_variable_definitions.md)
- [Delete a Variable Definition](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_variable_definition.md): Permanently delete a Variable Definition for a Flag. There will be no way to access this data after deletion.
- [Fetch a single variable definition by its key.](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_variable_definition.md): Returns information about a single variable definition by its key.
- [Get Change History](https://docs.developers.optimizely.com/feature-experimentation/reference/entities.md): Get entities associated for a specific Flag in a Project You can use query parameters to filter/sort the response.
- [List Holdouts for a project](https://docs.developers.optimizely.com/feature-experimentation/reference/list_holdouts.md): Get a list of Holdouts within a Project. Holdouts are experiments that reserve a portion of your traffic to measure the impact of your feature flags and experiments. They help establish a control group by excluding a percentage of users from seeing any experiments, allowing you to measure the overall impact of your experimentation program. You can use query parameters to filter and sort the response. Holdouts can be in different states (draft, running, concluded) and can be scoped globally or locally within your project.
- [Create a new Holdout](https://docs.developers.optimizely.com/feature-experimentation/reference/create_holdout.md): Creates a new holdout experiment to establish a control group for measuring the impact of your feature flags and experiments. A holdout reserves a percentage of your traffic (specified in basis points) that will be excluded from seeing any experiments, allowing you to measure the overall impact of your experimentation program against a baseline control group. The holdout will be created in a `draft` status and can be configured with: - **Traffic allocation**: Percentage of users to exclude from experiments (0-10000 basis points) - **Scope**: Global (affects all experiments) or local (specific experiments only) - **Audiences**: Target specific user segments using audience conditions - **Metrics**: Track and analyze the impact on key business metrics - **Environment**: Specify which environment the holdout applies to **Key Validation Rules:** - Holdout `key` must be unique within the project - Required fields: `key`, `name` - `traffic_allocation` must be between 0-10000 (basis points) - `key` must match pattern: `^[a-zA-Z0-9_\-]+$` (max 64 characters) - `name` and `description` have character limits (255 and 1000 respectively) **Metrics Integration:** If metrics are provided, they will be automatically saved to the MetricsHub for tracking and analysis.
- [Delete a Holdout](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_holdout.md): Permanently and irreversibly delete a holdout by its unique ID. This is a destructive operation that cannot be undone. **⚠️ CAUTION - Permanent Deletion:** - All holdout configuration data will be permanently lost - Associated metric data will be deleted from MetricsHub - Experiment rules and historical data will be removed - There is **no way to recover** this data after deletion **What gets deleted:** - Holdout configuration (traffic allocation, audience conditions, etc.) - All associated experiment rules and their settings - Metric tracking data and historical performance - System metadata and lifecycle timestamps **Safer Alternative - Archiving:** If you want to stop a holdout without permanent data loss, consider archiving instead: 1. Update the holdout status to `concluded` (if currently running) 2. Use the PATCH endpoint to set `archived: true` Archived holdouts preserve all historical data while removing them from active lists and preventing further modifications. **When to use DELETE vs ARCHIVE:** - **DELETE**: Use only when you're certain the holdout and all its data should be permanently removed - **ARCHIVE**: Recommended for most cases - preserves data for analysis while cleaning up active experiments **Important Notes:** - Can delete holdouts in any status (draft, running, concluded) - Operation affects both database and MetricsHub systems - This corresponds to the `delete_url` link in holdout responses
- [Fetch a single Holdout](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_holdout.md): Retrieves detailed information about a specific holdout by its unique ID within a project. **What you'll get:** - Complete holdout configuration including traffic allocation, status, and settings - Associated experiment rules and their current states - Audience conditions and targeting criteria (if configured) - Metric tracking configuration and current values - Lifecycle timestamps (created, updated, started, ended) - RESTful links for related operations (update, delete, archive, etc.) **Holdout States:** - **Draft**: Holdout is configured but not yet active - **Running**: Currently excluding traffic from experiments - **Concluded**: Finished collecting data, results available for analysis **Use Cases:** - View complete holdout configuration before making changes - Monitor current status and performance metrics - Access experiment rules affected by this holdout - Retrieve data for analysis and reporting - Verify permissions for management operations via included links This operation corresponds to the `url` or `fetch_holdout_url` property found in holdout list responses.
- [Update a Holdout using JSON Patch](https://docs.developers.optimizely.com/feature-experimentation/reference/update_holdouts.md): Updates a specific holdout using JSON Patch operations (RFC 6902). This endpoint allows you to modify individual properties of an existing holdout without replacing the entire resource. **Supported Operations:** - **Status transitions**: Move holdouts through their lifecycle (`draft` → `running` → `concluded`) - **Configuration updates**: Modify traffic allocation, name, description, and other settings - **Archive management**: Archive/unarchive concluded holdouts - **Metrics updates**: Modify metric configurations (restricted based on status) **State Management & Validation Rules:** - **Draft holdouts**: All fields can be updated except readonly properties - **Running holdouts**: Limited updates allowed; cannot modify metrics or core configuration - **Concluded holdouts**: Only `name` and `archived` status can be modified - **Status transitions**: Must follow proper sequence (draft→running→concluded) - **Traffic allocation**: Must be 0-10000 basis points (0-100%) **Automatic Timestamp Management:** - Moving to `running` status automatically sets `start_time` to current timestamp - Moving to `concluded` status automatically sets `end_time` to current timestamp **Common Update Patterns:** ```json [ {"op": "replace", "path": "/name", "value": "Updated Holdout Name"}, {"op": "replace", "path": "/traffic_allocation", "value": 1500}, {"op": "replace", "path": "/status", "value": "running"} ] ``` **Important Limitations:** - Cannot modify metrics on running holdouts (prevents mid-experiment changes) - Cannot archive non-concluded holdouts (must conclude first) - Cannot update core configuration on running/concluded holdouts - ReadOnly properties in patch operations are ignored
- [Fetch experiments associated with a holdout](https://docs.developers.optimizely.com/feature-experimentation/reference/fetch_holdout_experiments.md): Retrieves a list of experiments that are connected to a specific holdout through the system's data relationships. **What you'll get:** - **Experiment identification**: Layer experiment IDs from connected rules - **Timing information**: Start and end times from experiment reports - **Variation details**: Deployed variation IDs when configured - **Clean data**: Filtered to remove empty or null values for clarity **How experiments connect to holdouts:** This endpoint traverses complex database relationships to find experiments associated with a holdout: 1. **Holdout → Project**: Matches by project_id 2. **Project → Flags**: All flags in the same project 3. **Flags → Rulesets → Rules**: Rules within flag configurations 4. **Rules → Reports**: Experiment reports linked to rules 5. **Rules → Variations**: Deployed variations (when configured) **Data relationships explained:** - Each returned experiment represents a rule that's potentially affected by the holdout's traffic allocation - Experiment timing comes from associated reports (start_time, end_time) - Deployed variations are included when rules have configured variations - Results are automatically filtered to exclude empty/null values **Use cases:** - **Impact analysis**: Understanding which experiments are affected by a holdout - **Experiment coordination**: Viewing overlapping experiment timelines - **Traffic allocation planning**: Seeing experiment relationships before making holdout changes - **Reporting integration**: Connecting holdout data with experiment performance - **Debugging**: Investigating unexpected experiment behavior related to holdouts **Performance considerations:** - Query involves multiple table joins across the experiment system - Results are processed to remove empty values for cleaner responses - Response size depends on the number of connected experiments This endpoint provides crucial visibility into the complex relationships between holdouts and the experiments they may influence.
- [List Custom Fields](https://docs.developers.optimizely.com/feature-experimentation/reference/list_custom_fields.md): Get a list of Custom Fields within a Project You can use query parameters to filter/sort the response.
- [Create a New Custom Field](https://docs.developers.optimizely.com/feature-experimentation/reference/create_custom_field.md): Creates a new Custom Field in a Project. Required properties must be present in the request body.
- [Update a Custom Field](https://docs.developers.optimizely.com/feature-experimentation/reference/update_custom_field.md): Update fields of a Custom Field within the specified project. This operation corresponds to the `update_url` in a Custom Fields response.
- [Archive a Custom Field](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_custom_field.md): Archive a Custom Field within the specified project. This operation corresponds to the `archive_url` in a Custom Fields response.
- [Unarchive a Custom Field](https://docs.developers.optimizely.com/feature-experimentation/reference/unarchive_custom_field.md): Unarchive a Custom Field within the specified project. This operation corresponds to the `unarchive_url` in a Custom Fields response.
- [Overview](https://docs.developers.optimizely.com/feature-experimentation/reference/overview.md): Overview of the Optimizely API in Feature Experimentation.
- [List Projects](https://docs.developers.optimizely.com/feature-experimentation/reference/list_projects.md): Get a list of all the Projects in your account, with associated metadata
- [Create a Project](https://docs.developers.optimizely.com/feature-experimentation/reference/create_project.md): Create a new Project in your account
- [Read a Project](https://docs.developers.optimizely.com/feature-experimentation/reference/get_project.md): Get all the properties of a single Project
- [Update a Project](https://docs.developers.optimizely.com/feature-experimentation/reference/update_project.md): Update a Project
- [Campaigns](https://docs.developers.optimizely.com/feature-experimentation/reference/campaigns.md)
- [List Campaigns](https://docs.developers.optimizely.com/feature-experimentation/reference/list_campaigns.md): Get a list of all the Campaigns in a Project
- [Create a Campaign](https://docs.developers.optimizely.com/feature-experimentation/reference/create_campaign.md): Create a new Campaign in your account
- [Archive a Campaign](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_campaign.md): Archive Campaign by ID
- [Read a Campaign](https://docs.developers.optimizely.com/feature-experimentation/reference/get_campaign.md): Get metadata for a single Campaign
- [Update a Campaign](https://docs.developers.optimizely.com/feature-experimentation/reference/update_campaign.md): Update a campaign's metadata.
- [Get Campaign results](https://docs.developers.optimizely.com/feature-experimentation/reference/get_campaign_results.md): Get results for a Campaign
- [Get a sharable link for the campaign's results page](https://docs.developers.optimizely.com/feature-experimentation/reference/get_campaign_results_share_link.md): This link allows read-only access for anyone to view the results, even if they don't have an Optimizely account. Because anyone can use the link, be careful where you share it.
- [Get Campaign results as a CSV](https://docs.developers.optimizely.com/feature-experimentation/reference/get_campaign_results_csv.md): Get results for a Campaign as a CSV
- [Experiments](https://docs.developers.optimizely.com/feature-experimentation/reference/experiments.md)
- [List Experiments](https://docs.developers.optimizely.com/feature-experimentation/reference/list_experiments.md): Get a list of all the Experiments by Project or Campaign. Either the project_id or campaign_id query parameter is required.
- [Create an Experiment](https://docs.developers.optimizely.com/feature-experimentation/reference/create_experiment.md): Create an Experiment in a Project
- [Archive an Experiment](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_experiment.md): Archive Experiment by ID
- [Read an Experiment](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment.md): Get metadata for a single Experiment
- [Update an Experiment](https://docs.developers.optimizely.com/feature-experimentation/reference/update_experiment.md): Update an experiment by ID.
- [Get Experiment results](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_results.md): Get results for a single Experiment
- [Get a sharable link for the experiment's results page](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_results_share_link.md): This link allows read-only access for anyone to view the results, even if they don't have an Optimizely account. Because anyone can use the link, be careful where you share it.
- [Get Experiment results time series](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_timeseries.md): Get results time series for a single Experiment
- [Get Experiment results as a CSV](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_results_csv.md): Get results for a single Experiment as a CSV
- [List Audiences](https://docs.developers.optimizely.com/feature-experimentation/reference/list_audiences.md): List Audiences for a Project
- [Create an Audience](https://docs.developers.optimizely.com/feature-experimentation/reference/create_audience.md): Create an Audience for a Project
- [Read an Audience](https://docs.developers.optimizely.com/feature-experimentation/reference/get_audience.md): Get metadata for a single Audience
- [Update an Audience](https://docs.developers.optimizely.com/feature-experimentation/reference/update_audience.md): Update an Audience for a Project
- [Pages](https://docs.developers.optimizely.com/feature-experimentation/reference/pages.md)
- [List Pages](https://docs.developers.optimizely.com/feature-experimentation/reference/list_pages.md): List all Pages for a Project
- [Create a Page](https://docs.developers.optimizely.com/feature-experimentation/reference/create_page.md): Create a new Page in a provided Project
- [Archived a Page](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_page.md): Archive a Page within a Project by ID
- [Read a page](https://docs.developers.optimizely.com/feature-experimentation/reference/get_page.md): Get metadata for a single Page.
- [Update a Page](https://docs.developers.optimizely.com/feature-experimentation/reference/update_page.md): Update a Page in a provided Project
- [List all Events](https://docs.developers.optimizely.com/feature-experimentation/reference/list_events.md): Get all Events for a Project. This endpoint lists all types of Events including Pageview Events which are stored as Pages. You can also get Goal objects from Optimizely Classic by setting the include_classic parameter to true.
- [Get Event by ID](https://docs.developers.optimizely.com/feature-experimentation/reference/get_event.md): Get Event by ID
- [Create an In-Page Event](https://docs.developers.optimizely.com/feature-experimentation/reference/create_in_page_event.md): Create an Event that occurs in the context of a Page, such as measuring clicks
- [Archive an In-Page Event](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_in_page_event.md): Archive an In-Page Event
- [Update an In-Page Event](https://docs.developers.optimizely.com/feature-experimentation/reference/update_in_page_event.md): Update an Event that occurs in the context of a Page, such as measuring clicks
- [Create a Custom Event](https://docs.developers.optimizely.com/feature-experimentation/reference/create_custom_event.md): Create a Custom Event in a provided Project
- [Archive a Custom Event](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_custom_event.md): Archive a Custom Event
- [Update a Custom Event](https://docs.developers.optimizely.com/feature-experimentation/reference/update_custom_event.md): Update a Custom Event
- [List Attributes](https://docs.developers.optimizely.com/feature-experimentation/reference/list_attributes.md): List Attributes under a Project
- [Create an Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/create_attribute.md): Create an Attribue
- [Archive an Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_attribute.md): Archive Attribute by ID
- [Read an Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/get_attribute.md): Get Attribute by ID
- [Update an Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/update_attribute.md): Update an Attribute by ID
- [Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/groups-1.md)
- [List Exclusion Groups](https://docs.developers.optimizely.com/feature-experimentation/reference/list_groups-1.md): List Exclusion Groups under a Project
- [Create an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/create_group-1.md): Create a new Exclusion Group in a provided project
- [Archive an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_group-1.md): Archive an Exclusion Group by ID
- [Get an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/get_group.md): Get an Exclusion Group by ID
- [Update an Exclusion Group](https://docs.developers.optimizely.com/feature-experimentation/reference/update_group.md): Update an exclusion group by ID.
- [Extensions](https://docs.developers.optimizely.com/feature-experimentation/reference/extensions.md)
- [List Extensions](https://docs.developers.optimizely.com/feature-experimentation/reference/list_extensions.md): List Extensions under a project
- [Create an Extension](https://docs.developers.optimizely.com/feature-experimentation/reference/create_extension.md): Create a new Extension in a provided project
- [Archive an Extension](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_extension.md): Archive an Extension by ID
- [Get an Extension](https://docs.developers.optimizely.com/feature-experimentation/reference/get_extension.md): Get an Extension by ID
- [Update an Extension](https://docs.developers.optimizely.com/feature-experimentation/reference/update_extension.md): Update an extension by ID.
- [Get Plan & Usage information for all products](https://docs.developers.optimizely.com/feature-experimentation/reference/get_plan.md): Get Plan & Usage information for all products, only accessible for Administrators on the account
- [Scheduled Jobs](https://docs.developers.optimizely.com/feature-experimentation/reference/scheduled-jobs.md)
- [Get a list of Scheduled Jobs](https://docs.developers.optimizely.com/feature-experimentation/reference/list_scheduled_jobs.md): Get the list of Scheduled Jobs that belong to your account
- [Create a Scheduled Job](https://docs.developers.optimizely.com/feature-experimentation/reference/create_scheduled_job.md): Create a Scheduled Job
- [Archive a Scheduled Job](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_scheduled_job.md): Archive a Scheduled Job by ID
- [Get a Scheduled Job](https://docs.developers.optimizely.com/feature-experimentation/reference/get_scheduled_job.md): Get a Scheduled Job by ID
- [Update a Scheduled Job](https://docs.developers.optimizely.com/feature-experimentation/reference/update_scheduled_job.md): Update a Scheduled Job by ID
- [Get current User information](https://docs.developers.optimizely.com/feature-experimentation/reference/get_me.md): Get current User information
- [List Attributes](https://docs.developers.optimizely.com/feature-experimentation/reference/list-attributes.md)
- [Get list attributes by project](https://docs.developers.optimizely.com/feature-experimentation/reference/list_list_attributes.md): Get all of the List Attributes that have been created in a given project.
- [Create a List Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/create_list_attribute.md): Create a List Attribue with provided `name`, `list_type` and `key_field`. Fields `description` and `list_content` are optional.
- [Archive a List Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/archive_list_attribute.md): Archive List Attribute by ID
- [Read a List Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/get_list_attribute.md): Get metadata for a single List Attribute.
- [Update a List Attribute](https://docs.developers.optimizely.com/feature-experimentation/reference/update_list_attribute.md): Overwrite the List Attribute with the provided id. Required arguments are identical to creating a new List Attribute.
- [Sections](https://docs.developers.optimizely.com/feature-experimentation/reference/sections.md)
- [Read all the Sections in a Multivariate Test](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_sections.md): Get a list of all Sections in a Multivariate Test
- [Create a new Section in a Multivariate Test](https://docs.developers.optimizely.com/feature-experimentation/reference/create_section.md): Add a new Section to the Multivariate Test specified by `experiment_id`
- [Archive a Section by ID](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_section.md): Archive a Section by ID within the specified Multivariate Test
- [Read a Section of a Multivariate Test](https://docs.developers.optimizely.com/feature-experimentation/reference/get_section.md): Get metadata for a single Multivariate Test Section
- [Update a Section by ID](https://docs.developers.optimizely.com/feature-experimentation/reference/update_section.md): (Beta) Update a section by ID within the specified multivariate test.
- [Features](https://docs.developers.optimizely.com/feature-experimentation/reference/features.md)
- [Get Features by Project](https://docs.developers.optimizely.com/feature-experimentation/reference/list_features.md): Get all of the Features that have been created in a given Project. Note this endpoint is incompatible with Full Stack Targeted Rollouts projects (default in accounts created after July 2020) and with non-legacy Full Stack projects (default in projects created after February 2021). See the compatible API at https://library.optimizely.com/docs/api/flags/v1/index.html#tag/Flags.
- [Create a Feature](https://docs.developers.optimizely.com/feature-experimentation/reference/create_feature.md): Create a Feature
- [Archive a Feature](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_feature.md): Archive a Feature
- [Read a Feature](https://docs.developers.optimizely.com/feature-experimentation/reference/get_feature.md): Get metadata for a single Feature. Note this endpoint is incompatible with Full Stack Targeted Rollouts projects (default in accounts created after July 2020) and with non-legacy Full Stack projects (default in projects created after February 2021). See the compatible API at https://library.optimizely.com/docs/api/flags/v1/index.html#tag/Flags.
- [Update a Feature](https://docs.developers.optimizely.com/feature-experimentation/reference/update_feature.md): Update a feature by ID.
- [List Subject Access Requests by data source and status](https://docs.developers.optimizely.com/feature-experimentation/reference/list_sar_requests_by_team.md): Get a list of Subject Access Requests by data source and status
- [Update a Subject Access Request](https://docs.developers.optimizely.com/feature-experimentation/reference/update_sar_request.md): Update a Subject Access Request by ID
- [Update a Subject Access Request](https://docs.developers.optimizely.com/feature-experimentation/reference/update_sar_request_by_post.md): Update a Subject Access Request by ID
- [List Subject Access Requests](https://docs.developers.optimizely.com/feature-experimentation/reference/list_sar_requests_by_account.md): Fetch Subject Access Requests submitted from your account
- [Create a Subject Access Request](https://docs.developers.optimizely.com/feature-experimentation/reference/create_sar_request.md): Create a Subject Access Request
- [Get Subject Access Request](https://docs.developers.optimizely.com/feature-experimentation/reference/get_sar_request.md): Get Subject Access Requests by request id
- [Get Environments by Project](https://docs.developers.optimizely.com/feature-experimentation/reference/list_environments.md): Get all of the Environments that have been created in a given Project
- [Create an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/create_environment.md): Create an Environment in a provided Project
- [Archive an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_environment.md): Archive an Environment
- [Read an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/get_environment.md): Get all the properties of a single Environment
- [Update an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/update_environment.md): Update an Environment by ID
- [Read the datafile of an Environment](https://docs.developers.optimizely.com/feature-experimentation/reference/get_datafile.md): Get the datafile for an Environment. The Datafile is a JSON string that describes to the Full Stack SDK all the experiments and features running in a given environment and dependent entities like audiences and attributes. Normally, you won't need to interact with the datafile directly. The SDK exposes methods that operate on it internally.
- [Search](https://docs.developers.optimizely.com/feature-experimentation/reference/get_search_results.md): Search for entities in your account by text string
- [Retrieve changes for a project.](https://docs.developers.optimizely.com/feature-experimentation/reference/list_change_history.md): Get a list of changes for a given project using optional filters.
- [Attribution](https://docs.developers.optimizely.com/feature-experimentation/reference/attribution.md)
- [Get bucketing information for a visitor](https://docs.developers.optimizely.com/feature-experimentation/reference/get_bucketing_history.md): Get a list of experiments within a project a visitor has been exposed to
- [Get AWS credentials to access experimentation events export data.](https://docs.developers.optimizely.com/feature-experimentation/reference/get_enriched_events_export_credentials.md): Get temporary credentials for experimentation events export data hosted on AWS.
- [Get GCP credentials to access experimentation events export data.](https://docs.developers.optimizely.com/feature-experimentation/reference/get_gcp_e3_credentials.md): Get a temporary access token for experimentation events export data hosted on GCP. The credentials are valid for one hour.
- [Get Impressions Usage](https://docs.developers.optimizely.com/feature-experimentation/reference/get_impressions_usage_request.md): Get Impressions Usage by account id
- [Get Impressions Usage Summary](https://docs.developers.optimizely.com/feature-experimentation/reference/get_impressions_usage_summary_request.md): Get Impressions Usage Summary by account id
- [Collaborators](https://docs.developers.optimizely.com/feature-experimentation/reference/collaborators.md)
- [List Collaborators](https://docs.developers.optimizely.com/feature-experimentation/reference/list_collaborators.md): List all the Collaborators on your account, or filter by project_id to list Collaborators on a specific project
- [Invite Collaborators](https://docs.developers.optimizely.com/feature-experimentation/reference/create_collaborators.md): Invite collaborators to specific projects on an account
- [List Collaborators who have not yet accepted the invitations](https://docs.developers.optimizely.com/feature-experimentation/reference/list_invitations.md): List Collaborators who are yet to accept the invitations.
- [ExperimentSummary](https://docs.developers.optimizely.com/feature-experimentation/reference/experimentsummary.md)
- [Summaries of Experiments and Campaigns](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_summaries.md): Summaries of Experiments and Campaigns in a Project
- [Get Experiment Result's Report](https://docs.developers.optimizely.com/feature-experimentation/reference/get_experiment_report.md): Gets the outcome of the experiment as inferred by the Optimizely system upon the evaluation of variations that may or may not have reached statistical significance.
- [Get Webhooks by Project](https://docs.developers.optimizely.com/feature-experimentation/reference/list_webhooks.md): Get all of the Webhooks that have been created in a given Project
- [Create a Webhook](https://docs.developers.optimizely.com/feature-experimentation/reference/create_webhook.md): Create a Webhook in a provided Project
- [Delete a Webhook](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_webhook.md): Delete an Webhook
- [Read a Webhook](https://docs.developers.optimizely.com/feature-experimentation/reference/get_webhook.md): Get all the properties of a single Webhook
- [Update a Webhook](https://docs.developers.optimizely.com/feature-experimentation/reference/update_webhook.md): Update a webhook by ID
- [Recommendations](https://docs.developers.optimizely.com/feature-experimentation/reference/recommendations.md)
- [Download a CSV with all current catalog data](https://docs.developers.optimizely.com/feature-experimentation/reference/get_recs_catalog_csv.md): Download a CSV with all current catalog data
- [Download a CSV with all computed recommendations output data](https://docs.developers.optimizely.com/feature-experimentation/reference/get_recs_output_csv.md): Download a CSV with all computed recommendations output data
- [Download a CSV with summary stats data](https://docs.developers.optimizely.com/feature-experimentation/reference/get_recs_stats_csv.md): Download a CSV with summary stats data
- [Get Holdout results as a CSV](https://docs.developers.optimizely.com/feature-experimentation/reference/get_holdout_results_csv.md): Get results for a Holdout as a CSV
- [Get User Permissions For Project Entity Type](https://docs.developers.optimizely.com/feature-experimentation/reference/get_user_permissions_for_project_entity_type_users__user_id__projects__project_id___entity_type__get.md)
- [Get Team Permissions For Project Entity Type](https://docs.developers.optimizely.com/feature-experimentation/reference/get_team_permissions_for_project_entity_type_teams__team_id__projects__project_id___entity_type__get.md)
- [Get Entity Permissions](https://docs.developers.optimizely.com/feature-experimentation/reference/get_entity_permissions_projects__project_id___entity_type___entity_id__get.md)
- [Change Permissions](https://docs.developers.optimizely.com/feature-experimentation/reference/change_permissions_projects__project_id___entity_type___entity_id__patch.md)
- [Get Teams](https://docs.developers.optimizely.com/feature-experimentation/reference/get_teams_accounts__account_id__teams_get.md): Get all teams for an account
- [Create Team](https://docs.developers.optimizely.com/feature-experimentation/reference/create_team_accounts__account_id__teams_post.md): Create a new team.
- [Delete Team](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_team_accounts__account_id__teams__team_id__delete.md): Delete a team.
- [Get Team Info](https://docs.developers.optimizely.com/feature-experimentation/reference/get_team_info_accounts__account_id__teams__team_id__get.md): Get team info.
- [Update Team](https://docs.developers.optimizely.com/feature-experimentation/reference/update_team_info_accounts__account_id__teams__team_id__patch.md): Update an existing team's information.
- [List Scheduled changes of a flag](https://docs.developers.optimizely.com/feature-experimentation/reference/list_scheduled_changes.md): List Scheduled changes of a flag
- [Create a Schedule Change for a flag in an environment](https://docs.developers.optimizely.com/feature-experimentation/reference/create_scheduled_change.md): Create a Scheduled Change for a flag in an environment The schedule change contains a set of actions to update the flag in that environment at a specific time
- [Delete a Scheduled Change for a flag in an environment](https://docs.developers.optimizely.com/feature-experimentation/reference/delete_scheduled_change.md): Delete a Scheduled Change for a flag in an environment
- [Update the Scheduled Change for a flag in an environment](https://docs.developers.optimizely.com/feature-experimentation/reference/update_scheduled_change.md): Update the Scheduled Change for a flag in an environment
- [Return the Optimizely config for the given environment](https://docs.developers.optimizely.com/feature-experimentation/reference/getconfig.md): Return all available experiment and features definitions for this environment.
- [Decide makes feature decisions for the selected query parameters.](https://docs.developers.optimizely.com/feature-experimentation/reference/decide.md): Returns decision results for flag keys for a user. The result for a single key is returned as an OptimizelyDecision object whereas the result for multiple keys is returned as an array of OptimizelyDecision objects. If no flag key is provided, decision is made for all flag keys. OptimizelyDecision object contains all data required to deliver the flag rule.
- [Lookup returns saved user profile.](https://docs.developers.optimizely.com/feature-experimentation/reference/lookup.md): Returns the saved user profile for a user.
- [Save saves user profile.](https://docs.developers.optimizely.com/feature-experimentation/reference/save.md): Saves user profile for a user.
- [Track event for the given user.](https://docs.developers.optimizely.com/feature-experimentation/reference/trackevent.md): Send event and user details to Optimizely analytics backend, so you can see metrics for an experiment. You can view metrics either on your Results page or as a data export.
- [Send event to Optimizely Data Platform (ODP).](https://docs.developers.optimizely.com/feature-experimentation/reference/sendodpevent.md): Send ODP event to Optimizely Data Platform. Clients can send arbitrary events to the ODP server. For instance, they can bind an email to the FS userId via this API.
- [Activate selected features and experiments for the given user.](https://docs.developers.optimizely.com/feature-experimentation/reference/activate.md): Returns Optimizely's decision about which features and experiments a given user is exposed to. Optionally sends an impression event to the Optimizely analytics backend for any decision made for an experiment. This endpoint consolidates key functionality from the Feature Experimentation SDKs into one convenient call.
- [Override an experiment decision for a user](https://docs.developers.optimizely.com/feature-experimentation/reference/override.md): For debugging or testing. Overrides an experiment and variation decision for a given user, in local memory only. Do not use this endpoint for production overrides.
- [Get JWT token to authenticate all requests.](https://docs.developers.optimizely.com/feature-experimentation/reference/gettoken.md): Generates valid JWT token for grant_type, client_id, and client_secret, using the values you pass in the request body. Configure expiration time and SDK keys (to which the token grants access) in Optimizely config.
- [Batch multiple API endpoints into one request.](https://docs.developers.optimizely.com/feature-experimentation/reference/batchmultipleapiendpointsintoonerequest.md): You can use the Batch endpoint to do things like 1. Make activate decisions for a batch of users in a short timeframe for testing purposes 2. Gather responses from a bunch of activate calls into one response for comparison or analysis
## Recipes
- [1. Create a flag and variables](https://docs.developers.optimizely.com/feature-experimentation/recipes/1-create-a-flag-and-variables.md)
- [2. Create variations](https://docs.developers.optimizely.com/feature-experimentation/recipes/2-create-variations.md)
- [3. Create events](https://docs.developers.optimizely.com/feature-experimentation/recipes/3-create-events.md)
- [4. Create attributes](https://docs.developers.optimizely.com/feature-experimentation/recipes/4-create-attributes.md)
- [5. Create audiences](https://docs.developers.optimizely.com/feature-experimentation/recipes/5-create-audiences.md)
- [6. Create experiment](https://docs.developers.optimizely.com/feature-experimentation/recipes/6-create-experiment.md)
- [7. Launch experiment](https://docs.developers.optimizely.com/feature-experimentation/recipes/7-launch-experiment.md)
- [8. Conclude experiment](https://docs.developers.optimizely.com/feature-experimentation/recipes/8-conclude-experiment.md)
- [9. Analyze results](https://docs.developers.optimizely.com/feature-experimentation/recipes/9-analyze-results.md)
## Changelog
- [Metrics API updates](https://docs.developers.optimizely.com/feature-experimentation/changelog/api-updates-2.md)
- [API updates](https://docs.developers.optimizely.com/feature-experimentation/changelog/api-updates-1.md)
- [New endpoints](https://docs.developers.optimizely.com/feature-experimentation/changelog/new-endpoints.md)
- [API updates](https://docs.developers.optimizely.com/feature-experimentation/changelog/api-updates.md)