> ## Documentation Index
> Fetch the complete documentation index at: https://docs.primeintellect.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy Cluster

> Deploy a Slurm cluster onto one of the team's dedicated clusters.

Team-admin gated like resize and add/remove member. The cluster must
belong to `team_id` and have self-service enabled (checked by the
service, which also pins the new cluster to this team). Node planning
and claiming run before this returns, so "not enough nodes" or a port
conflict is an immediate error; the Helm install continues in the
background and the returned cluster starts out PENDING.



## OpenAPI

````yaml https://api.primeintellect.ai/openapi.json post /api/v1/slurm-clusters/{team_id}/deploy
openapi: 3.1.0
info:
  title: PI API
  version: 0.1.0
servers:
  - url: https://api.primeintellect.ai
security: []
paths:
  /api/v1/slurm-clusters/{team_id}/deploy:
    post:
      tags:
        - slurm-clusters
      summary: Deploy Cluster
      description: |-
        Deploy a Slurm cluster onto one of the team's dedicated clusters.

        Team-admin gated like resize and add/remove member. The cluster must
        belong to `team_id` and have self-service enabled (checked by the
        service, which also pins the new cluster to this team). Node planning
        and claiming run before this returns, so "not enough nodes" or a port
        conflict is an immediate error; the Helm install continues in the
        background and the returned cluster starts out PENDING.
      operationId: deploy_cluster_api_v1_slurm_clusters__team_id__deploy_post
      parameters:
        - name: team_id
          in: path
          required: true
          schema:
            type: string
            title: Team Id
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeployClusterRequest'
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeployClusterResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - HTTPBearer: []
components:
  schemas:
    DeployClusterRequest:
      properties:
        primeClusterId:
          type: string
          minLength: 1
          title: Primeclusterid
        slurmClusterName:
          type: string
          minLength: 1
          title: Slurmclustername
        numNodes:
          type: integer
          title: Numnodes
        members:
          items:
            $ref: '#/components/schemas/DeployClusterMemberRequest'
          type: array
          minItems: 1
          title: Members
        gpusPerNode:
          anyOf:
            - type: integer
            - type: 'null'
          title: Gpuspernode
        homeSize:
          anyOf:
            - type: string
            - type: 'null'
          title: Homesize
        tailscaleAuthKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Tailscaleauthkey
        containersEnabled:
          type: boolean
          title: Containersenabled
          default: false
      additionalProperties: false
      type: object
      required:
        - primeClusterId
        - slurmClusterName
        - numNodes
        - members
      title: DeployClusterRequest
      description: |-
        Deploy a Slurm cluster onto one of the team's dedicated clusters.

        The customer-facing subset of the admin deploy payload
        (`SlurmClusterSpec`). Unknown fields, including the admin-only knobs,
        are rejected rather than ignored.
    DeployClusterResponse:
      properties:
        id:
          type: string
          title: Id
        primeClusterId:
          type: string
          title: Primeclusterid
        status:
          $ref: '#/components/schemas/JobStatus'
        createdAt:
          type: string
          format: date-time
          title: Createdat
      type: object
      required:
        - id
        - primeClusterId
        - status
        - createdAt
      title: DeployClusterResponse
    ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Errors
      type: object
      required:
        - errors
      title: ErrorResponse
    DeployClusterMemberRequest:
      properties:
        username:
          type: string
          maxLength: 32
          minLength: 2
          pattern: ^[a-z][a-z0-9-]{0,30}[a-z0-9]$
          title: Username
        sshAuthorizedKeys:
          items:
            type: string
          type: array
          minItems: 1
          title: Sshauthorizedkeys
        sudo:
          type: boolean
          title: Sudo
          default: false
        linkedUserId:
          anyOf:
            - type: string
              minLength: 1
            - type: 'null'
          title: Linkeduserid
      additionalProperties: false
      type: object
      required:
        - username
        - sshAuthorizedKeys
      title: DeployClusterMemberRequest
    JobStatus:
      type: string
      enum:
        - PENDING
        - DEPLOYING
        - RUNNING
        - TERMINATING
        - COMPLETED
        - FAILED
        - STOPPED
        - UNKNOWN
        - TOMBSTONED
      title: JobStatus
    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

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.