Infisical SSH Host Groups API

The SSH Host Groups API from Infisical — 6 operation(s) for ssh host groups.

OpenAPI Specification

infisical-ssh-host-groups-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Infisical Admin SSH Host Groups API
  description: List of all available APIs that can be consumed
  version: 0.0.1
servers:
- url: https://us.infisical.com
  description: Production server (US)
- url: https://eu.infisical.com
  description: Production server (EU)
- url: http://localhost:8080
  description: Local server
tags:
- name: SSH Host Groups
paths:
  /api/v1/ssh/host-groups/{sshHostGroupId}:
    get:
      tags:
      - SSH Host Groups
      description: Get SSH Host Group
      parameters:
      - schema:
          type: string
        in: path
        name: sshHostGroupId
        required: true
        description: The ID of the SSH host group to get.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  projectId:
                    type: string
                  name:
                    type: string
                  loginMappings:
                    type: array
                    items:
                      type: object
                      properties:
                        loginUser:
                          type: string
                        allowedPrincipals:
                          type: object
                          properties:
                            usernames:
                              type: array
                              items:
                                type: string
                            groups:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      required:
                      - loginUser
                      - allowedPrincipals
                      additionalProperties: false
                required:
                - id
                - projectId
                - name
                - loginMappings
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 422
                  message: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
    patch:
      tags:
      - SSH Host Groups
      description: Update SSH Host Group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: The name of the SSH host group to update to.
                loginMappings:
                  type: array
                  items:
                    type: object
                    properties:
                      loginUser:
                        type: string
                      allowedPrincipals:
                        type: object
                        properties:
                          usernames:
                            type: array
                            items:
                              type: string
                          groups:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                    required:
                    - loginUser
                    - allowedPrincipals
                    additionalProperties: false
                  description: A list of default login mappings to include on each host in the SSH host group. Each login mapping contains a login user and a list of corresponding allowed principals being usernames of users in the Infisical SSH project.
              additionalProperties: false
      parameters:
      - schema:
          type: string
        in: path
        name: sshHostGroupId
        required: true
        description: The ID of the SSH host group to update.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  projectId:
                    type: string
                  name:
                    type: string
                  loginMappings:
                    type: array
                    items:
                      type: object
                      properties:
                        loginUser:
                          type: string
                        allowedPrincipals:
                          type: object
                          properties:
                            usernames:
                              type: array
                              items:
                                type: string
                            groups:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      required:
                      - loginUser
                      - allowedPrincipals
                      additionalProperties: false
                required:
                - id
                - projectId
                - name
                - loginMappings
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 422
                  message: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
    delete:
      tags:
      - SSH Host Groups
      description: Delete SSH Host Group
      parameters:
      - schema:
          type: string
        in: path
        name: sshHostGroupId
        required: true
        description: The ID of the SSH host group to delete.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  projectId:
                    type: string
                  name:
                    type: string
                  loginMappings:
                    type: array
                    items:
                      type: object
                      properties:
                        loginUser:
                          type: string
                        allowedPrincipals:
                          type: object
                          properties:
                            usernames:
                              type: array
                              items:
                                type: string
                            groups:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      required:
                      - loginUser
                      - allowedPrincipals
                      additionalProperties: false
                required:
                - id
                - projectId
                - name
                - loginMappings
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 422
                  message: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
  /api/v1/ssh/host-groups:
    post:
      tags:
      - SSH Host Groups
      description: Create SSH Host Group
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                projectId:
                  type: string
                  description: The ID of the project to create the SSH host group in.
                name:
                  type: string
                  minLength: 1
                  maxLength: 64
                  description: The name of the SSH host group.
                loginMappings:
                  type: array
                  items:
                    type: object
                    properties:
                      loginUser:
                        type: string
                      allowedPrincipals:
                        type: object
                        properties:
                          usernames:
                            type: array
                            items:
                              type: string
                          groups:
                            type: array
                            items:
                              type: string
                        additionalProperties: false
                    required:
                    - loginUser
                    - allowedPrincipals
                    additionalProperties: false
                  default: []
                  description: A list of default login mappings to include on each host in the SSH host group. Each login mapping contains a login user and a list of corresponding allowed principals being usernames of users in the Infisical SSH project.
              required:
              - projectId
              - name
              additionalProperties: false
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  projectId:
                    type: string
                  name:
                    type: string
                  loginMappings:
                    type: array
                    items:
                      type: object
                      properties:
                        loginUser:
                          type: string
                        allowedPrincipals:
                          type: object
                          properties:
                            usernames:
                              type: array
                              items:
                                type: string
                            groups:
                              type: array
                              items:
                                type: string
                          additionalProperties: false
                      required:
                      - loginUser
                      - allowedPrincipals
                      additionalProperties: false
                required:
                - id
                - projectId
                - name
                - loginMappings
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 422
                  message: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
  /api/v1/ssh/host-groups/{sshHostGroupId}/hosts:
    get:
      tags:
      - SSH Host Groups
      description: Get SSH Hosts in a Host Group
      parameters:
      - schema:
          type: string
          enum:
          - group-members
          - non-group-members
        in: query
        name: filter
        required: false
        description: The filter to apply to the SSH hosts in the SSH host group.
      - schema:
          type: string
        in: path
        name: sshHostGroupId
        required: true
        description: The ID of the SSH host group to get.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  hosts:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        hostname:
                          type: string
                        alias:
                          type: string
                          nullable: true
                        isPartOfGroup:
                          type: boolean
                        joinedGroupAt:
                          type: string
                          format: date-time
                          nullable: true
                      required:
                      - id
                      - hostname
                      - isPartOfGroup
                      - joinedGroupAt
                      additionalProperties: false
                  totalCount:
                    type: number
                required:
                - hosts
                - totalCount
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 400
                  message:
                    type: string
                  error:
                    type: string
                  details: {}
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 401
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '403':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 403
                  message:
                    type: string
                  details: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 404
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
        '422':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 422
                  message: {}
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - error
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  reqId:
                    type: string
                  statusCode:
                    type: number
                    enum:
                    - 500
                  message:
                    type: string
                  error:
                    type: string
                required:
                - reqId
                - statusCode
                - message
                - error
                additionalProperties: false
  /api/v1/ssh/host-groups/{sshHostGroupId}/hosts/{hostId}:
    post:
      tags:
      - SSH Host Groups
      description: Add an SSH Host to a Host Group
      parameters:
      - schema:
          type: string
        in: path
        name: sshHostGroupId
        required: true
        description: The ID of the SSH host group to add the host to.
      - schema:
          type: string
        in: path
        name: hostId
        required: true
        description: The ID of the SSH host to add to the SSH host group.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  projectId:
                    type: string
                  hostname:
                    type: string
                  alias:
                    type: string
      

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/infisical/refs/heads/main/openapi/infisical-ssh-host-groups-api-openapi.yml