openapi: 3.0.0 info: title: Codesphere Public clusters ssh API version: 0.1.0 servers: - url: https://cloud.codesphere.com/api tags: - name: ssh paths: /ssh/keys: post: summary: uploadPublicKey description: Upload a public SSH key for the authenticated user tags: - ssh parameters: [] requestBody: content: application/json: schema: type: object description: A public SSH key uploaded for the authenticated user. example: publicKey: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFakeExampleKey user@example properties: publicKey: type: string required: - publicKey responses: '200': description: Success. '400': description: Invalid or too large SSH public key, path or request body variable does not match schema. content: application/json: schema: type: object properties: status: type: integer enum: - 400 title: type: string detail: type: string traceId: type: string required: - status - title - traceId '401': description: Authorization information is missing or invalid. content: application/json: schema: type: object properties: status: type: integer enum: - 401 title: type: string detail: type: string traceId: type: string required: - status - title - traceId '409': description: SSH public key already used. content: application/json: schema: type: object properties: status: type: integer enum: - 409 title: type: string detail: type: string traceId: type: string required: - status - title - traceId security: - bearerAuth: [] operationId: ssh-uploadPublicKey get: summary: listPublicKeys description: List public SSH keys for the authenticated user tags: - ssh parameters: [] responses: '200': description: Success. content: application/json: schema: type: array items: type: object properties: publicKey: type: string publicKeyFingerprint: type: string title: type: string createdAt: type: string format: date-time required: - publicKey - publicKeyFingerprint - title - createdAt '401': description: Authorization information is missing or invalid. content: application/json: schema: type: object properties: status: type: integer enum: - 401 title: type: string detail: type: string traceId: type: string required: - status - title - traceId security: - bearerAuth: [] operationId: ssh-listPublicKeys delete: summary: deletePublicKey description: Delete a public SSH key for the authenticated user tags: - ssh parameters: [] requestBody: content: application/json: schema: type: object properties: publicKeyFingerprint: type: string required: - publicKeyFingerprint responses: '200': description: Success. '400': description: Path or request body variable does not match schema. content: application/json: schema: type: object properties: status: type: integer enum: - 400 title: type: string detail: type: string traceId: type: string required: - status - title - traceId '401': description: Authorization information is missing or invalid. content: application/json: schema: type: object properties: status: type: integer enum: - 401 title: type: string detail: type: string traceId: type: string required: - status - title - traceId '404': description: SSH public key not found. content: application/json: schema: type: object properties: status: type: integer enum: - 404 title: type: string detail: type: string traceId: type: string required: - status - title - traceId security: - bearerAuth: [] operationId: ssh-deletePublicKey components: securitySchemes: bearerAuth: type: http scheme: bearer