Project starring API
You can get information aboutprojects and starsby using the REST API.
List projects starred by a user
Get a list of visible projects starred by the given user. When accessed without authentication, only public projects are returned.
GET /users/:user_id/starred_projects
Supported attributes:
Attribute | Type | Required | Description |
---|---|---|---|
user_id
| string | Yes | The ID or username of the user. |
archived
| boolean | No | Limit by archived status. |
membership
| boolean | No | Limit by projects that the current user is a member of. |
min_access_level
| integer | No | Limit by current user minimalrole (access_level ).
|
order_by
| string | No | Return projects ordered byid ,name ,path ,created_at ,updated_at ,star_count ,orlast_activity_at fields. Default iscreated_at .
|
owned
| boolean | No | Limit by projects explicitly owned by the current user. |
search
| string | No | Return list of projects matching the search criteria. |
simple
| boolean | No | Return only limited fields for each project. Without authentication, this operation is a no-op; only simple fields are returned. |
sort
| string | No | Return projects sorted inasc ordesc order. Default isdesc .
|
starred
| boolean | No | Limit by projects starred by the current user. |
statistics
| boolean | No | Include project statistics. Available only to users with at least the Reporter role. |
updated_after
| datetime | No | Limit results to projects last updated after the specified time. Format: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ ).Introducedin GitLab 15.10.
|
updated_before
| datetime | No | Limit results to projects last updated before the specified time. Format: ISO 8601 (YYYY-MM-DDTHH:MM:SSZ ).Introducedin GitLab 15.10.
|
visibility
| string | No | Limit by visibilitypublic ,internal ,orprivate .
|
with_custom_attributes
| boolean | No | Includecustom attributesin response.(administrator only) |
with_issues_enabled
| boolean | No | Limit by enabled issues feature. |
with_merge_requests_enabled
| boolean | No | Limit by enabled merge requests feature. |
Example request:
curl--header"PRIVATE-TOKEN: <your_access_token>""https://gitlab.example.com/api/v4/users/5/starred_projects"
Example response:
[
{
"id":4,
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"description_html":"<p data-sourcepos=\ "1:1-1:56\ "dir=\ "auto\ ">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> ",
"default_branch":"main",
"visibility":"private",
"ssh_url_to_repo":"[email protected]:diaspora/diaspora-client.git",
"http_url_to_repo":"http://example.com/diaspora/diaspora-client.git",
"web_url":"http://example.com/diaspora/diaspora-client",
"readme_url":"http://example.com/diaspora/diaspora-client/blob/main/README.md",
"tag_list":[//deprecated,use`topics`instead
"example",
"disapora client"
],
"topics":[
"example",
"disapora client"
],
"owner":{
"id":3,
"name":"Diaspora",
"created_at":"2013-09-30T13:46:02Z"
},
"name":"Diaspora Client",
"name_with_namespace":"Diaspora / Diaspora Client",
"path":"diaspora-client",
"path_with_namespace":"diaspora/diaspora-client",
"issues_enabled":true,
"open_issues_count":1,
"merge_requests_enabled":true,
"jobs_enabled":true,
"wiki_enabled":true,
"snippets_enabled":false,
"can_create_merge_request_in":true,
"resolve_outdated_diff_discussions":false,
"container_registry_enabled":false,//deprecated,usecontainer_registry_access_levelinstead
"container_registry_access_level":"disabled",
"security_and_compliance_access_level":"disabled",
"created_at":"2013-09-30T13:46:02Z",
"updated_at":"2013-09-30T13:46:02Z",
"last_activity_at":"2013-09-30T13:46:02Z",
"creator_id":3,
"namespace":{
"id":3,
"name":"Diaspora",
"path":"diaspora",
"kind":"group",
"full_path":"diaspora"
},
"import_status":"none",
"archived":false,
"avatar_url":"http://example.com/uploads/project/avatar/4/uploads/avatar.png",
"shared_runners_enabled":true,
"group_runners_enabled":true,
"forks_count":0,
"star_count":0,
"runners_token":"<token>",
"public_jobs":true,
"shared_with_groups":[],
"only_allow_merge_if_pipeline_succeeds":false,
"allow_merge_on_skipped_pipeline":false,
"restrict_user_defined_variables":false,
"only_allow_merge_if_all_discussions_are_resolved":false,
"remove_source_branch_after_merge":false,
"request_access_enabled":false,
"merge_method":"merge",
"squash_option":"default_on",
"autoclose_referenced_issues":true,
"enforce_auth_checks_on_uploads":true,
"suggestion_commit_message":null,
"merge_commit_template":null,
"squash_commit_template":null,
"issue_branch_template":"gitlab/%{id}-%{title}",
"statistics":{
"commit_count":37,
"storage_size":1038090,
"repository_size":1038090,
"lfs_objects_size":0,
"job_artifacts_size":0,
"pipeline_artifacts_size":0,
"packages_size":0,
"snippets_size":0,
"uploads_size":0,
"container_registry_size":0
},
"container_registry_image_prefix":"registry.example.com/diaspora/diaspora-client",
"_links":{
"self":"http://example.com/api/v4/projects",
"issues":"http://example.com/api/v4/projects/1/issues",
"merge_requests":"http://example.com/api/v4/projects/1/merge_requests",
"repo_branches":"http://example.com/api/v4/projects/1/repository_branches",
"labels":"http://example.com/api/v4/projects/1/labels",
"events":"http://example.com/api/v4/projects/1/events",
"members":"http://example.com/api/v4/projects/1/members",
"cluster_agents":"http://example.com/api/v4/projects/1/cluster_agents"
}
},
{
"id":6,
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"description_html":"<p data-sourcepos=\ "1:1-1:56\ "dir=\ "auto\ ">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> ",
"default_branch":"main",
"visibility":"private",
"ssh_url_to_repo":"[email protected]:brightbox/puppet.git",
"http_url_to_repo":"http://example.com/brightbox/puppet.git",
"web_url":"http://example.com/brightbox/puppet",
"readme_url":"http://example.com/brightbox/puppet/blob/main/README.md",
"tag_list":[//deprecated,use`topics`instead
"example",
"puppet"
],
"topics":[
"example",
"puppet"
],
"owner":{
"id":4,
"name":"Brightbox",
"created_at":"2013-09-30T13:46:02Z"
},
"name":"Puppet",
"name_with_namespace":"Brightbox / Puppet",
"path":"puppet",
"path_with_namespace":"brightbox/puppet",
"issues_enabled":true,
"open_issues_count":1,
"merge_requests_enabled":true,
"jobs_enabled":true,
"wiki_enabled":true,
"snippets_enabled":false,
"can_create_merge_request_in":true,
"resolve_outdated_diff_discussions":false,
"container_registry_enabled":false,//deprecated,usecontainer_registry_access_levelinstead
"container_registry_access_level":"disabled",
"security_and_compliance_access_level":"disabled",
"created_at":"2013-09-30T13:46:02Z",
"updated_at":"2013-09-30T13:46:02Z",
"last_activity_at":"2013-09-30T13:46:02Z",
"creator_id":3,
"namespace":{
"id":4,
"name":"Brightbox",
"path":"brightbox",
"kind":"group",
"full_path":"brightbox"
},
"import_status":"none",
"import_error":null,
"permissions":{
"project_access":{
"access_level":10,
"notification_level":3
},
"group_access":{
"access_level":50,
"notification_level":3
}
},
"archived":false,
"avatar_url":null,
"shared_runners_enabled":true,
"group_runners_enabled":true,
"forks_count":0,
"star_count":0,
"runners_token":"<token>",
"public_jobs":true,
"shared_with_groups":[],
"only_allow_merge_if_pipeline_succeeds":false,
"allow_merge_on_skipped_pipeline":false,
"restrict_user_defined_variables":false,
"only_allow_merge_if_all_discussions_are_resolved":false,
"remove_source_branch_after_merge":false,
"request_access_enabled":false,
"merge_method":"merge",
"squash_option":"default_on",
"auto_devops_enabled":true,
"auto_devops_deploy_strategy":"continuous",
"repository_storage":"default",
"approvals_before_merge":0,//Deprecated.UsemergerequestapprovalsAPIinstead.
"mirror":false,
"mirror_user_id":45,
"mirror_trigger_builds":false,
"only_mirror_protected_branches":false,
"mirror_overwrites_diverged_branches":false,
"external_authorization_classification_label":null,
"packages_enabled":true,
"service_desk_enabled":false,
"service_desk_address":null,
"autoclose_referenced_issues":true,
"enforce_auth_checks_on_uploads":true,
"suggestion_commit_message":null,
"merge_commit_template":null,
"squash_commit_template":null,
"issue_branch_template":"gitlab/%{id}-%{title}",
"statistics":{
"commit_count":12,
"storage_size":2066080,
"repository_size":2066080,
"lfs_objects_size":0,
"job_artifacts_size":0,
"pipeline_artifacts_size":0,
"packages_size":0,
"snippets_size":0,
"uploads_size":0,
"container_registry_size":0
},
"container_registry_image_prefix":"registry.example.com/brightbox/puppet",
"_links":{
"self":"http://example.com/api/v4/projects",
"issues":"http://example.com/api/v4/projects/1/issues",
"merge_requests":"http://example.com/api/v4/projects/1/merge_requests",
"repo_branches":"http://example.com/api/v4/projects/1/repository_branches",
"labels":"http://example.com/api/v4/projects/1/labels",
"events":"http://example.com/api/v4/projects/1/events",
"members":"http://example.com/api/v4/projects/1/members",
"cluster_agents":"http://example.com/api/v4/projects/1/cluster_agents"
}
}
]
List users who starred a project
List the users who starred a project.
GET /projects/:id/starrers
Supported attributes:
Attribute | Type | Required | Description |
---|---|---|---|
id
| integer or string | Yes | The ID orURL-encoded path of the project. |
search
| string | No | Search for specific users. |
Example request:
curl--header"PRIVATE-TOKEN: <your_access_token>""https://gitlab.example.com/api/v4/projects/5/starrers"
Example responses:
[
{
"starred_since":"2019-01-28T14:47:30.642Z",
"user":{
"id":1,
"username":"jane_smith",
"name":"Jane Smith",
"state":"active",
"avatar_url":"http://localhost:3000/uploads/user/avatar/1/cd8.jpeg",
"web_url":"http://localhost:3000/jane_smith"
}
},
{
"starred_since":"2018-01-02T11:40:26.570Z",
"user":{
"id":2,
"username":"janine_smith",
"name":"Janine Smith",
"state":"blocked",
"avatar_url":"http://gravatar.com/../e32131cd8.jpeg",
"web_url":"http://localhost:3000/janine_smith"
}
}
]
Star a project
Star a project.
POST /projects/:id/star
Supported attributes:
Attribute | Type | Required | Description |
---|---|---|---|
id
| integer or string | Yes | The ID orURL-encoded path of the project. |
Example request:
curl--requestPOST--header"PRIVATE-TOKEN: <your_access_token>""https://gitlab.example.com/api/v4/projects/5/star"
Example response:
{
"id":3,
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"description_html":"<p data-sourcepos=\ "1:1-1:56\ "dir=\ "auto\ ">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> ",
"default_branch":"main",
"visibility":"internal",
"ssh_url_to_repo":"[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo":"http://example.com/diaspora/diaspora-project-site.git",
"web_url":"http://example.com/diaspora/diaspora-project-site",
"readme_url":"http://example.com/diaspora/diaspora-project-site/blob/main/README.md",
"tag_list":[//deprecated,use`topics`instead
"example",
"disapora project"
],
"topics":[
"example",
"disapora project"
],
"name":"Diaspora Project Site",
"name_with_namespace":"Diaspora / Diaspora Project Site",
"path":"diaspora-project-site",
"path_with_namespace":"diaspora/diaspora-project-site",
"repository_object_format":"sha1",
"issues_enabled":true,
"open_issues_count":1,
"merge_requests_enabled":true,
"jobs_enabled":true,
"wiki_enabled":true,
"snippets_enabled":false,
"can_create_merge_request_in":true,
"resolve_outdated_diff_discussions":false,
"container_registry_enabled":false,//deprecated,usecontainer_registry_access_levelinstead
"container_registry_access_level":"disabled",
"security_and_compliance_access_level":"disabled",
"created_at":"2013-09-30T13:46:02Z",
"updated_at":"2013-09-30T13:46:02Z",
"last_activity_at":"2013-09-30T13:46:02Z",
"creator_id":3,
"namespace":{
"id":3,
"name":"Diaspora",
"path":"diaspora",
"kind":"group",
"full_path":"diaspora"
},
"import_status":"none",
"archived":true,
"avatar_url":"http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url":"http://example.com/diaspora/diaspora-client/blob/main/LICENSE",
"license":{
"key":"lgpl-3.0",
"name":"GNU Lesser General Public License v3.0",
"nickname":"GNU LGPLv3",
"html_url":"http://choosealicense.com/licenses/lgpl-3.0/",
"source_url":"http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled":true,
"group_runners_enabled":true,
"forks_count":0,
"star_count":1,
"public_jobs":true,
"shared_with_groups":[],
"only_allow_merge_if_pipeline_succeeds":false,
"allow_merge_on_skipped_pipeline":false,
"restrict_user_defined_variables":false,
"only_allow_merge_if_all_discussions_are_resolved":false,
"remove_source_branch_after_merge":false,
"request_access_enabled":false,
"merge_method":"merge",
"squash_option":"default_on",
"autoclose_referenced_issues":true,
"enforce_auth_checks_on_uploads":true,
"suggestion_commit_message":null,
"merge_commit_template":null,
"container_registry_image_prefix":"registry.example.com/diaspora/diaspora-project-site",
"_links":{
"self":"http://example.com/api/v4/projects",
"issues":"http://example.com/api/v4/projects/1/issues",
"merge_requests":"http://example.com/api/v4/projects/1/merge_requests",
"repo_branches":"http://example.com/api/v4/projects/1/repository_branches",
"labels":"http://example.com/api/v4/projects/1/labels",
"events":"http://example.com/api/v4/projects/1/events",
"members":"http://example.com/api/v4/projects/1/members",
"cluster_agents":"http://example.com/api/v4/projects/1/cluster_agents"
}
}
Unstar a project
Unstar a project.
POST /projects/:id/unstar
Supported attributes:
Attribute | Type | Required | Description |
---|---|---|---|
id
| integer or string | Yes | The ID orURL-encoded path of the project. |
Example request:
curl--requestPOST--header"PRIVATE-TOKEN: <your_access_token>""https://gitlab.example.com/api/v4/projects/5/unstar"
Example response:
{
"id":3,
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.",
"description_html":"<p data-sourcepos=\ "1:1-1:56\ "dir=\ "auto\ ">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p> ",
"default_branch":"main",
"visibility":"internal",
"ssh_url_to_repo":"[email protected]:diaspora/diaspora-project-site.git",
"http_url_to_repo":"http://example.com/diaspora/diaspora-project-site.git",
"web_url":"http://example.com/diaspora/diaspora-project-site",
"readme_url":"http://example.com/diaspora/diaspora-project-site/blob/main/README.md",
"tag_list":[//deprecated,use`topics`instead
"example",
"disapora project"
],
"topics":[
"example",
"disapora project"
],
"name":"Diaspora Project Site",
"name_with_namespace":"Diaspora / Diaspora Project Site",
"path":"diaspora-project-site",
"path_with_namespace":"diaspora/diaspora-project-site",
"repository_object_format":"sha1",
"issues_enabled":true,
"open_issues_count":1,
"merge_requests_enabled":true,
"jobs_enabled":true,
"wiki_enabled":true,
"snippets_enabled":false,
"can_create_merge_request_in":true,
"resolve_outdated_diff_discussions":false,
"container_registry_enabled":false,//deprecated,usecontainer_registry_access_levelinstead
"container_registry_access_level":"disabled",
"security_and_compliance_access_level":"disabled",
"created_at":"2013-09-30T13:46:02Z",
"updated_at":"2013-09-30T13:46:02Z",
"last_activity_at":"2013-09-30T13:46:02Z",
"creator_id":3,
"namespace":{
"id":3,
"name":"Diaspora",
"path":"diaspora",
"kind":"group",
"full_path":"diaspora"
},
"import_status":"none",
"archived":true,
"avatar_url":"http://example.com/uploads/project/avatar/3/uploads/avatar.png",
"license_url":"http://example.com/diaspora/diaspora-client/blob/main/LICENSE",
"license":{
"key":"lgpl-3.0",
"name":"GNU Lesser General Public License v3.0",
"nickname":"GNU LGPLv3",
"html_url":"http://choosealicense.com/licenses/lgpl-3.0/",
"source_url":"http://www.gnu.org/licenses/lgpl-3.0.txt"
},
"shared_runners_enabled":true,
"group_runners_enabled":true,
"forks_count":0,
"star_count":0,
"public_jobs":true,
"shared_with_groups":[],
"only_allow_merge_if_pipeline_succeeds":false,
"allow_merge_on_skipped_pipeline":false,
"restrict_user_defined_variables":false,
"only_allow_merge_if_all_discussions_are_resolved":false,
"remove_source_branch_after_merge":false,
"request_access_enabled":false,
"merge_method":"merge",
"squash_option":"default_on",
"autoclose_referenced_issues":true,
"enforce_auth_checks_on_uploads":true,
"suggestion_commit_message":null,
"merge_commit_template":null,
"container_registry_image_prefix":"registry.example.com/diaspora/diaspora-project-site",
"_links":{
"self":"http://example.com/api/v4/projects",
"issues":"http://example.com/api/v4/projects/1/issues",
"merge_requests":"http://example.com/api/v4/projects/1/merge_requests",
"repo_branches":"http://example.com/api/v4/projects/1/repository_branches",
"labels":"http://example.com/api/v4/projects/1/labels",
"events":"http://example.com/api/v4/projects/1/events",
"members":"http://example.com/api/v4/projects/1/members",
"cluster_agents":"http://example.com/api/v4/projects/1/cluster_agents"
}
}
Returns status code304
if the project is not starred.