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

# Start an HPC Job

> Start a new HPC (Slurm) Job. Required permissions: `StartJob, UseGlobalCompute`



## OpenAPI

````yaml /api-specs/cloud/public-api.json post /api/hpc/v1/jobs
openapi: 3.0.3
info:
  title: Domino API
  description: Reference for Domino's public REST API endpoints.
  version: 6.4.0
servers:
  - url: https://mycluster.domino.tech
    description: >-
      Replace 'mycluster.domino.tech' with your Domino cluster hostname. For
      Domino Cloud customers, that is `your-subdomain`.domino.tech (e.g.,
      acme.domino.tech). For self-hosted deployments, it is the hostname you
      reach the Domino UI at.
security:
  - DominoApiKey: []
  - BearerAuthentication: []
tags:
  - name: AppInstances
  - name: AppVersions
  - name: Apps
  - name: AsyncPredictions
  - name: AuditTrail
  - name: BillingTag
  - name: BillingTagSettings
  - name: Cost
  - name: CustomMetrics
  - name: DataSource
  - name: DatasetRw
  - name: DeploymentTargets
  - name: Environments
  - name: Extensions
  - name: GenAI
  - name: HPC Jobs
  - name: HardwareTier
  - name: Jobs
  - name: ModelAPI
  - name: ModelAPIVersion
  - name: ModelDeployment
  - name: Organizations
  - name: PPM
  - name: PersonalAccessToken
  - name: ProjectSharedDatasets
  - name: ProjectTemplates
  - name: Projects
  - name: ProjectsCommits
  - name: ProjectsFiles
  - name: RegisteredModels
  - name: ServiceAccounts
  - name: Users
  - name: Workspaces
paths:
  /api/hpc/v1/jobs:
    post:
      tags:
        - HPC Jobs
      summary: Start an HPC Job
      description: >-
        Start a new HPC (Slurm) Job. Required permissions: `StartJob,
        UseGlobalCompute`
      operationId: startHPCJob
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/StartHPCRequestV1'
        required: true
      responses:
        '202':
          description: Accepted - the HPC Job was created and queued.
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    StartHPCRequestV1:
      description: >-
        Request to start an HPC (Slurm) Job. The Slurm partition is resolved
        automatically based on the project and is not accepted as input.
      properties:
        config:
          $ref: '#/components/schemas/HPCJobConfigV1'
        dataPlaneId:
          description: Id of the data-plane the HPC Job should run on.
          example: '000000000000000000000000'
          type: string
        filePath:
          description: >-
            Path to the Slurm script file within the project, relative to the
            project root.
          example: scripts/hello.sh
          type: string
        mainRepoGitRef:
          $ref: '#/components/schemas/GitRefV1'
        projectId:
          description: Id of project to create the HPC Job in.
          example: 6a17175ab03cb818f0f9c25f
          type: string
        title:
          description: Name of the HPC Job to start.
          example: my-slurm-job
          type: string
      required:
        - projectId
        - filePath
        - dataPlaneId
      type: object
    HPCJobConfigV1:
      description: Optional. Compute resource configuration for the HPC Job.
      properties:
        cpu:
          description: Optional. Number of CPU cores to request for the HPC Job.
          example: 4
          type: number
        gpu:
          description: Optional. Number of GPUs to request for the HPC Job.
          example: 1
          type: integer
        memory:
          description: Optional. Amount of memory to request for the HPC Job (e.g. in GiB).
          example: 8Gi
          type: string
        nodes:
          description: Optional. Number of nodes to request for the HPC Job. Defaults to 1.
          example: 1
          type: integer
        ntasks:
          description: Optional. Number of tasks to request for the HPC Job. Defaults to 1.
          example: 1
          type: integer
        walltime:
          description: >-
            Optional. Maximum wall-clock time for the HPC Job, formatted as
            HH:MM:SS.
          example: '01:30:00'
          type: string
      type: object
    GitRefV1:
      properties:
        refType:
          description: The type of git reference being used.
          example: head | commitId | tags | branches
          type: string
        value:
          description: >-
            The value of the git reference. Only necessary for relevant git ref
            types.
          example: my-test-branch
          type: string
      required:
        - refType
      type: object
    ErrorV1:
      properties:
        code:
          description: Machine-readable error code.
          example: NOT_FOUND
          type: string
        message:
          description: Human-readable description of the error.
          example: The requested HPC Job could not be found.
          type: string
      required:
        - message
      type: object
  responses:
    '400':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Bad Request
    '401':
      content:
        application/json:
          example:
            code: UNAUTHORIZED
            message: Authentication is required to access this resource.
          schema:
            $ref: '#/components/schemas/ErrorV1'
      description: Unauthorized - authentication is required or has failed.
    '403':
      content:
        application/json:
          example:
            code: FORBIDDEN
            message: You do not have permission to perform this action.
          schema:
            $ref: '#/components/schemas/ErrorV1'
      description: Forbidden - the caller lacks permission to perform this action.
    '500':
      content:
        application/json:
          schema:
            properties:
              error:
                type: string
            type: object
      description: Internal Server Error
  securitySchemes:
    DominoApiKey:
      type: apiKey
      in: header
      name: X-Domino-Api-Key
    BearerAuthentication:
      type: apiKey
      in: header
      name: Authorization

````

## Related topics

- [Run HPC workloads with Slurm](/cloud/platform-capabilities/features/compute-clusters-hpc/slurm/index.md)
- [Administer Slurm for HPC workloads](/cloud/admin/infrastructure-and-compute/administer-slurm.md)
- [Glossary](/cloud/reference/glossary.md)
- [The python-domino library](/cloud/reference/python-sdk/python-domino.md)
