openapi: 3.2.0 info: title: Ubicloud SSH Public Key API version: 0.1.0 contact: url: https://www.ubicloud.com/ email: support@ubicloud.com license: name: GNU Affero General Public License v3.0 (AGPL-3.0) url: https://www.gnu.org/licenses/agpl-3.0.en.html description: 'Operations tagged SSH Public Key across 2 of this provider''s published API definitions: ubicloud-openapi.yml, ubicloud-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.ubicloud.com security: - BearerAuth: [] tags: - description: SSH Public Key Operations name: SSH Public Key paths: /project/{project_id}/ssh-public-key: parameters: - $ref: '#/components/parameters/project_id' get: operationId: getSshPublicKeys summary: List all SSH public keys responses: '200': $ref: '#/components/responses/SshPublicKeys' default: $ref: '#/components/responses/Error' tags: - SSH Public Key post: operationId: registerSshPublicKey summary: Register a SSH public key requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SshPublicKeyCreate' responses: '200': $ref: '#/components/responses/SshPublicKey' default: $ref: '#/components/responses/Error' tags: - SSH Public Key servers: - url: https://api.ubicloud.com /project/{project_id}/ssh-public-key/{ssh_public_key_reference}: parameters: - $ref: '#/components/parameters/project_id' - $ref: '#/components/parameters/ssh_public_key_reference' get: operationId: getSshPublicKey summary: Get SSH public key details responses: '200': $ref: '#/components/responses/SshPublicKey' default: $ref: '#/components/responses/Error' tags: - SSH Public Key post: operationId: updateSshPublicKey summary: Update SSH public key information requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SshPublicKeyUpdate' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/SshPublicKey' default: $ref: '#/components/responses/Error' tags: - SSH Public Key delete: operationId: deleteSshPublicKey summary: Delete an SSH public key responses: '204': $ref: '#/components/responses/Delete' default: $ref: '#/components/responses/Error' tags: - SSH Public Key servers: - url: https://api.ubicloud.com components: responses: Delete: description: An empty response after successful resource delete Error: description: An error response content: application/json: schema: $ref: '#/components/schemas/Error' SshPublicKey: description: An SSH Public Key content: application/json: schema: $ref: '#/components/schemas/SshPublicKey' SshPublicKeys: description: A list of Ssh Public Keys content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/SshPublicKey' additionalProperties: false required: - items schemas: Error: type: object properties: error: type: object additionalProperties: false properties: code: type: integer example: 401 message: type: string example: There was an error logging in type: type: string example: InvalidCredentials details: type: - object - 'null' required: - code - message - type additionalProperties: false required: - error SshPublicKeyUpdate: anyOf: - type: object properties: name: type: string public_key: type: string additionalProperties: false required: - name - type: object properties: public_key: type: string additionalProperties: false required: - public_key SshPublicKeyCreate: type: object properties: name: type: string public_key: type: string additionalProperties: false required: - name - public_key Reference: description: Resource ID or name type: string pattern: ^[a-z0-9](?:[a-z0-9\-]{0,61}[a-z0-9])?$ SshPublicKey: type: object properties: id: description: ID of the SSH public key type: string example: skaz0q3vbrpa7pkg7zbmah9csn pattern: ^sk[0-9a-hj-km-np-tv-z]{24}$ name: description: Name of the SSH public key type: string public_key: description: SSH public key data type: string additionalProperties: false required: - id - name parameters: project_id: description: ID of the project in: path name: project_id required: true schema: type: string example: pjkkmx0f2vke4h36nk9cm8v8q0 pattern: ^pj[0-9a-hj-km-np-tv-z]{24}$ ssh_public_key_reference: description: SSH public key ID or name examples: id: value: skn30gjk1d1e2jj34v9x0dq4rp name: value: ssh-public-key-name in: path name: ssh_public_key_reference required: true schema: $ref: '#/components/schemas/Reference' securitySchemes: BearerAuth: bearerFormat: JWT scheme: bearer type: http x-refined-from: - ubicloud-openapi.yml - ubicloud-openapi.yml