Skip to content

Feature flag user lists API

DETAILS: Tier: Free, Premium, Ultimate Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated

API for accessing GitLab feature flag user lists.

Users with at least the Developer role can access the feature flag user lists API.

NOTE: GET requests return twenty results at a time because the API results are paginated. You can change this value.

List all feature flag user lists for a project

Gets all feature flag user lists for the requested project.

GET /projects/:id/feature_flags_user_lists
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
search string no Return user lists matching the search criteria.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"

Example response:

[
   {
      "name": "user_list",
      "user_xids": "user1,user2",
      "id": 1,
      "iid": 1,
      "project_id": 1,
      "created_at": "2020-02-04T08:13:51.423Z",
      "updated_at": "2020-02-04T08:13:51.423Z"
   },
   {
      "name": "test_users",
      "user_xids": "user3,user4,user5",
      "id": 2,
      "iid": 2,
      "project_id": 1,
      "created_at": "2020-02-04T08:13:10.507Z",
      "updated_at": "2020-02-04T08:13:10.507Z"
   }
]

Create a feature flag user list

Creates a feature flag user list.

POST /projects/:id/feature_flags_user_lists
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
name string yes The name of the list.
user_xids string yes A comma-separated list of external user IDs.
curl "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists" \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Content-type: application/json" \
     --data @- << EOF
{
    "name": "my_user_list",
    "user_xids": "user1,user2,user3"
}
EOF

Example response:

{
   "name": "my_user_list",
   "user_xids": "user1,user2,user3",
   "id": 1,
   "iid": 1,
   "project_id": 1,
   "created_at": "2020-02-04T08:32:27.288Z",
   "updated_at": "2020-02-04T08:32:27.288Z"
}

Get a feature flag user list

Gets a feature flag user list.

GET /projects/:id/feature_flags_user_lists/:iid
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
iid integer/string yes The internal ID of the project's feature flag user list.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1"

Example response:

{
   "name": "my_user_list",
   "user_xids": "123,456",
   "id": 1,
   "iid": 1,
   "project_id": 1,
   "created_at": "2020-02-04T08:13:10.507Z",
   "updated_at": "2020-02-04T08:13:10.507Z"
}

Update a feature flag user list

Updates a feature flag user list.

PUT /projects/:id/feature_flags_user_lists/:iid
Attribute Type Required Description
id integer/string yes The ID or URL-encoded path of the project.
iid integer/string yes The internal ID of the project's feature flag user list.
name string no The name of the list.
user_xids string no A comma-separated list of external user IDs.
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"
```0

Example response:

```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"
```1

## Delete feature flag user list

Deletes a feature flag user list.

```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"
```2

| Attribute           | Type             | Required   | Description                                                                            |
| ------------------- | ---------------- | ---------- | ---------------------------------------------------------------------------------------|
| `id`                | integer/string   | yes        | The ID or [URL-encoded path of the project](rest/index.md#namespaced-paths).       |
| `iid`               | integer/string   | yes        | The internal ID of the project's feature flag user list                                |

```shell
curl --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists"
```3