For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Sign inTry it free
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
DocsGuidesSDKsIntegrationsAPI docsTutorialsFlagship blog
  • REST API overview
    • Access Tokens
    • Account Members
    • Account Usage Beta
    • AI Configs
    • Announcements
    • Applications Beta
    • Approvals
    • Approvals Beta
    • Audit Log
    • Code References
    • Contexts
    • Context Settings
    • Custom Roles
    • Data Export Destinations
    • Environments
    • Experiments
    • Feature Flags
    • Feature Flags Beta
    • Flag Import Configurations Beta
    • Flag Links Beta
    • Flag Triggers
    • Follow Flags
    • Holdouts Beta
    • Insights Charts Beta
    • Insights Deployments Beta
    • Insights Flag Events Beta
    • Insights Pull Requests Beta
    • Insights Repositories Beta
    • Insights Scores Beta
    • Integration Audit Log Subscriptions
    • Integration Delivery Configurations Beta
    • Integrations Beta
    • Layers
    • Metrics
    • Metrics Beta
    • OAuth2 Clients
    • Persistent Store Integrations Beta
    • Projects
      • PUTCreate or update flag defaults for project
      • POSTCreate project
      • DELDelete project
      • GETGet flag defaults for project
      • GETGet project
      • GETList projects
      • PATCHUpdate flag default for project
      • PATCHUpdate project
    • Relay Proxy Configurations
    • Release Pipelines Beta
    • Releases Beta
    • Scheduled Changes
    • Segments
    • Tags
    • Teams
    • Teams Beta
    • Users
    • Users Beta
    • User Settings
    • Views Beta
    • Webhooks
    • Workflows
    • Workflow Templates
    • Other
Sign inTry it free
LogoLogo
REST API overviewProjects

List projects

GET
/api/v2/projects
GET
/api/v2/projects
$curl https://app.launchdarkly.com/api/v2/projects \
> -H "Authorization: <apiKey>"
1{
2 "_links": {
3 "self": {
4 "href": "/api/v2/projects",
5 "type": "application/json"
6 }
7 },
8 "items": [
9 {
10 "_links": {
11 "environments": {
12 "href": "/api/v2/projects/my-project/environments",
13 "type": "application/json"
14 },
15 "self": {
16 "href": "/api/v2/projects/my-project",
17 "type": "application/json"
18 }
19 },
20 "_id": "57be1db38b75bf0772d11383",
21 "key": "project-key-123abc",
22 "includeInSnippetByDefault": true,
23 "name": "My Project",
24 "tags": [
25 "ops"
26 ],
27 "defaultClientSideAvailability": {
28 "usingMobileKey": true,
29 "usingEnvironmentId": true
30 },
31 "_access": {
32 "denied": [
33 {
34 "action": "string",
35 "reason": {
36 "effect": "allow",
37 "resources": [
38 "proj/*:env/*;qa_*:/flag/*"
39 ],
40 "notResources": [
41 "string"
42 ],
43 "actions": [
44 "*"
45 ],
46 "notActions": [
47 "string"
48 ],
49 "role_name": "string"
50 }
51 }
52 ],
53 "allowed": [
54 {
55 "action": "string",
56 "reason": {
57 "effect": "allow",
58 "resources": [
59 "proj/*:env/*;qa_*:/flag/*"
60 ],
61 "notResources": [
62 "string"
63 ],
64 "actions": [
65 "*"
66 ],
67 "notActions": [
68 "string"
69 ],
70 "role_name": "string"
71 }
72 }
73 ]
74 },
75 "defaultReleasePipelineKey": "string",
76 "environments": {
77 "items": [
78 {
79 "_links": {
80 "self": {
81 "href": "/api/v2/projects/my-project/environments/my-environment",
82 "type": "application/json"
83 }
84 },
85 "_id": "57be1db38b75bf0772d11384",
86 "key": "environment-key-123abc",
87 "name": "My Environment",
88 "apiKey": "sdk-xxx",
89 "mobileKey": "mob-xxx",
90 "color": "F5A623",
91 "defaultTtl": 5,
92 "secureMode": true,
93 "defaultTrackEvents": false,
94 "requireComments": true,
95 "confirmChanges": true,
96 "tags": [
97 "ops"
98 ],
99 "critical": true,
100 "_access": {
101 "denied": [
102 {
103 "action": "string",
104 "reason": {
105 "effect": "allow",
106 "resources": [
107 "proj/*:env/*;qa_*:/flag/*"
108 ],
109 "notResources": [
110 "string"
111 ],
112 "actions": [
113 "*"
114 ],
115 "notActions": [
116 "string"
117 ],
118 "role_name": "string"
119 }
120 }
121 ],
122 "allowed": [
123 {
124 "action": "string",
125 "reason": {
126 "effect": "allow",
127 "resources": [
128 "proj/*:env/*;qa_*:/flag/*"
129 ],
130 "notResources": [
131 "string"
132 ],
133 "actions": [
134 "*"
135 ],
136 "notActions": [
137 "string"
138 ],
139 "role_name": "string"
140 }
141 }
142 ]
143 },
144 "approvalSettings": {
145 "required": true,
146 "bypassApprovalsForPendingChanges": false,
147 "minNumApprovals": 1,
148 "canReviewOwnRequest": false,
149 "canApplyDeclinedChanges": true,
150 "serviceKind": "launchdarkly",
151 "serviceConfig": {},
152 "requiredApprovalTags": [
153 "require-approval"
154 ],
155 "autoApplyApprovedChanges": true,
156 "serviceKindConfigurationId": "1ef45a85-218f-4428-a8b2-a97e5f56c258"
157 },
158 "resourceApprovalSettings": {}
159 }
160 ],
161 "_links": {},
162 "totalCount": 2
163 }
164 }
165 ],
166 "totalCount": 1
167}
Return a list of projects. By default, this returns the first 20 projects. Page through this list with the `limit` parameter and by following the `first`, `prev`, `next`, and `last` links in the `_links` field that returns. If those links do not appear, the pages they refer to don't exist. For example, the `first` and `prev` links will be missing from the response on the first page, because there is no previous page and you cannot return to the first page when you are already on the first page. ### Filtering projects LaunchDarkly supports three fields for filters: - `query` is a string that matches against the projects' names and keys. It is not case sensitive. - `tags` is a `+`-separated list of project tags. It filters the list of projects that have all of the tags in the list. - `keys` is a `|` separated list of project keys. It filters the list to projects that have any of the keys in the list. For example, the filter `filter=query:abc,tags:tag-1+tag-2` matches projects with the string `abc` in their name or key and also are tagged with `tag-1` and `tag-2`. The filter is not case-sensitive. The documented values for `filter` query parameters are prior to URL encoding. For example, the `+` in `filter=tags:tag-1+tag-2` must be encoded to `%2B`. ### Sorting projects LaunchDarkly supports two fields for sorting: - `name` sorts by project name. - `createdOn` sorts by the creation date of the project. For example, `sort=name` sorts the response by project name in ascending order. ### Expanding the projects response LaunchDarkly supports one field for expanding the "List projects" response. By default, these fields are **not** included in the response. To expand the response, append the `expand` query parameter and add a comma-separated list with the `environments` field. * `environments` includes a paginated list of the project environments. For example, `expand=environments` includes the `environments` field for each project in the response.
Was this page helpful?
Previous

Update flag default for project

Next
Built with

Return a list of projects.

By default, this returns the first 20 projects. Page through this list with the limit parameter and by following the first, prev, next, and last links in the _links field that returns. If those links do not appear, the pages they refer to don’t exist. For example, the first and prev links will be missing from the response on the first page, because there is no previous page and you cannot return to the first page when you are already on the first page.

Filtering projects

LaunchDarkly supports three fields for filters:

  • query is a string that matches against the projects’ names and keys. It is not case sensitive.
  • tags is a +-separated list of project tags. It filters the list of projects that have all of the tags in the list.
  • keys is a | separated list of project keys. It filters the list to projects that have any of the keys in the list.

For example, the filter filter=query:abc,tags:tag-1+tag-2 matches projects with the string abc in their name or key and also are tagged with tag-1 and tag-2. The filter is not case-sensitive.

The documented values for filter query parameters are prior to URL encoding. For example, the + in filter=tags:tag-1+tag-2 must be encoded to %2B.

Sorting projects

LaunchDarkly supports two fields for sorting:

  • name sorts by project name.
  • createdOn sorts by the creation date of the project.

For example, sort=name sorts the response by project name in ascending order.

Expanding the projects response

LaunchDarkly supports one field for expanding the “List projects” response. By default, these fields are not included in the response.

To expand the response, append the expand query parameter and add a comma-separated list with the environments field.

  • environments includes a paginated list of the project environments.

For example, expand=environments includes the environments field for each project in the response.

Authentication

Authorizationstring
API Key authentication via header

Query parameters

limitlongOptional
The number of projects to return in the response. Defaults to 20.
offsetlongOptional

Where to start in the list. Use this with pagination. For example, an offset of 10 skips the first ten items and returns the next limit items.

filterstringOptionalformat: "string"

A comma-separated list of filters. Each filter is constructed as field:value.

sortstringOptionalformat: "string"

A comma-separated list of fields to sort by. Fields prefixed by a dash ( - ) sort in descending order.

expandstringOptionalformat: "string"

A comma-separated list of properties that can reveal additional information in the response.

Response

Project collection response
_linksmap from strings to objects
A link to this resource.
itemslist of objects
List of projects.
totalCountinteger

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
429
Too Many Requests Error