Kubeshop Test Workflows API

The Test Workflows API from Kubeshop — 22 operation(s) for test workflows.

OpenAPI Specification

kubeshop-test-workflows-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Testkube Standalone Agent api Test Workflows API
  description: API for Testkube Standalone Agent
  contact:
    email: info@testkube.io
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
servers:
- url: https://api.testkube.io
  description: Testkube Cloud Control Plane API Endpoint
- url: https://<your-testkube-api-host>
  description: Testkube On-Prem API Endpoint
tags:
- name: Test Workflows
paths:
  /test-workflows:
    get:
      parameters:
      - $ref: '#/components/parameters/Selector'
      summary: List test workflows
      description: List test workflows from the kubernetes cluster
      operationId: listTestWorkflows
      responses:
        '200':
          description: successful list operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflow'
            text/yaml:
              schema:
                type: string
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    delete:
      parameters:
      - $ref: '#/components/parameters/Selector'
      - $ref: '#/components/parameters/TestWorkflowNames'
      summary: Delete test workflows
      description: Delete test workflows from the kubernetes cluster
      operationId: deleteTestWorkflows
      responses:
        '204':
          description: no content
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    post:
      summary: Create test workflow
      description: Create test workflow in the kubernetes cluster
      operationId: createTestWorkflow
      requestBody:
        description: test workflow body
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWorkflow'
          text/yaml:
            schema:
              type: string
      responses:
        '200':
          description: successful creation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflow'
            text/yaml:
              schema:
                type: string
        '400':
          description: problem with body parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    put:
      summary: Validate test workflow
      description: Validate test workflow specification against CRD schema
      operationId: validateTestWorkflow
      requestBody:
        description: test workflow body
        required: true
        content:
          text/yaml:
            schema:
              type: string
      responses:
        '204':
          description: no content
        '400':
          description: problem with body parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/executions:
    get:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/TagSelector'
      - $ref: '#/components/parameters/ActorName'
      - $ref: '#/components/parameters/ActorType'
      summary: List test workflow executions
      description: List test workflow executions
      operationId: listTestWorkflowExecutionsByTestWorkflow
      responses:
        '200':
          description: successful list operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowExecutionsResult'
            text/yaml:
              schema:
                type: string
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    post:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/TestWorkflowExecutionName'
      summary: Execute test workflow
      description: Execute test workflow in the kubernetes cluster
      operationId: executeTestWorkflow
      requestBody:
        description: test workflow execution request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWorkflowExecutionRequest'
      responses:
        '200':
          description: successful execution
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowExecution'
        '400':
          description: problem with body parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/tags:
    get:
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: List test workflow execution tags
      description: List test workflow execution tags for all executed test workflows
      operationId: listTestWorkflowTagsByTestWorkflow
      responses:
        '200':
          description: successful list operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                example:
                  app:
                  - backend
                  env:
                  - prod
                  toDelete:
                  - 'yes'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/metrics:
    get:
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: Get test workflow metrics
      description: Get metrics of test workflow executions
      operationId: getTestWorkflowMetrics
      responses:
        '200':
          description: successful list operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionsMetrics'
            text/yaml:
              schema:
                type: string
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/executions/{executionID}:
    get:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/executionID'
      summary: Get test workflow execution
      description: Get test workflow execution details
      operationId: getTestWorkflowExecutionByTestWorkflow
      responses:
        '200':
          description: successful list operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWorkflowExecution'
            text/yaml:
              schema:
                type: string
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/executions/{executionID}/abort:
    post:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/executionID'
      - $ref: '#/components/parameters/ForceAgent'
      summary: Abort test workflow execution
      description: Abort test workflow execution
      operationId: abortTestWorkflowExecutionByTestWorkflow
      responses:
        '204':
          description: no content
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/executions/{executionID}/rerun:
    post:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/executionID'
      summary: Rerun test workflow execution
      description: Rerun test workflow execution
      operationId: rerunTestWorkflowExecutionByTestWorkflow
      requestBody:
        description: test workflow running context
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWorkflowRunningContext'
      responses:
        '200':
          description: successful execution
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWorkflowExecution'
        '400':
          description: problem with body parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}/abort:
    post:
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: Abort all test workflow executions
      description: Abort all test workflow executions
      operationId: abortAllTestWorkflowExecutions
      responses:
        '204':
          description: no content
        '400':
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflows/{id}:
    get:
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: Get test workflow details
      description: Get test workflow details from the kubernetes cluster
      operationId: getTestWorkflow
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWorkflow'
            text/yaml:
              schema:
                type: string
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '404':
          description: the resource has not been found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    put:
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: Update test workflow details
      description: Update test workflow details in the kubernetes cluster
      operationId: updateTestWorkflow
      requestBody:
        description: test workflow body
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWorkflow'
          text/yaml:
            schema:
              type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWorkflow'
            text/yaml:
              schema:
                type: string
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '404':
          description: the resource has not been found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
    delete:
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/SkipDeleteExecutions'
      - $ref: '#/components/parameters/SkipDeleteCRD'
      summary: Delete test workflow
      description: Delete test workflow from the kubernetes cluster
      operationId: deleteTestWorkflow
      responses:
        '204':
          description: no content
        '402':
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '404':
          description: the resource has not been found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        '502':
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
      tags:
      - Test Workflows
  /test-workflow-with-executions:
    get:
      tags:
      - Test Workflows
      parameters:
      - $ref: '#/components/parameters/Selector'
      summary: List test workflows with latest execution
      description: List test workflows from the kubernetes cluster with latest execution
      operationId: listTestWorkflowWithExecutions
      responses:
        200:
          description: successful list operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowWithExecutionSummary'
            text/yaml:
              schema:
                type: string
        400:
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-with-executions/{id}:
    get:
      tags:
      - Test Workflows
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: Get test workflow details with latest execution
      description: Get test workflow details from the kubernetes cluster with latest execution
      operationId: getTestWorkflowWithExecution
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestWorkflowWithExecution'
            text/yaml:
              schema:
                type: string
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        404:
          description: the resource has not been found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-with-executions/{id}/tags:
    get:
      tags:
      - Test Workflows
      parameters:
      - $ref: '#/components/parameters/ID'
      summary: List test workflow execution tags
      description: List test workflow execution tags for all executed test workflows
      operationId: listTestWorkflowWithExecutionTags
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                type: object
                additionalProperties:
                  type: array
                  items:
                    type: string
                example:
                  app:
                  - backend
                  env:
                  - prod
                  toDelete:
                  - 'yes'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-executions:
    post:
      parameters:
      - $ref: '#/components/parameters/Selector'
      - $ref: '#/components/parameters/ConcurrencyLevel'
      tags:
      - Test Workflows
      summary: Execute test workflows
      description: Execute test workflows in the kubernetes cluster
      operationId: executeTestWorkflows
      requestBody:
        description: test workflow execution request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestWorkflowExecutionRequest'
      responses:
        200:
          description: successful execution
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowExecution'
        400:
          description: problem with body parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
    get:
      tags:
      - Test Workflows
      parameters:
      - $ref: '#/components/parameters/ID'
      - $ref: '#/components/parameters/TagSelector'
      - $ref: '#/components/parameters/ActorName'
      - $ref: '#/components/parameters/ActorType'
      summary: List test workflow executions
      description: List test workflow executions
      operationId: listTestWorkflowExecutions
      responses:
        200:
          description: successful list operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowExecutionsResult'
            text/yaml:
              schema:
                type: string
        400:
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-executions/{executionID}:
    get:
      tags:
      - Test Workflows
      parameters:
      - $ref: '#/components/parameters/executionID'
      summary: Get test workflow execution
      description: Get test workflow execution details
      operationId: getTestWorkflowExecution
      responses:
        200:
          description: successful list operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/TestWorkflowExecution'
            text/yaml:
              schema:
                type: string
        400:
          description: problem with selector parsing - probably some bad input occurs
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem communicating with kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-executions/{executionID}/artifacts:
    get:
      parameters:
      - $ref: '#/components/parameters/executionID'
      tags:
      - Test Workflows
      summary: Get test workflow execution's artifacts by ID
      description: Returns artifacts of the given executionID
      operationId: getTestWorkflowExecutionArtifacts
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Artifact'
        404:
          description: execution not found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        500:
          description: problem with getting execution's artifacts from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-executions/{executionID}/artifacts/{filename}:
    get:
      parameters:
      - $ref: '#/components/parameters/executionID'
      - $ref: '#/components/parameters/Filename'
      tags:
      - Test Workflows
      summary: Download test workflow artifact
      description: Download the artifact file from the given execution
      operationId: downloadTestWorkflowArtifact
      responses:
        200:
          description: successful operation
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
        404:
          description: execution not found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        402:
          description: missing Pro subscription for a commercial feature
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        500:
          description: problem with getting artifacts from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-workflow-executions/{executionID}/artifact-archive:
    get:
      parameters:
      - $ref: '#/components/parameters/executionID'
      - $ref: '#/components/parameters/Mask'
      tags:
      - Test Workflows
      summary: Download test workflow artifact archive
      description: Download 

# --- truncated at 32 KB (158 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kubeshop/refs/heads/main/openapi/kubeshop-test-workflows-api-openapi.yml