openapi: 3.2.0 info: contact: email: support@linode.com name: Linode url: https://linode.com description: Add a Cloud Computing instance so you can build, release, and scale applications faster with virtual machines. license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html title: 'Akamai: Linode SSH keys API' version: 4.215.0 servers: - url: https://api.linode.com tags: - description: Manage SSH keys for your user account. When creating a Linode, you can choose to have one or more SSH keys automatically added to the new Linode for secure access. name: SSH Keys paths: /{apiVersion}/profile/sshkeys: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml x-akamai: file-path: paths/profile-ssh-keys.yaml path-info: /{apiVersion}/profile/sshkeys x-linode-cli-command: sshkeys post: description: 'Adds an SSH Key to your Account profile. > --- - __CLI__. ``` linode-cli sshkeys create \ --label "My SSH Key" \ --ssh_key "ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer" ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/post-add-ssh-key operationId: post-add-ssh-key requestBody: content: application/json: schema: additionalProperties: false description: A credential object for authenticating a User's secure shell connection to a Linode. properties: created: description: __Read-only__ The date this key was added. example: '{{created}}' format: date-time readOnly: true type: string id: description: __Read-only__ The unique identifier of an SSH Key object. example: '{{id}}' readOnly: true type: integer label: description: A label for the SSH Key. example: '{{label}}' maxLength: 64 minLength: 0 type: string ssh_key: description: 'The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy. Accepted formats: - ssh-dss - ssh-rsa - ecdsa-sha2-nistp - ssh-ed25519 - sk-ecdsa-sha2-nistp256 (Akamai-specific)' example: '{{ssh_key}}' format: ssh-key type: string type: object x-akamai: file-path: schemas/ssh-key.yaml x-example: x-ref: ../examples/post-add-ssh-key.json description: Add SSH Key. responses: '200': content: application/json: schema: additionalProperties: false description: A credential object for authenticating a User's secure shell connection to a Linode. properties: created: description: __Read-only__ The date this key was added. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string id: description: __Read-only__ The unique identifier of an SSH Key object. example: 42 readOnly: true type: integer label: description: A label for the SSH Key. example: My SSH Key maxLength: 64 minLength: 0 type: string ssh_key: description: 'The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy. Accepted formats: - ssh-dss - ssh-rsa - ecdsa-sha2-nistp - ssh-ed25519 - sk-ecdsa-sha2-nistp256 (Akamai-specific)' example: ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer format: ssh-key type: string type: object x-akamai: file-path: schemas/ssh-key.yaml x-example: x-ref: ../examples/post-add-ssh-key-200.json description: SSH Key associated successfully. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - account:read_write summary: Add an SSH key tags: - SSH Keys x-akamai: tabs: - syntax: "linode-cli sshkeys create \\\n --label \"My SSH Key\" \\\n --ssh_key \"ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer\"" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: create get: description: 'Returns a collection of SSH Keys you''ve added to your Profile. > --- - __CLI__. ``` linode-cli sshkeys list ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-ssh-keys operationId: get-ssh-keys parameters: - description: The page of a collection to return. example: '{{page}}' in: query name: page required: false schema: default: 1 example: 6 minimum: 1 type: integer x-akamai: file-path: parameters/page-offset.yaml - description: The number of items to return per page. example: '{{page_size}}' in: query name: page_size schema: default: 100 example: 50 maximum: 500 minimum: 25 type: integer x-akamai: file-path: parameters/page-size.yaml responses: '200': content: application/json: schema: additionalProperties: false properties: data: items: additionalProperties: false description: A credential object for authenticating a User's secure shell connection to a Linode. properties: created: description: __Read-only__ The date this key was added. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string id: description: __Read-only__ The unique identifier of an SSH Key object. example: 42 readOnly: true type: integer label: description: A label for the SSH Key. example: My SSH Key maxLength: 64 minLength: 0 type: string ssh_key: description: 'The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy. Accepted formats: - ssh-dss - ssh-rsa - ecdsa-sha2-nistp - ssh-ed25519 - sk-ecdsa-sha2-nistp256 (Akamai-specific)' example: ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer format: ssh-key type: string type: object x-akamai: file-path: schemas/ssh-key.yaml type: array page: description: __Read-only__ The current [page](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer pages: description: __Read-only__ The total number of [pages](https://techdocs.akamai.com/linode-api/reference/pagination). example: 1 readOnly: true type: integer results: description: __Read-only__ The total number of results. example: 1 readOnly: true type: integer type: object x-akamai: file-path: schemas/get-ssh-keys-200.yaml x-example: x-ref: ../examples/get-ssh-keys-200.json description: Returns a paginated list of SSH Key objects. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - account:read_only summary: List SSH keys tags: - SSH Keys x-akamai: tabs: - syntax: linode-cli sshkeys list title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: - list - ls x-linode-grant: read_only /{apiVersion}/profile/sshkeys/{sshKeyId}: parameters: - description: __Enum__ Call either the `v4` URL, or `v4beta` for operations still in Beta. example: '{{apiVersion}}' in: path name: apiVersion required: true schema: enum: - v4 - v4beta type: string x-akamai: file-path: parameters/api-version-path.yaml - description: The ID of the SSHKey. example: '{{sshKeyId}}' in: path name: sshKeyId required: true schema: example: 725 type: integer x-akamai: file-path: parameters/ssh-key-id-path.yaml x-akamai: file-path: paths/profile-ssh-key.yaml path-info: /{apiVersion}/profile/sshkeys/{sshKeyId} x-linode-cli-command: sshkeys get: description: 'Returns a single SSH Key object identified by `id` that you have access to view. > --- - __CLI__. ``` linode-cli sshkeys view 42 ``` Learn more... - __OAuth scopes__. ``` account:read_only ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/get-ssh-key operationId: get-ssh-key responses: '200': content: application/json: schema: additionalProperties: false description: A credential object for authenticating a User's secure shell connection to a Linode. properties: created: description: __Read-only__ The date this key was added. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string id: description: __Read-only__ The unique identifier of an SSH Key object. example: 42 readOnly: true type: integer label: description: A label for the SSH Key. example: My SSH Key maxLength: 64 minLength: 0 type: string ssh_key: description: 'The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy. Accepted formats: - ssh-dss - ssh-rsa - ecdsa-sha2-nistp - ssh-ed25519 - sk-ecdsa-sha2-nistp256 (Akamai-specific)' example: ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer format: ssh-key type: string type: object x-akamai: file-path: schemas/ssh-key.yaml x-example: x-ref: ../examples/get-ssh-key-200.json description: An SSH Key object. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - account:read_only summary: Get an SSH key tags: - SSH Keys x-akamai: tabs: - syntax: linode-cli sshkeys view 42 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_only title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: view put: description: 'Updates an SSH Key that you have permission to `read_write`. Only SSH key labels can be updated. > --- - __CLI__. ``` linode-cli sshkeys update 42 \ --label "my laptop" ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/put-ssh-key operationId: put-ssh-key requestBody: content: application/json: schema: additionalProperties: false properties: label: description: A label for the SSH Key. example: '{{label}}' maxLength: 64 minLength: 0 type: string type: object x-akamai: file-path: schemas/put-ssh-key.yaml x-example: x-ref: ../examples/put-ssh-key.json description: The fields to update. required: true responses: '200': content: application/json: schema: additionalProperties: false description: A credential object for authenticating a User's secure shell connection to a Linode. properties: created: description: __Read-only__ The date this key was added. example: '2018-01-01T00:01:01' format: date-time readOnly: true type: string id: description: __Read-only__ The unique identifier of an SSH Key object. example: 42 readOnly: true type: integer label: description: A label for the SSH Key. example: My SSH Key maxLength: 64 minLength: 0 type: string ssh_key: description: 'The public SSH Key, which is used to authenticate to the root user of the Linodes you deploy. Accepted formats: - ssh-dss - ssh-rsa - ecdsa-sha2-nistp - ssh-ed25519 - sk-ecdsa-sha2-nistp256 (Akamai-specific)' example: ssh-rsa AAAA_valid_public_ssh_key_123456785== user@their-computer format: ssh-key type: string type: object x-akamai: file-path: schemas/ssh-key.yaml x-example: x-ref: ../examples/get-ssh-key-200.json description: SSH Key updated successfully. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - account:read_write summary: Update an SSH key tags: - SSH Keys x-akamai: tabs: - syntax: "linode-cli sshkeys update 42 \\\n --label \"my laptop\"" title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: update delete: description: 'Deletes an SSH Key you have access to. > 📘 > > This operation only deletes a key''s association from your profile. It doesn''t remove it from any Linode or disk that was deployed with `authorized_keys`. You need to manually delete the key on the Linode or disk. > --- - __CLI__. ``` linode-cli sshkeys delete 42 ``` Learn more... - __OAuth scopes__. ``` account:read_write ``` Learn more...' externalDocs: description: See documentation for this operation in Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference/delete-ssh-key operationId: delete-ssh-key responses: '200': content: application/json: schema: description: The API responds with an empty object. maxProperties: 0 type: object x-akamai: file-path: schemas/added-empty-obj.yaml x-example: x-ref: ../examples/delete-ssh-key-200.json description: SSH Key deleted successfully. default: content: application/json: schema: additionalProperties: false properties: errors: items: additionalProperties: false description: An object for describing a single error that occurred during the processing of a request. properties: field: description: The field in the request that caused this error. This may be a path, separated by periods in the case of nested fields. In some cases this may come back as `null` if the error is not specific to any single element of the request. example: fieldname type: string reason: description: What happened to cause this error. In most cases, this can be fixed immediately by changing the data you sent in the request, but in some cases you will be instructed to [Open a support ticket](https://techdocs.akamai.com/linode-api/reference/post-ticket) or perform some other action before you can complete the request successfully. example: fieldname must be a valid value type: string type: object x-akamai: file-path: schemas/error-object.yaml type: array type: object description: See [Errors](https://techdocs.akamai.com/linode-api/reference/errors) for the range of possible error response codes. security: - personalAccessToken: [] - oauth: - account:read_write summary: Delete an SSH key tags: - SSH Keys x-akamai: tabs: - syntax: linode-cli sshkeys delete 42 title: CLI url: https://techdocs.akamai.com/cloud-computing/docs/getting-started-with-the-linode-cli - syntax: account:read_write title: OAuth scopes url: https://techdocs.akamai.com/linode-api/reference/get-started#oauth x-linode-cli-action: - delete - rm components: securitySchemes: oauth: flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize scopes: account:read_only: Allows access to GET information about your account. account:read_write: Allows access to all endpoints related to your account. domains:read_only: Allows access to GET Domains on your account. domains:read_write: Allows access to all Domain endpoints. events:read_only: Allows access to GET your Events. events:read_write: Allows access to all endpoints related to your Events. firewall:read_only: Allows access to GET information about your Firewalls. firewall:read_write: Allows access to all Firewall endpoints. images:read_only: Allows access to GET your Images. images:read_write: Allows access to all endpoints related to your Images. ips:read_only: Allows access to GET your ips. ips:read_write: Allows access to all endpoints related to your ips. linodes:read_only: Allows access to GET Linodes on your account. linodes:read_write: Allow access to all endpoints related to your Linodes. lke:read_only: Allows access to GET LKE Clusters on your account. lke:read_write: Allows access to all endpoints related to LKE Clusters on your account. longview:read_only: Allows access to GET your Longview Clients. longview:read_write: Allows access to all endpoints related to your Longview Clients. monitor:read-write: Allows access to all Monitor (Akamai Cloud Pulse) endpoints. monitor:read_only: Allows access to Monitor (Akamai Cloud Pulse) data. nodebalancers:read_only: Allows access to GET NodeBalancers on your account. nodebalancers:read_write: Allows access to all NodeBalancer endpoints. object_storage:read_only: Allows access to GET information related to your Object Storage. object_storage:read_write: Allows access to all Object Storage endpoints. stackscripts:read_only: Allows access to GET your StackScripts. stackscripts:read_write: Allows access to all endpoints related to your StackScripts. volumes:read_only: Allows access to GET your Volumes. volumes:read_write: Allows access to all endpoints related to your Volumes. vpc:read_write: Allows access to all endpoints related to VPC and Subnet creation, updating, and deletion. tokenUrl: https://login.linode.com/oauth/token type: oauth2 personalAccessToken: scheme: bearer type: http externalDocs: description: See documentation for Akamai's Linode API url: https://techdocs.akamai.com/linode-api/reference x-readme: samples-languages: - curl - python - node