Codesphere ssh API

The ssh API from Codesphere — 1 operation(s) for ssh.

OpenAPI Specification

codesphere-ssh-api-openapi.yml Raw ↑
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