Kubeflow Experiments API

Group runs and recurring jobs into logical experiments

OpenAPI Specification

kubeflow-experiments-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Kubeflow Pipelines Experiments API
  description: REST API for the Kubeflow Pipelines platform (v2beta1). Enables programmatic management of experiments, pipelines, pipeline versions, runs, and recurring jobs for machine learning workflows running on Kubernetes. Authentication depends on the Kubeflow distribution and is typically a bearer token or session cookie provided in request headers.
  version: 2beta1
  contact:
    name: Kubeflow Pipelines
    url: https://www.kubeflow.org/docs/components/pipelines/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://{host}/pipeline
  description: Kubeflow Pipelines deployment (replace {host} with your cluster hostname)
  variables:
    host:
      default: kubeflow.example.com
      description: Hostname of the Kubeflow deployment
security:
- bearerAuth: []
tags:
- name: Experiments
  description: Group runs and recurring jobs into logical experiments
paths:
  /apis/v2beta1/experiments:
    get:
      tags:
      - Experiments
      operationId: listExperiments
      summary: List experiments
      parameters:
      - in: query
        name: namespace
        schema:
          type: string
        description: Filter experiments by Kubernetes namespace
      - in: query
        name: page_size
        schema:
          type: integer
      - in: query
        name: page_token
        schema:
          type: string
      - in: query
        name: sort_by
        schema:
          type: string
      - in: query
        name: filter
        schema:
          type: string
      responses:
        '200':
          description: List of experiments
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListExperimentsResponse'
    post:
      tags:
      - Experiments
      operationId: createExperiment
      summary: Create a new experiment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Experiment'
      responses:
        '200':
          description: Experiment created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Experiment'
  /apis/v2beta1/experiments/{experiment_id}:
    get:
      tags:
      - Experiments
      operationId: getExperiment
      summary: Get experiment by ID
      parameters:
      - in: path
        name: experiment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Experiment
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Experiment'
    delete:
      tags:
      - Experiments
      operationId: deleteExperiment
      summary: Delete experiment
      parameters:
      - in: path
        name: experiment_id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Deleted
  /apis/v2beta1/runs:
    get:
      tags:
      - Experiments
      operationId: listRuns
      summary: List pipeline runs
      parameters:
      - in: query
        name: namespace
        schema:
          type: string
      - in: query
        name: experiment_id
        schema:
          type: string
      - in: query
        name: page_size
        schema:
          type: integer
      - in: query
        name: page_token
        schema:
          type: string
      responses:
        '200':
          description: List of runs
components:
  schemas:
    Experiment:
      type: object
      properties:
        experiment_id:
          type: string
          readOnly: true
        display_name:
          type: string
        description:
          type: string
        created_at:
          type: string
          format: date-time
          readOnly: true
        namespace:
          type: string
        storage_state:
          type: string
          enum:
          - AVAILABLE
          - ARCHIVED
    ListExperimentsResponse:
      type: object
      properties:
        experiments:
          type: array
          items:
            $ref: '#/components/schemas/Experiment'
        total_size:
          type: integer
        next_page_token:
          type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token issued by your Kubeflow distribution's identity provider. Some deployments use a session cookie instead.