Prime Intellect Training API

Hosted reinforcement-learning post-training service ("Lab"). Launch dedicated training runs against a catalog of base models — Qwen3.5 (0.8B through 397B-A17B), Llama 1B/3B Instruct, NVIDIA Nemotron 30B/120B, OpenAI gpt-oss 20B/120B — drive them with environments from the Environments Hub, and retrieve token-level usage + USD cost per run from the billing endpoints. Pricing is per-million-token across separate input, output, and training meters.

OpenAPI Specification

prime-intellect-training-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Prime Intellect Compute admin-clusters training 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: training
paths:
  /api/v1/training/runs:
    post:
      tags:
      - training
      summary: Create Dedicated Run
      description: Dispatch a dedicated full-FT prime-rl run on a registered PrimeCluster.
      operationId: create_dedicated_run_api_v1_training_runs_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDedicatedRunRequest'
        required: true
      responses:
        '201':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDedicatedRunResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - HTTPBearer: []
  /api/v1/training/runs/{run_id}:
    delete:
      tags:
      - training
      summary: Delete Dedicated Run
      description: 'Delete a dedicated run: helm uninstall + namespace delete + DB cleanup.


        Idempotent. Safe to call repeatedly. Cleans up the linked Job row too

        (which uninstalls the helm release on the customer cluster). Soft-

        deletes the RFTRun row (matches the existing run-delete UX — Billing

        refs are preserved).'
      operationId: delete_dedicated_run_api_v1_training_runs__run_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: run_id
        in: path
        required: true
        schema:
          type: string
          title: Run Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteRunResponse'
        '401':
          description: Authorization failed
        '422':
          description: Invalid request data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    CreateDedicatedRunResponse:
      properties:
        runId:
          type: string
          title: Runid
        jobId:
          type: string
          title: Jobid
        tokenValue:
          type: string
          title: Tokenvalue
          description: PRIME_API_KEY for this run. Returned once — the platform stores only the token id.
      type: object
      required:
      - runId
      - jobId
      - tokenValue
      title: CreateDedicatedRunResponse
    DeleteRunResponse:
      properties:
        runId:
          type: string
          title: Runid
        deleted:
          type: boolean
          title: Deleted
      type: object
      required:
      - runId
      - deleted
      title: DeleteRunResponse
    CreateDedicatedRunRequest:
      properties:
        config:
          type: object
          title: Config
          description: Full prime-rl-style TOML, parsed to a dict. Same shape as `prime-rl/examples/*/rl.toml`; the platform splits it into trainer / orchestrator / inference subconfigs and bakes each into the corresponding pod's startup command.
        imageTag:
          type: string
          title: Imagetag
          description: prime-rl container image tag
          default: main
        name:
          anyOf:
          - type: string
          - type: 'null'
          title: Name
          description: Optional human-readable run name
        teamId:
          anyOf:
          - type: string
          - type: 'null'
          title: Teamid
          description: Owning team (defaults to caller's user)
        wandbApiKey:
          anyOf:
          - type: string
          - type: 'null'
          title: Wandbapikey
          description: W&B key. Materialised into the run's k8s Secret only — never stored on the RFTRun row.
        hfToken:
          anyOf:
          - type: string
          - type: 'null'
          title: Hftoken
          description: HF token for gated/private model downloads.
      type: object
      required:
      - config
      title: CreateDedicatedRunRequest
    ErrorResponse:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type: array
          title: Errors
      type: object
      required:
      - errors
      title: ErrorResponse
    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