SSH Key
An SSH key is used for authenticating an account (a user or a bot) when accessing repositories over SSH.
Attributes
id
A URL-friendly identifier of the key.
- Type:
string
- Unique:
true
- Immutable:
true
title
A human-readable name of the SSH key (for example, "Macbook @ work")
- Type:
string
- Required:
true
- Maximum length:
50
content
The actual contents of the public key. Must be in OpenSSH format. Must be either an RSA key (ssh rsa...
) or a DSA key (ssh-dss...
).
- Type:
string
- Required:
true
- Minimum length:
380
- Maximum length:
1500
Operations
For current user
This endpoint supports both Users and Collaborators.
GET /account/ssh_keys
Returns all the SSH keys of a user, with optional limit and offset parameters, as a metadata-results object.
Example request
curl -X GET \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
https://helixteamhub.cloud/api/account/ssh_keys
Example response
{
"metadata": {
"more_results": false,
"next_offset": 2,
"count": 2
},
"results": [
{
"api_status": 200,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "51b9d9d21cf35908d0000134",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My work laptop",
"content": "ssh-rsa ... norris@NorrisMacBookPro"
},
{
"api_status": 200,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "512786801229c077f6002480",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My desktop computer at home",
"content": "ssh-dss ... chuck@homecomp"
}
]
}
GET /account/ssh_keys/:id
Returns one SSH key, based on its id.
Example request
curl -X GET \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
https://helixteamhub.cloud/api/account/ssh_keys/51b9d9d21cf35908d0000134
Example response
{
"api_status": 200,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "51b9d9d21cf35908d0000134",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My work laptop",
"content": "ssh-rsa ... norris@NorrisMacBookPro"
}
POST /account/ssh_keys
Creates a new SSH key for the user. Returns the created SSH key object.
Example request
curl -X POST \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
-H "Content-Type: application/json" \
-d '{ "title": "My IPad2", "content": "ssh-rsa ... norris@NorrisIPad"}' \
https://helixteamhub.cloud/api/account/ssh_keys
Example response
{
"api_status": 201,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "51b9d9d21cf35908d0000134",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My IPad2 Pro",
"content": "ssh-rsa ... norris@NorrisIPad"
}
PUT /account/ssh_keys/:id
Updates an SSH key. Returns the updated SSH key object.
Example request
curl -X PUT \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
-H "Content-Type: application/json" \
-d '{ "title": "My old Macbook Pro" }'
https://helixteamhub.cloud/api/account/ssh_keys/51b9d9d21cf35908d0000134
Example response
{
"api_status": 201,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "51b9d9d21cf35908d0000134",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My old Macbook Pro",
"content": "ssh-rsa ... norris@NorrisMacBookPro"
}
DELETE /account/ssh_keys/:id
Deletes an SSH key. Returns the deleted SSH key object.
Example request
curl -X DELETE \
-H "Accept: application/vnd.hth.v1" \
-H "Authorization: hth.company_key='$COMPANY_KEY',account_key='$ACCOUNT_KEY'" \
https://helixteamhub.cloud/api/account/ssh_keys/51b9d9d21cf35908d0000134
Example response
{
"api_status": 200,
"api_timestamp": "2012-10-24T14:03:48Z",
"id": "51b9d9d21cf35908d0000134",
"created_at": "2012-10-24T14:03:48Z",
"updated_at": "2012-10-24T14:03:48Z",
"title": "My work laptop",
"content": "ssh-rsa ... norris@NorrisMacBookPro"
}