Group SSH certificates API

  • Tier: Premium, Ultimate
  • Offering: GitLab.com

Use this API to manage SSH certificates for groups. Only top-level groups can store SSH certificates.

Prerequisites:

  • You must be an Owner for a top-level group.

List all group SSH certificates

Lists all SSH certificates for a specified group.

GET /groups/:id/ssh_certificates

Parameters:

AttributeTypeRequiredDescription
idintegerYesThe 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:

shell
curl --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://primary.example.com/api/v4/groups/90/ssh_certificates"

Example response:

json
[
  {
    "id": 12345,
    "title": "SSH Title 1",
    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKW2o6syFnRbO6D++jJHc3Eqj1k+XspAgCvLq8lXlDUj ca@example.com",
    "fingerprint": "SHA256:1CrrRznEotAVn+wfXVzYlDCaVcGoTvHIup4eNWBPK2k",
    "created_at": "2023-09-08T12:39:00.172Z"
  },
  {
    "id":12346,
    "title":"SSH Title 2",
    "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMJfRGzblvgogdxwPnwsH+h4U5eo+xOzGru08CCaezaL ca@example.com",
    "fingerprint": "SHA256:/P+kBF3hlgEYGohCvKCLQXewtPcI+4B4phcctFeExG8",
    "created_at": "2023-09-08T12:39:00.244Z"
  }
]

Add a group SSH certificate

Adds a group SSH certificate for a specified group.

POST /groups/:id/ssh_certificates

Parameters:

AttributeTypeRequiredDescription
idintegerYesThe ID of the group.
keystringYesThe public key of the SSH certificate.
titlestringYesThe title of the SSH certificate.

Example request:

shell
curl --request POST \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --data-urlencode "title=newtitle" \
  --data-urlencode "key=ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKW2o6syFnRbO6D++jJHc3Eqj1k+XspAgCvLq8lXlDUj ca@example.com" \
  --url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates"

Example response:

json
{
  "id": 54321,
  "title": "newtitle",
  "key": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKW2o6syFnRbO6D++jJHc3Eqj1k+XspAgCvLq8lXlDUj ca@example.com",
  "fingerprint": "SHA256:1CrrRznEotAVn+wfXVzYlDCaVcGoTvHIup4eNWBPK2k",
  "created_at": "2023-09-08T12:39:00.172Z"
}

Delete a group SSH certificate

Deletes a specified group SSH certificate.

DELETE /groups/:id/ssh_certificates/:id

Parameters:

AttributeTypeRequiredDescription
idintegerYesThe ID of the group
idintegerYesThe ID of the SSH certificate

Example request:

shell
curl --request DELETE \
  --header "PRIVATE-TOKEN: <your_access_token>" \
  --url "https://gitlab.example.com/api/v4/groups/5/ssh_certificates/12345"