openapi: 3.1.0 info: title: Prime Intellect Compute admin-clusters SSH Keys API version: 0.1.0 description: 'GPU compute marketplace and pod orchestration: availability across providers, on-demand and multi-node GPU pod lifecycle, persistent network-attached disks, and SSH key management. Supports H100, H200, B200, B300, and other GPU families with 1-256 GPU configurations.' contact: name: Prime Intellect url: https://www.primeintellect.ai servers: - url: https://api.primeintellect.ai security: - HTTPBearer: [] tags: - name: SSH Keys paths: /api/v1/ssh_keys/: get: tags: - SSH Keys summary: Get Ssh Keys operationId: get_ssh_keys_api_v1_ssh_keys__get security: - HTTPBearer: [] parameters: - name: offset in: query required: false schema: type: integer default: 0 title: Offset - name: limit in: query required: false schema: type: integer default: 100 title: Limit responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/GenericPaginationResponse_List_APISSHKeyConfig__' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' post: tags: - SSH Keys summary: Upload Ssh Key operationId: upload_ssh_key_api_v1_ssh_keys__post security: - HTTPBearer: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUploadRequestConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APISSHKeyConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /api/v1/ssh_keys/{key_id}: delete: tags: - SSH Keys summary: Delete Ssh Key operationId: delete_ssh_key_api_v1_ssh_keys__key_id__delete security: - HTTPBearer: [] parameters: - name: key_id in: path required: true schema: type: string title: Key Id responses: '200': description: Successful Response content: application/json: schema: {} '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' patch: tags: - SSH Keys summary: Set Primary Key operationId: set_primary_key_api_v1_ssh_keys__key_id__patch security: - HTTPBearer: [] parameters: - name: key_id in: path required: true schema: type: string title: Key Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUpdateRequestConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/APISSHKeyUpdateResponseConfig' '401': description: Authorization failed '422': description: Invalid request data content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: APISSHKeyConfig: properties: id: type: string title: Id description: Unique identifier for the SSH key. userId: type: string title: Userid description: ID of the user associated with this pod, if applicable. name: type: string title: Name description: Name of the SSH key. publicKey: type: string title: Publickey description: The public key part of the SSH key. isPrimary: type: boolean title: Isprimary description: Whether this SSH key is the primary key. isUserKey: type: boolean title: Isuserkey description: Whether this a custom key uploaded by the user. createdAt: type: string format: date-time title: Createdat description: Timestamp when the SSH key was added. updatedAt: type: string format: date-time title: Updatedat description: Timestamp when the SSH key was last updated. type: object required: - id - userId - name - publicKey - isPrimary - isUserKey title: APISSHKeyConfig APISSHKeyUpdateResponseConfig: properties: message: type: string title: Message updated_fields: type: object title: Updated Fields type: object required: - message - updated_fields title: APISSHKeyUpdateResponseConfig APISSHKeyUploadRequestConfig: properties: name: type: string title: Name description: The name for the key. publicKey: type: string title: Publickey description: The public key part of the SSH key. type: object required: - name - publicKey title: APISSHKeyUploadRequestConfig ErrorResponse: properties: errors: items: $ref: '#/components/schemas/ErrorDetail' type: array title: Errors type: object required: - errors title: ErrorResponse APISSHKeyUpdateRequestConfig: properties: isPrimary: anyOf: - type: boolean - type: 'null' title: Isprimary description: Whether to set the key as the primary key. Must be true when provided. type: object title: APISSHKeyUpdateRequestConfig GenericPaginationResponse_List_APISSHKeyConfig__: properties: total_count: type: integer title: Total Count description: Total number of items available in the dataset default: 0 offset: type: integer minimum: 0.0 title: Offset description: Number of items to skip before starting to collect the result set default: 0 limit: type: integer minimum: 0.0 title: Limit description: Maximum number of items to return default: 100 data: items: $ref: '#/components/schemas/APISSHKeyConfig' type: array title: Data status: anyOf: - type: string - type: 'null' title: Status description: Response status type: object required: - data title: GenericPaginationResponse[List[APISSHKeyConfig]] ErrorDetail: properties: param: type: string title: Param details: type: string title: Details type: object required: - param - details title: ErrorDetail securitySchemes: HTTPBearer: type: http scheme: bearer