Skip to content

docs: update docs navigation #9942

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ export const ApiTokenTable = ({
<span>
{'No tokens available. Read '}
<Link
href='https://docs.getunleash.io/how-to/api'
href='https://docs.getunleash.io/api-overview'
target='_blank'
rel='noreferrer'
>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,7 @@ export const ProjectAccessAssign = ({
modal
title={`${!edit ? 'Assign' : 'Edit'} ${entityType} access`}
description='Custom project roles allow you to fine-tune access rights and permissions within your projects.'
documentationLink='https://docs.getunleash.io/how-to/how-to-create-and-assign-custom-project-roles'
documentationLink='https://docs.getunleash.io/reference/rbac#create-and-assign-a-custom-project-role'
documentationLinkLabel='Project access documentation'
formatApiCode={formatApiCode}
>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,16 @@
---
title: How to use the Admin API
title: API overview
description: "Unleash is the largest open-source feature management platform. In our documentation, you’ll find everything from core Unleash concepts and feature flag best practices to detailed SDK and API guides—giving you all the resources you need to get the most out of Unleash."
displayed_sidebar: documentation
---

This guide explains the steps required to using the Admin API.
## Frontend API

## Client API

## Admin API

How to use the Admin API
## Create API token

First, you'll need to create a [personal access token](/reference/api-tokens-and-client-keys.mdx#personal-access-tokens).
Expand Down Expand Up @@ -33,3 +40,26 @@ We have now enabled the feature flag. We can also verify that it was actually ch
![Feature flag events showing that it was last updated by "admin-api".](/img/api_access_history.png)

You can find the full documentation on everything the Unleash API supports in the [Unleash API documentation](/reference/api/legacy/unleash/admin/features.md).


## Enable and access the OpenAPI specification

:::note Availability

**Unleash version**: `4.13+`

:::

The Unleash server provides an OpenAPI specification that describes its APIs. This specification is useful for understanding the API, generating client libraries, or for testing purposes.

For self-hosted Unleash v5.2+, the OpenAPI specification endpoint is enabled by default. For older self-hosted versions, use the `ENABLE_OAS` [environment variable](/using-unleash/deploy/configuring-unleash) to enable it.

You can access the OpenAPI specification from your Unleash instance URL.

- **JSON Specification:**
- Path: `/docs/openapi.json`
- This provides the raw OpenAPI specification in JSON format.

- **Swagger UI (interactive documentation):**
- Path: `/docs/openapi/`
- This provides an interactive UI where you can explore and test the API endpoints.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ For this tutorial, you'll need the following:

![architecture diagram for our implementation](../rails/diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. For server-side applications or automated scripts, Unleash exposes an [API](/reference/api/unleash) defined by an OpenAPI specification, allowing you to perform these actions programmatically.
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. For server-side applications or automated scripts, Unleash exposes an [API](/api-overview) defined by an OpenAPI specification, allowing you to perform these actions programmatically.

## 1. Install a local feature flag provider

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ For this tutorial, you’ll need the following:

![architecture diagram for our implementation](./diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](https://docs.getunleash.io/reference/api/unleash) to perform the same actions straight from your CLI or app.
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or app.

## 1. Install a local feature flag provider

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ For this tutorial, you'll need the following:

![architecture diagram for our implementation](./diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. You can perform the same actions straight from your CLI or server-side app using the [Unleash API](/reference/api/unleash).
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. You can perform the same actions straight from your CLI or server-side app using the [Unleash API](/api-overview).

## Best practices for back-end apps with Unleash

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ In this tutorial, you will need the following:

This architecture diagram breaks down how the Java app works with Unleash to control feature flags. We connect the Unleash service to your Java app using the Java SDK.

The Unleash Server acts as a Feature Flag Control Service, managing and storing your feature flags. It enables the retrieval of flag data and, particularly when not utilizing a user interface, supports the sending of data to and from the service. The Unleash Server has a UI for creating and managing projects and feature flags. There are also [API commands available](https://docs.getunleash.io/reference/api/unleash) to perform the same actions straight from your CLI or server-side app.
The Unleash Server acts as a Feature Flag Control Service, managing and storing your feature flags. It enables the retrieval of flag data and, particularly when not utilizing a user interface, supports the sending of data to and from the service. The Unleash Server has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or server-side app.

## 1. Feature Flag best practices for backend apps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ In this tutorial, you will need the following:

This architecture diagram breaks down how the Java Spring Boot app works with Unleash to use feature flags.

The Unleash Server is a Feature Flag Control Service for managing and storing your feature flags. It enables the retrieval of flag data and, particularly when not utilizing a user interface, supports sending data to and from the service. The Unleash Server has a UI for creating and managing projects and feature flags. API commands are also [available](/reference/api/unleash) to perform the same actions from your CLI or server-side app.
The Unleash Server is a Feature Flag Control Service for managing and storing your feature flags. It enables the retrieval of flag data and, particularly when not utilizing a user interface, supports sending data to and from the service. The Unleash Server has a UI for creating and managing projects and feature flags. API commands are also [available](/api-overview) to perform the same actions from your CLI or server-side app.

The Spring Boot SDK is an extension of the Java SDK, configured for Spring Boot-specific architecture and conventions.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ In this tutorial, you will need the following:

This architecture diagram breaks down how the Python app works with Unleash to control feature flags. We connect the Unleash service to your Python app using the Python SDK.

The Unleash Server is a **Feature Flag Control Service**, which is a service that manages your feature flags and is used to retrieve flag data from (and send data to, especially when not using a UI). The Unleash server has a UI for creating and managing projects and feature flags. There are also [API commands available](https://docs.getunleash.io/reference/api/unleash) to perform the same actions straight from your CLI or server-side app.
The Unleash Server is a **Feature Flag Control Service**, which is a service that manages your feature flags and is used to retrieve flag data from (and send data to, especially when not using a UI). The Unleash server has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or server-side app.

## 1. Unleash best practice for backend apps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ For this tutorial, you’ll need the following:

![architecture diagram for our implementation](./diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/reference/api/unleash) to perform the same actions straight from your CLI or server-side app.
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or server-side app.

## 1. Best practices for back-end apps with Unleash

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
---
title: How to Implement Feature Flags in React
slug: /feature-flag-tutorials/react
pagination_next: feature-flag-tutorials/react/examples
---

import VideoContent from '@site/src/components/VideoContent.jsx';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ For this tutorial, you’ll need the following:

![architecture diagram for our implementation](./diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](https://docs.getunleash.io/reference/api/unleash) to perform the same actions straight from your CLI or server-side app.
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or server-side app.

## 1. Best practices for back-end apps with Unleash

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ For this tutorial, you’ll need the following:

![architecture diagram for our implementation](./diagram.png)

The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](https://docs.getunleash.io/reference/api/unleash) to perform the same actions straight from your CLI or app.
The Unleash Server is a **Feature Flag Control Service**, which manages your feature flags and lets you retrieve flag data. Unleash has a UI for creating and managing projects and feature flags. There are also [API commands available](/api-overview) to perform the same actions straight from your CLI or app.

## 1. Install a local feature flag provider

Expand Down
20 changes: 10 additions & 10 deletions website/docs/feature-flag-tutorials/use-cases/a-b-testing.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: How to do A/B Testing using Feature Flags
title: How to do A/B testing using feature flags
slug: /feature-flag-tutorials/use-cases/a-b-testing
---

Feature flags are a great way to run A/B or multivariate tests with minimal code modifications, and Unleash offers built-in features that make it easy to get started. In this tutorial, we will walk through how to do an A/B test using Unleash with your application.

## How to Perform A/B Testing with Feature Flags
## How to perform A/B testing with feature flags

To follow along with this tutorial, you need access to an Unleash instance to create and manage feature flags. Head over to our [Quick Start documentation](/quickstart) for options, including running locally or using an [Unleash SaaS instance](https://www.getunleash.io/pricing?).

Expand All @@ -21,7 +21,7 @@ In this tutorial, you will learn how to set up and run an A/B test using feature

You will also learn about how to [automate advanced A/B testing strategies](#multi-arm-bandit-tests-to-find-the-winning-variant) such as multi-arm bandit testing using feature flags.

### Create a Feature Flag
### Create a feature flag

To do A/B testing, we'll create a feature flag to implement the rollout strategy. After that, we'll explore what strategies are and how they are configured in Unleash.

Expand All @@ -39,7 +39,7 @@ Once you have completed the form, click **Create feature flag**.

Your new feature flag is now ready to be used. Next, we will configure the A/B testing strategy for your flag.

### Target Users for A/B Testing
### Target users for A/B testing

With an A/B testing strategy, you’ll be able to:

Expand Down Expand Up @@ -93,13 +93,13 @@ Next, decide the percentage of users to target for each variant, known as the va

![You can configure multiple strategy variants for A/B testing within the gradual rollout form.](/img/use-case-experiment-variants.png)

### Manage User Session Behavior
### Manage user session behavior

Unleash is built to give developers confidence in their ability to run A/B tests effectively. One critical component of implementing A/B testing strategies is maintaining a consistent experience for each user across multiple user sessions.

For example, user `uuid1234` should be the target of `variantA` regardless of their session. The original subset of users that get `variantA` will continue to experience that variation of the feature over time. At Unleash, we call this [stickiness](/reference/stickiness). You can define the parameter of stickiness in the gradual rollout form. By default, stickiness is calculated by `sessionId` and `groupId`.

### Track A/B Testing for your Key Performance Metrics
### Track A/B testing for your key performance metrics

An A/B testing strategy is most useful when you can track the results of a feature rollout to users. When your team has clearly defined the goals for your A/B tests, you can use Unleash to analyze how results tie back to key metrics, like conversion rates or time spent on a page. One way to collect this data is by enabling [impression data](/reference/impression-data) per feature flag. Impression data contains information about a specific feature flag activation check.

Expand Down Expand Up @@ -130,7 +130,7 @@ The output from the impression data in your app may look like this code snippet:
}
```

In order to capture impression events in your app, follow our [language and framework-specific tutorials](/languages-and-frameworks).
In order to capture impression events in your app, follow our [language and framework-specific tutorials](/feature-flag-tutorials/react).

Now that your application is capturing impression events, you can configure the correct data fields and formatting to send to any analytics tool or data warehouse you use.

Expand Down Expand Up @@ -197,7 +197,7 @@ Here is an example of a payload that is returned from Google Analytics that incl

By enabling impression data for your feature flag and listening to events within your application code, you can leverage this data flowing to your integrated analytics tools to make informed decisions faster and adjust your strategies based on real user behavior.

### Roll Out the Winning Variant to All Users
### Roll out the winning variant to all users

After you have implemented your A/B test and measured the performance of a feature to a subset of users, you can decide which variant is the most optimal experience to roll out to all users in production.

Expand All @@ -207,11 +207,11 @@ When rolling out the winning variant, your flag may already be on in your produc

After the flag has been available to 100% of users over time, archive the flag and clean up your codebase.

## A/B Testing with Enterprise Automation
## A/B testing with enterprise automation

With Unleash, you can automate feature flags through APIs and even rely on [actions](/reference/actions) and [signals](/reference/signals) to enable and disable flags dynamically. When running A/B tests, you can configure your projects to execute tasks in response to application metrics and thresholds you define. For example, if an experimentation feature that targets a part of your user base logs errors, your actions can automatically disable the feature so your team is given the time to triage while still providing a seamless, alternative experience to users. Similarly, you can use the APIs to modify the percentage of users targeted for variations of a feature based off users engaging with one variation more than the other.

### Multi-arm Bandit Tests to Find the Winning Variant
### Multi-arm bandit tests to find the winning variant

When running complex multivariate tests with numerous combinations, automating the process of finding the best variation of a feature is the most optimal, cost-effective approach for organizations with a large user base. [Multi-arm bandit tests](https://en.wikipedia.org/wiki/Multi-armed_bandit) are a powerful technique used in A/B testing to allocate traffic to different versions of a feature or application in a way that maximizes the desired outcome, such as conversion rate or click-through rate. This approach offers several advantages over traditional A/B testing and is a viable solution for large enterprise teams.

Expand Down
Loading