OpenPipe Models API

The Models API from OpenPipe — 2 operation(s) for models.

OpenAPI Specification

openpipe-models-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: OpenPipe Chat Models API
  description: The public API for reporting API calls to OpenPipe
  version: 0.1.1
servers:
- url: https://api.openpipe.ai/api/v1
tags:
- name: Models
paths:
  /models:
    post:
      operationId: createModel
      description: Train a new model.
      security:
      - Authorization: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                datasetId:
                  type: string
                slug:
                  type: string
                pruningRuleIds:
                  type: array
                  items:
                    type: string
                  default: []
                trainingConfig:
                  anyOf:
                  - type: object
                    properties:
                      provider:
                        type: string
                        enum:
                        - openpipe
                      baseModel:
                        type: string
                        description: 'The base model to train from. This could be a base model name or the slug of a previously trained model. Supported base models include: `meta-llama/Meta-Llama-3.1-8B-Instruct`, `meta-llama/Meta-Llama-3.1-70B-Instruct`, `meta-llama/Llama-3.3-70B-Instruct`, `meta-llama/Llama-3.1-8B`, `meta-llama/Llama-3.1-70B`, `Qwen/Qwen2.5-72B-Instruct`, `Qwen/Qwen2.5-Coder-7B-Instruct`, `Qwen/Qwen2.5-Coder-32B-Instruct`, `Qwen/Qwen2.5-1.5B-Instruct`, `Qwen/Qwen2.5-7B-Instruct`, `Qwen/Qwen2-VL-7B-Instruct`, `Qwen/Qwen2.5-14B-Instruct`, `Qwen/Qwen3-8B`, `Qwen/Qwen3-14B`, `mistralai/Mistral-Nemo-Base-2407`, `mistralai/Mistral-Small-24B-Base-2501`, `meta-llama/Llama-3.2-1B-Instruct`, `meta-llama/Llama-3.2-3B-Instruct`, `google/gemma-3-1b-it`, `google/gemma-3-4b-it`, `google/gemma-3-12b-it`, `google/gemma-3-27b-it`'
                      enable_sft:
                        type: boolean
                        default: true
                        description: Whether to enable SFT training. If true, the model will be trained using SFT. Can be used in conjunction with DPO training.
                      enable_preference_tuning:
                        type: boolean
                        description: Whether to enable DPO training. If true, the model will be trained using DPO. Can be used in conjunction with SFT training.
                        default: false
                      sft_hyperparameters:
                        type: object
                        properties:
                          batch_size:
                            anyOf:
                            - type: string
                              enum:
                              - auto
                            - type: number
                          learning_rate_multiplier:
                            type: number
                          num_epochs:
                            type: number
                        additionalProperties: false
                        default: {}
                        description: Hyperparameters for SFT training job. Ensure `enable_sft` is true. If no SFT hyperparameters are provided, default values will be used.
                      preference_hyperparameters:
                        type: object
                        properties:
                          variant:
                            anyOf:
                            - type: string
                              enum:
                              - DPO
                            - type: string
                              enum:
                              - APO Zero
                          learning_rate_multiplier:
                            type: number
                          num_epochs:
                            type: number
                          training_beta:
                            type: number
                          adapter_weight:
                            type: number
                        additionalProperties: false
                        default: {}
                        description: Hyperparameters for DPO training job. Ensure `enable_preference_tuning` is true. If no preference hyperparameters are provided, default values will be used.
                      hyperparameters:
                        type: object
                        properties:
                          is_sft_enabled:
                            type: boolean
                            default: true
                          batch_size:
                            anyOf:
                            - type: string
                              enum:
                              - auto
                            - type: number
                          learning_rate_multiplier:
                            type: number
                          num_epochs:
                            type: number
                          is_preference_tuning_enabled:
                            type: boolean
                          preference_tuning_variant:
                            anyOf:
                            - type: string
                              enum:
                              - DPO
                            - type: string
                              enum:
                              - APO Zero
                          preference_tuning_learning_rate_multiplier:
                            type: number
                          preference_tuning_num_epochs:
                            type: number
                          preference_tuning_training_beta:
                            type: number
                          preference_tuning_adapter_weight:
                            type: number
                        additionalProperties: false
                        description: 'DEPRECATED: Use the `sft_hyperparameters` and `preference_hyperparameters` fields instead.'
                    required:
                    - provider
                    - baseModel
                    additionalProperties: false
                  - type: object
                    properties:
                      provider:
                        type: string
                        enum:
                        - openpipeReward
                      baseModel:
                        type: string
                        description: 'The base model to train from. This could be a base model name or the slug of a previously trained model. Supported base models include: `meta-llama/Llama-3.2-1B-Instruct`, `meta-llama/Llama-3.2-3B-Instruct`, `meta-llama/Meta-Llama-3.1-8B-Instruct`, `Qwen/Qwen2.5-0.5B-Instruct`, `Qwen/Qwen2.5-1.5B-Instruct`, `Qwen/Qwen2.5-3B-Instruct`, `Qwen/Qwen2.5-7B-Instruct`, `Qwen/Qwen3-8B`'
                      hyperparameters:
                        type: object
                        properties:
                          batch_size:
                            anyOf:
                            - type: string
                              enum:
                              - auto
                            - type: number
                          learning_rate_multiplier:
                            type: number
                          num_epochs:
                            type: number
                        additionalProperties: false
                        default: {}
                    required:
                    - provider
                    - baseModel
                    additionalProperties: false
                  - type: object
                    properties:
                      provider:
                        type: string
                        enum:
                        - openai
                      baseModel:
                        type: string
                        enum:
                        - gpt-4.1-2025-04-14
                        - gpt-4.1-mini-2025-04-14
                        - gpt-4o-mini-2024-07-18
                        - gpt-4o-2024-08-06
                        - gpt-3.5-turbo-0125
                      enable_sft:
                        type: boolean
                        default: true
                        description: Whether to enable SFT training. If true, the model will be trained using SFT. Can be used in conjunction with DPO training.
                      enable_preference_tuning:
                        type: boolean
                        description: Whether to enable DPO training. If true, the model will be trained using DPO. Can be used in conjunction with SFT training.
                        default: false
                      sft_hyperparameters:
                        type: object
                        properties:
                          batch_size:
                            type: number
                          learning_rate_multiplier:
                            type: number
                          n_epochs:
                            type: number
                        additionalProperties: false
                        default: {}
                        description: Hyperparameters for SFT training job. Ensure `enable_sft` is true. If no SFT hyperparameters are provided, default values will be used.
                      preference_hyperparameters:
                        type: object
                        properties:
                          beta:
                            type: number
                          batch_size:
                            type: number
                          learning_rate_multiplier:
                            type: number
                          n_epochs:
                            type: number
                        additionalProperties: false
                        default: {}
                        description: Hyperparameters for DPO training job. Ensure `enable_preference_tuning` is true. If no preference hyperparameters are provided, default values will be used.
                      hyperparameters:
                        type: object
                        properties:
                          is_sft_enabled:
                            type: boolean
                            default: true
                          batch_size:
                            type: number
                          learning_rate_multiplier:
                            type: number
                          n_epochs:
                            type: number
                          is_preference_tuning_enabled:
                            type: boolean
                          preference_tuning_beta:
                            type: number
                          preference_tuning_batch_size:
                            type: number
                          preference_tuning_learning_rate_multiplier:
                            type: number
                          preference_tuning_n_epochs:
                            type: number
                        additionalProperties: false
                        description: 'DEPRECATED: Use the `sft_hyperparameters` and `preference_hyperparameters` fields instead.'
                    required:
                    - provider
                    - baseModel
                    additionalProperties: false
                  - type: object
                    properties:
                      provider:
                        type: string
                        enum:
                        - gemini
                      baseModel:
                        type: string
                        enum:
                        - models/gemini-1.0-pro-001
                        - models/gemini-1.5-flash-001-tuning
                      sft_hyperparameters:
                        type: object
                        properties:
                          epochs:
                            type: number
                          batch_size:
                            type: number
                          learning_rate:
                            type: number
                          learning_rate_multiplier:
                            type: number
                        additionalProperties: false
                        default: {}
                        description: Hyperparameters for SFT training job. If no SFT hyperparameters are provided, default values will be used.
                      hyperparameters:
                        type: object
                        properties:
                          epochs:
                            type: number
                          batch_size:
                            type: number
                          learning_rate:
                            type: number
                          learning_rate_multiplier:
                            type: number
                        additionalProperties: false
                        description: 'DEPRECATED: Use the `sft_hyperparameters` field instead.'
                    required:
                    - provider
                    - baseModel
                    additionalProperties: false
                defaultTemperature:
                  type: number
              required:
              - datasetId
              - slug
              - trainingConfig
              additionalProperties: false
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  object:
                    type: string
                    enum:
                    - model
                  description:
                    type: string
                    nullable: true
                  created:
                    type: string
                  updated:
                    type: string
                  openpipe:
                    type: object
                    properties:
                      baseModel:
                        type: string
                      hyperparameters:
                        type: object
                        additionalProperties: {}
                        nullable: true
                      status:
                        type: string
                        enum:
                        - PENDING
                        - TRAINING
                        - DEPLOYED
                        - ERROR
                        - DEPRECATED
                        - PENDING_DEPRECATION
                        - QUEUED
                        - PROVISIONING
                      datasetId:
                        type: string
                      errorMessage:
                        type: string
                        nullable: true
                    required:
                    - baseModel
                    - hyperparameters
                    - status
                    - datasetId
                    - errorMessage
                    additionalProperties: false
                  contextWindow:
                    type: number
                  maxCompletionTokens:
                    type: number
                  capabilities:
                    type: array
                    items:
                      type: string
                      enum:
                      - chat
                      - tools
                      - json
                  pricing:
                    type: object
                    properties:
                      chatIn:
                        type: number
                        description: $/million tokens
                      chatOut:
                        type: number
                        description: $/million tokens
                    required:
                    - chatIn
                    - chatOut
                    additionalProperties: false
                  owned_by:
                    type: string
                required:
                - id
                - name
                - object
                - description
                - created
                - updated
                - openpipe
                - contextWindow
                - maxCompletionTokens
                - capabilities
                - pricing
                - owned_by
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      tags:
      - Models
    get:
      operationId: listModels
      description: List all models for a project.
      security:
      - Authorization: []
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    enum:
                    - list
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        name:
                          type: string
                        object:
                          type: string
                          enum:
                          - model
                        description:
                          type: string
                          nullable: true
                        created:
                          type: string
                        updated:
                          type: string
                        openpipe:
                          type: object
                          properties:
                            baseModel:
                              type: string
                            hyperparameters:
                              type: object
                              additionalProperties: {}
                              nullable: true
                            status:
                              type: string
                              enum:
                              - PENDING
                              - TRAINING
                              - DEPLOYED
                              - ERROR
                              - DEPRECATED
                              - PENDING_DEPRECATION
                              - QUEUED
                              - PROVISIONING
                            datasetId:
                              type: string
                            errorMessage:
                              type: string
                              nullable: true
                          required:
                          - baseModel
                          - hyperparameters
                          - status
                          - datasetId
                          - errorMessage
                          additionalProperties: false
                        contextWindow:
                          type: number
                        maxCompletionTokens:
                          type: number
                        capabilities:
                          type: array
                          items:
                            type: string
                            enum:
                            - chat
                            - tools
                            - json
                        pricing:
                          type: object
                          properties:
                            chatIn:
                              type: number
                              description: $/million tokens
                            chatOut:
                              type: number
                              description: $/million tokens
                          required:
                          - chatIn
                          - chatOut
                          additionalProperties: false
                        owned_by:
                          type: string
                      required:
                      - id
                      - name
                      - object
                      - description
                      - created
                      - updated
                      - openpipe
                      - contextWindow
                      - maxCompletionTokens
                      - capabilities
                      - pricing
                      - owned_by
                      additionalProperties: false
                required:
                - object
                - data
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      tags:
      - Models
  /models/{modelSlug}:
    get:
      operationId: getModel
      description: Get a model by ID.
      security:
      - Authorization: []
      parameters:
      - name: modelSlug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  object:
                    type: string
                    enum:
                    - model
                  description:
                    type: string
                    nullable: true
                  created:
                    type: string
                  updated:
                    type: string
                  openpipe:
                    type: object
                    properties:
                      baseModel:
                        type: string
                      hyperparameters:
                        type: object
                        additionalProperties: {}
                        nullable: true
                      status:
                        type: string
                        enum:
                        - PENDING
                        - TRAINING
                        - DEPLOYED
                        - ERROR
                        - DEPRECATED
                        - PENDING_DEPRECATION
                        - QUEUED
                        - PROVISIONING
                      datasetId:
                        type: string
                      errorMessage:
                        type: string
                        nullable: true
                    required:
                    - baseModel
                    - hyperparameters
                    - status
                    - datasetId
                    - errorMessage
                    additionalProperties: false
                  contextWindow:
                    type: number
                  maxCompletionTokens:
                    type: number
                  capabilities:
                    type: array
                    items:
                      type: string
                      enum:
                      - chat
                      - tools
                      - json
                  pricing:
                    type: object
                    properties:
                      chatIn:
                        type: number
                        description: $/million tokens
                      chatOut:
                        type: number
                        description: $/million tokens
                    required:
                    - chatIn
                    - chatOut
                    additionalProperties: false
                  owned_by:
                    type: string
                required:
                - id
                - name
                - object
                - description
                - created
                - updated
                - openpipe
                - contextWindow
                - maxCompletionTokens
                - capabilities
                - pricing
                - owned_by
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      tags:
      - Models
    delete:
      operationId: deleteModel
      description: Delete an existing model.
      security:
      - Authorization: []
      parameters:
      - name: modelSlug
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                  object:
                    type: string
                    enum:
                    - model
                  deleted:
                    type: boolean
                required:
                - id
                - object
                - deleted
                additionalProperties: false
        default:
          $ref: '#/components/responses/error'
      tags:
      - Models
components:
  responses:
    error:
      description: Error response
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
              code:
                type: string
              issues:
                type: array
                items:
                  type: object
                  properties:
                    message:
                      type: string
                  required:
                  - message
                  additionalProperties: false
            required:
            - message
            - code
            additionalProperties: false
  securitySchemes:
    Authorization:
      type: http
      scheme: bearer