Elastic.io SSH Keys API

Manage SSH keys for component repositories

OpenAPI Specification

elastic-io-ssh-keys-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: elastic.io Platform REST Agents SSH Keys API
  description: The elastic.io Platform REST API v2 provides programmatic access to the elastic.io iPaaS platform. It allows you to manage integration flows, workspaces, contracts, credentials, components, recipes, users, and other platform resources. The API follows the JSON:API specification and uses Bearer token authentication.
  version: 2.0.0
  contact:
    name: elastic.io
    url: https://www.elastic.io/
  license:
    name: Proprietary
    url: https://www.elastic.io/
  termsOfService: https://www.elastic.io/
servers:
- url: https://api.elastic.io/v2
  description: elastic.io Platform API v2
security:
- bearerAuth: []
tags:
- name: SSH Keys
  description: Manage SSH keys for component repositories
paths:
  /sshkeys:
    get:
      operationId: listSshKeys
      summary: Elastic.io List SSH keys
      description: Retrieve a list of SSH keys for the current user.
      tags:
      - SSH Keys
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKeyListResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createSshKey
      summary: Elastic.io Create an SSH key
      description: Upload a new SSH key for component repository access.
      tags:
      - SSH Keys
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SshKeyCreateRequest'
      responses:
        '201':
          description: SSH key created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SshKeyResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /sshkeys/{sshkey_id}:
    delete:
      operationId: deleteSshKey
      summary: Elastic.io Delete an SSH key
      description: Delete an SSH key.
      tags:
      - SSH Keys
      parameters:
      - name: sshkey_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '204':
          description: SSH key deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              status:
                type: integer
              title:
                type: string
              detail:
                type: string
    SshKeyCreateRequest:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - type
          - attributes
          properties:
            type:
              type: string
              enum:
              - sshkey
            attributes:
              type: object
              required:
              - key
              properties:
                key:
                  type: string
                  description: The public SSH key content
                title:
                  type: string
    SshKeyListResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              type:
                type: string
              attributes:
                type: object
                properties:
                  key:
                    type: string
                  fingerprint:
                    type: string
                  title:
                    type: string
    SshKeyResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
            type:
              type: string
              enum:
              - sshkey
            attributes:
              type: object
              properties:
                key:
                  type: string
                fingerprint:
                  type: string
                title:
                  type: string
                created_at:
                  type: string
                  format: date-time
  responses:
    Unauthorized:
      description: Authentication required or token is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token authentication. Obtain a token through the elastic.io platform login or API key.