Skip to content

Feature flag user lists API

DETAILS: Tier: Free, Premium, Ultimate Offering: GitLab.com, 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 "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1" \
     --header "PRIVATE-TOKEN: <your_access_token>" \
     --header "Content-type: application/json" \
     --request PUT \
     --data @- << EOF
{
    "user_xids": "user2,user3,user4"
}
EOF

Example response:

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

Delete feature flag user list

Deletes a feature flag user list.

DELETE /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>" --request DELETE "https://gitlab.example.com/api/v4/projects/1/feature_flags_user_lists/1"