mirror of
https://gitlab.com/gitlab-org/gitlab-foss.git
synced 2025-07-20 16:46:17 +00:00
4.0 KiB
4.0 KiB
stage, group, info, title
stage | group | info | title |
---|---|---|---|
Create | Source Code | To determine the technical writer assigned to the Stage/Group associated with this page, see https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments | Group SSH certificates API |
{{< details >}}
- Tier: Premium, Ultimate
- Offering: GitLab.com
{{< /details >}}
{{< history >}}
- Introduced in GitLab 16.4 with a flag named
ssh_certificates_rest_endpoints
. Disabled by default. - Enabled on GitLab.com in GitLab 16.9.
- Generally available in GitLab 17.7. Feature flag
ssh_certificates_rest_endpoints
removed.
{{< /history >}}
Use this API to create, read and delete SSH certificates for a group. Only top-level groups can store SSH certificates. To use this API, you must authenticate yourself as user assigned the Owner role.
Get all SSH certificates for a particular group
GET /groups/:id/ssh_certificates
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | Yes | The ID of the group. |
By default, GET
requests return 20 results at a time because the API results are paginated.
Read more on pagination.
Example request:
curl --header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://primary.example.com/api/v4/groups/90/ssh_certificates"
Example response:
[
{
"id": 12345,
"title": "SSH Title 1",
"key": "ssh-rsa AAAAB3NzaC1ea2dAAAADAQABAAAAgQDGbLkF44ScxRQi2FfA7VsHgGqptguSbmW26jkJhEiRZpGS4/+UzaaSqc8Psw2OhSsKc5QwfrB/ANpO4LhOjDzhf2FuD8ACkv3R7XtaJ+rN6PlyzoBfLAiSyzxhEoMFDBprTgaiZKgg2yQ9dRH55w3f6XMZ4hnaUae53nQgfQLxFw== example@gitlab.com",
"created_at": "2023-09-08T12:39:00.172Z"
},
{
"id":12346,
"title":"SSH Title 2",
"key": "ssh-rsa AAAAB3NzaC1ac2EAAAADAQABAAAAgQDTl/hHfu1F/KlR+QfgM2wUmyxcN5YeiaWluEGIrfXUeJuI+bK6xjpE3+2afHDYtE9VQkeL32KRjefX2d72Jeoa68ewt87Vn8CcGkUTOTpHNzeL8pHMKFs3m7ArSBxNg5vTdgAsq5dbDGNtat7b2WCHTNvtWoON1Jetne30uW2EwQ== example@gitlab.com",
"created_at": "2023-09-08T12:39:00.244Z"
}
]
Create SSH Certificate
Create a new SSH certificate in the group.
POST /groups/:id/ssh_certificates
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | Yes | The ID of the group. |
key |
string | Yes | The public key of the SSH certificate. |
title |
string | Yes | The title of the SSH certificate. |
Example request:
curl --request POST \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates?title=newtitle&key=ssh-rsa+REDACTED+example%40gitlab.com"
Example response:
{
"id": 54321,
"title": "newtitle",
"key": "ssh-rsa ssh-rsa AAAAB3NzaC1ea2dAAAADAQABAAAAgQDGbLkF44ScxRQi2FfA7VsHgGqptguSbmW26jkJhEiRZpGS4/+UzaaSqc8Psw2OhSsKc5QwfrB/ANpO4LhOjDzhf2FuD8ACkv3R7XtaJ+rN6PlyzoBfLAiSyzxhEoMFDBprTgaiZKgg2yQ9dRH55w3f6XMZ4hnaUae53nQgfQLxFw== example@gitlab.com",
"created_at": "2023-09-08T12:39:00.172Z"
}
Delete group SSH certificate
Delete a SSH certificate from a group.
DELETE /groups/:id/ssh_certificate/:id
Parameters:
Attribute | Type | Required | Description |
---|---|---|---|
id |
integer | Yes | The ID of the group |
id |
integer | Yes | The ID of the SSH certificate |
Example request:
curl --request DELETE \
--header "PRIVATE-TOKEN: <your_access_token>" \
--url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates/12345"