Kubeshop Executions API

The Executions API from Kubeshop — 19 operation(s) for executions.

Operations 4

GET /test-suite-executions Get all test suite executions #
GET /test-suite-executions/{executionID} Get test suite execution by ID #
GET /executions Get all test executions #
GET /executions/{executionID} Get test execution by ID #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kubeshop-executions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kubeshop-executions-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Testkube Executions API
  description: Testkube provides a Kubernetes-native framework for test definition, execution and results
  contact:
    email: contact@testkube.io
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
tags:
- name: executions
  description: Test suites and tests execution operations
paths:
  /test-suite-executions:
    get:
      tags:
      - executions
      summary: Get all test suite executions
      description: Returns array of test suite executions
      operationId: listAllTestSuiteExecutions
      parameters:
      - $ref: '#/components/parameters/LastNDays'
      - $ref: '#/components/parameters/TestName'
      - $ref: '#/components/parameters/TextSearch'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageIndex'
      - $ref: '#/components/parameters/TestExecutionsStatusFilter'
      - $ref: '#/components/parameters/StartDateFilter'
      - $ref: '#/components/parameters/EndDateFilter'
      - $ref: '#/components/parameters/Selector'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestSuiteExecutionsResult'
        500:
          description: problem with getting test suite executions from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /test-suite-executions/{executionID}:
    get:
      parameters:
      - $ref: '#/components/parameters/executionID'
      - $ref: '#/components/parameters/LastNDays'
      tags:
      - executions
      summary: Get test suite execution by ID
      description: Returns test suite execution with given executionID
      operationId: getTestSuiteExecutionByID
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TestSuiteExecution'
        500:
          description: problem with getting test suite execution from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /executions:
    get:
      tags:
      - executions
      summary: Get all test executions
      description: Returns array of test executions
      operationId: listExecutions
      parameters:
      - $ref: '#/components/parameters/TestName'
      - $ref: '#/components/parameters/Type'
      - $ref: '#/components/parameters/TextSearch'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/PageIndex'
      - $ref: '#/components/parameters/ExecutionsStatusFilter'
      - $ref: '#/components/parameters/StartDateFilter'
      - $ref: '#/components/parameters/EndDateFilter'
      - $ref: '#/components/parameters/Selector'
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExecutionsResult'
        404:
          description: execution not found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        500:
          description: problem with getting test executions from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
  /executions/{executionID}:
    get:
      parameters:
      - $ref: '#/components/parameters/executionID'
      tags:
      - executions
      summary: Get test execution by ID
      description: Returns execution with given executionID
      operationId: getExecutionByID
      responses:
        200:
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Execution'
        404:
          description: execution not found
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        500:
          description: problem with getting test executions from storage
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
        502:
          description: problem with reading secrets from kubernetes cluster
          content:
            application/problem+json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Problem'
components:
  schemas:
    TestSuiteStepV2:
      type: object
      required:
      - name
      - type
      - stopTestOnFailure
      properties:
        stopTestOnFailure:
          type: boolean
          default: true
        execute:
          $ref: '#/components/schemas/TestSuiteStepExecuteTestV2'
        delay:
          $ref: '#/components/schemas/TestSuiteStepDelayV2'
    TestSuiteStepExecutionRequest:
      description: test step execution request body
      type: object
      readOnly: true
      properties:
        executionLabels:
          type: object
          description: test execution labels
          additionalProperties:
            type: string
          example:
            users: '3'
            prefix: some-
        variables:
          $ref: '#/components/schemas/Variables'
        command:
          type: array
          description: executor image command
          items:
            type: string
          example:
          - curl
        args:
          type: array
          description: additional executor binary arguments
          items:
            type: string
          example:
          - --repeats
          - '5'
          - --insecure
        args_mode:
          type: string
          description: usage mode for arguments
          enum:
          - append
          - override
          - replace
        sync:
          type: boolean
          description: whether to start execution sync or async
        httpProxy:
          type: string
          description: http proxy for executor containers
          example: user:pass@my.proxy.server:8080
        httpsProxy:
          type: string
          description: https proxy for executor containers
          example: user:pass@my.proxy.server:8081
        negativeTest:
          type: boolean
          description: whether to run test as negative test
          example: false
        jobTemplate:
          type: string
          description: job template extensions
        jobTemplateReference:
          type: string
          description: name of the template resource
        cronJobTemplate:
          type: string
          description: cron job template extensions
        cronJobTemplateReference:
          type: string
          description: name of the template resource
        scraperTemplate:
          type: string
          description: scraper template extensions
        scraperTemplateReference:
          type: string
          description: name of the template resource
        pvcTemplate:
          type: string
          description: pvc template extensions
        pvcTemplateReference:
          type: string
          description: name of the template resource
        runningContext:
          $ref: '#/components/schemas/RunningContext'
          description: running context for the test execution
        disableWebhooks:
          type: boolean
          description: whether webhooks on the execution of this step are disabled
          default: false
          example:
          - true
          - false
    TestSuiteBatchStepExecutionResult:
      description: execution result returned from executor
      type: object
      properties:
        step:
          $ref: '#/components/schemas/TestSuiteBatchStep'
        execute:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteStepExecutionResult'
        startTime:
          type: string
          description: step start time
          format: date-time
        endTime:
          type: string
          description: step end time
          format: date-time
        duration:
          type: string
          description: step duration
          example: 2m
    TestSuiteExecutionStatus:
      type: string
      enum:
      - queued
      - running
      - passed
      - failed
      - aborting
      - aborted
      - timeout
    ExecutionsTotals:
      type: object
      description: various execution counters
      required:
      - results
      - passed
      - failed
      - queued
      - running
      - paused
      properties:
        results:
          type: integer
          description: the total number of executions available
        passed:
          type: integer
          description: the total number of passed executions available
        failed:
          type: integer
          description: the total number of failed executions available
        queued:
          type: integer
          description: the total number of queued executions available
        running:
          type: integer
          description: the total number of running executions available
    TestSuiteStepExecutionSummary:
      description: Test suite execution summary
      type: object
      required:
      - id
      - name
      - status
      properties:
        id:
          type: string
          example: 62f395e004109209b50edfc4
        name:
          type: string
          description: execution name
          example: run:testkube/test1
        testName:
          type: string
          description: test name
          example: test1
        status:
          $ref: '#/components/schemas/ExecutionStatus'
        type:
          $ref: '#/components/schemas/TestSuiteStepType'
    PodResourcesRequest:
      description: pod resources request specification
      type: object
      properties:
        requests:
          $ref: '#/components/schemas/ResourceRequest'
          description: pod resources requests
        limits:
          $ref: '#/components/schemas/ResourceRequest'
          description: pod resources limits
    AssertionResult:
      description: execution result data
      type: object
      properties:
        name:
          type: string
          example: assertion1
        status:
          type: string
          enum:
          - passed
          - failed
        errorMessage:
          type:
          - string
          - 'null'
    SecretRef:
      required:
      - name
      - key
      type: object
      description: Testkube internal reference for secret storage in Kubernetes secrets
      properties:
        namespace:
          type: string
          description: object kubernetes namespace
        name:
          type: string
          description: object name
        key:
          type: string
          description: object key
    TestContent:
      type: object
      properties:
        type:
          type: string
          description: "type of sources a runner can get data from.\n  string: String content (e.g. Postman JSON file).\n  file-uri: content stored on the webserver.\n  git-file: the file stored in the Git repo in the given repository.path field (Deprecated: use git instead).\n  git-dir: the entire git repo or git subdirectory depending on the  repository.path field (Testkube does a shadow clone and sparse checkout to limit IOs in the case of monorepos). (Deprecated: use git instead).\n  git: automatically provisions either a file, directory or whole git repository depending on the repository.path field.\n"
          enum:
          - string
          - file-uri
          - git-file
          - git-dir
          - git
        repository:
          $ref: '#/components/schemas/Repository'
        data:
          type: string
          description: test content data as string
        uri:
          type: string
          description: test content
          example: https://github.com/kubeshop/testkube
    TestSuiteStep:
      type: object
      properties:
        test:
          type: string
          description: object name
          example: name
        delay:
          type: string
          format: duration
          example: 1s
          description: delay duration in time units
        executionRequest:
          $ref: '#/components/schemas/TestSuiteStepExecutionRequest'
          description: test suite step execution request parameters
    TestSuiteExecutionsResult:
      description: the result for a page of executions
      type: object
      required:
      - totals
      - results
      properties:
        totals:
          $ref: '#/components/schemas/ExecutionsTotals'
        filtered:
          $ref: '#/components/schemas/ExecutionsTotals'
        results:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteExecutionSummary'
    VariableType:
      type: string
      enum:
      - basic
      - secret
    TestSuiteStepDelayV2:
      type: object
      required:
      - duration
      properties:
        duration:
          type: integer
          default: 0
          description: delay duration in milliseconds
    ExecutionSummary:
      description: Execution summary
      type: object
      required:
      - id
      - name
      - testName
      - testType
      - status
      properties:
        id:
          type: string
          description: execution id
          format: bson objectId
          example: 62f395e004109209b50edfc4
        name:
          type: string
          description: execution name
          example: test-suite1-test1
        number:
          type: integer
          description: execution number
          example: 1
        testName:
          type: string
          description: name of the test
          example: test1
        testNamespace:
          type: string
          description: name of the test
          example: testkube
        testType:
          type: string
          description: the type of test for this execution
          example: postman/collection
        status:
          $ref: '#/components/schemas/ExecutionStatus'
        startTime:
          type: string
          description: test execution start time
          format: date-time
        endTime:
          type: string
          description: test execution end time
          format: date-time
        duration:
          type: string
          description: calculated test duration
          example: 00:00:13
        durationMs:
          type: integer
          description: calculated test duration in ms
          example: 10000
        labels:
          type: object
          description: test and execution labels
          additionalProperties:
            type: string
          example:
            env: prod
            app: backend
        runningContext:
          $ref: '#/components/schemas/RunningContext'
          description: running context for the test execution
    RunningContext:
      description: running context for test or test suite execution
      type: object
      required:
      - type
      properties:
        type:
          type: string
          description: One of possible context types
          enum:
          - userCLI
          - userUI
          - testsuite
          - testtrigger
          - scheduler
          - testworkflow
        context:
          type: string
          description: Context value depending from its type
    Execution:
      type: object
      description: test execution
      properties:
        id:
          type: string
          description: execution id
          format: bson objectId
          example: 62f395e004109209b50edfc4
        testName:
          type: string
          description: unique test name (CRD Test name)
          example: example-test
        testSuiteName:
          type: string
          description: unique test suite name (CRD Test suite name), if it's run as a part of test suite
          example: test-suite1
        testNamespace:
          type: string
          description: test namespace
          example: testkube
        testType:
          type: string
          description: test type e.g. postman/collection
          example: postman/collection
        name:
          type: string
          description: execution name
          example: test-suite1-example-test-1
        number:
          type: integer
          description: execution number
          example: 1
        envs:
          deprecated: true
          type: object
          description: 'Environment variables passed to executor. Deprecated: use Basic Variables instead'
          additionalProperties:
            type: string
          example:
            record: 'true'
            prefix: some-
        command:
          type: array
          description: executor image command
          example:
          - curl
          items:
            type: string
        args:
          type: array
          description: additional arguments/flags passed to executor binary
          example:
          - --concurrency
          - '2'
          - --remote
          - --some
          - blabla
          items:
            type: string
        args_mode:
          type: string
          description: usage mode for arguments
          enum:
          - append
          - override
          - replace
        variables:
          $ref: '#/components/schemas/Variables'
        isVariablesFileUploaded:
          type: boolean
          description: in case the variables file is too big, it will be uploaded to storage
          example: false
        variablesFile:
          type: string
          description: variables file content - need to be in format for particular executor (e.g. postman envs file)
        testSecretUUID:
          type: string
          description: test secret uuid
          readOnly: true
          example: 7934600f-b367-48dd-b981-4353304362fb
        testSuiteSecretUUID:
          type: string
          description: test suite secret uuid, if it's run as a part of test suite
          readOnly: true
          example: 7934600f-b367-48dd-b981-4353304362fb
        content:
          $ref: '#/components/schemas/TestContent'
        startTime:
          type: string
          description: test start time
          format: date-time
        endTime:
          type: string
          description: test end time
          format: date-time
        duration:
          type: string
          description: test duration
          example: 88s
        durationMs:
          type: integer
          description: test duration in milliseconds
          example: 10000
        executionResult:
          $ref: '#/components/schemas/ExecutionResult'
          description: result get from executor
        labels:
          type: object
          description: test and execution labels
          additionalProperties:
            type: string
          example:
            env: prod
            app: backend
        uploads:
          type: array
          items:
            type: string
          description: list of file paths that need to be copied into the test from uploads
          example:
          - settings/config.txt
        bucketName:
          type: string
          description: minio bucket name to get uploads from
          example: execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43
        artifactRequest:
          $ref: '#/components/schemas/ArtifactRequest'
          description: configuration parameters for storing test artifacts
        preRunScript:
          type: string
          description: script to run before test execution
          example: echo -n '$SECRET_ENV' > ./secret_file
        postRunScript:
          type: string
          description: script to run after test execution
          example: sleep 30
        executePostRunScriptBeforeScraping:
          type: boolean
          description: execute post run script before scraping (prebuilt executor only)
        sourceScripts:
          type: boolean
          description: run scripts using source command (container executor only)
        runningContext:
          $ref: '#/components/schemas/RunningContext'
          description: running context for the test execution
        containerShell:
          type: string
          description: shell used in container executor
          example: /bin/sh
        testExecutionName:
          type: string
          description: test execution name started the test execution
        downloadArtifactExecutionIDs:
          type: array
          description: execution ids for artifacts to download
          items:
            type: string
        downloadArtifactTestNames:
          type: array
          description: test names for artifacts to download from latest executions
          items:
            type: string
        slavePodRequest:
          $ref: '#/components/schemas/PodRequest'
          description: configuration parameters for executed slave pods
        executionNamespace:
          type: string
          description: namespace for test execution (Pro edition only)
        disableWebhooks:
          type: boolean
          description: whether webhooks on this execution are disabled
          default: false
          example:
          - true
          - false
    Variable:
      type: object
      properties:
        name:
          type: string
        value:
          type: string
        type:
          $ref: '#/components/schemas/VariableType'
        secretRef:
          $ref: '#/components/schemas/SecretRef'
        configMapRef:
          $ref: '#/components/schemas/ConfigMapRef'
    DownloadArtifactOptions:
      description: options to download artifacts from previous steps
      type: object
      properties:
        allPreviousSteps:
          type: boolean
          default: false
        previousStepNumbers:
          type: array
          description: previous step numbers starting from 1
          items:
            type: integer
        previousTestNames:
          type: array
          description: previous test names
          items:
            type: string
    TestSuiteStepExecutionResult:
      description: execution result returned from executor
      type: object
      properties:
        step:
          $ref: '#/components/schemas/TestSuiteStep'
        test:
          $ref: '#/components/schemas/ObjectRef'
          description: object name and namespace
        execution:
          $ref: '#/components/schemas/Execution'
          description: 'test step execution, NOTE: the execution output will be empty, retrieve it directly form the test execution'
    TestSuiteExecution:
      type: object
      description: Test suite executions data
      required:
      - id
      - name
      - testSuite
      properties:
        id:
          type: string
          description: execution id
          format: bson objectId
          example: 62f395e004109209b50edfc1
        name:
          type: string
          description: execution name
          example: test-suite1.needlessly-sweet-imp
        testSuite:
          $ref: '#/components/schemas/ObjectRef'
          description: object name and namespace
        status:
          $ref: '#/components/schemas/TestSuiteExecutionStatus'
        envs:
          deprecated: true
          type: object
          description: 'Environment variables passed to executor. Deprecated: use Basic Variables instead'
          additionalProperties:
            type: string
          example:
            record: 'true'
            prefix: some-
        variables:
          $ref: '#/components/schemas/Variables'
        secretUUID:
          type: string
          description: secret uuid
          readOnly: true
          example: 7934600f-b367-48dd-b981-4353304362fb
        startTime:
          type: string
          description: test start time
          format: date-time
        endTime:
          type: string
          description: test end time
          format: date-time
        duration:
          type: string
          description: test duration
          example: 2m
        durationMs:
          type: integer
          description: test duration in ms
          example: 6000
        stepResults:
          type: array
          description: steps execution results
          items:
            $ref: '#/components/schemas/TestSuiteStepExecutionResultV2'
            description: test execution results
        executeStepResults:
          type: array
          description: batch steps execution results
          items:
            $ref: '#/components/schemas/TestSuiteBatchStepExecutionResult'
            description: test execution results
        labels:
          type: object
          description: test suite labels
          additionalProperties:
            type: string
          example:
            env: prod
            app: backend
        runningContext:
          $ref: '#/components/schemas/RunningContext'
          description: running context for the test suite execution
        testSuiteExecutionName:
          type: string
          description: test suite execution name started the test suite execution
        disableWebhooks:
          type: boolean
          description: whether webhooks on this execution are disabled
          default: false
          example:
          - true
          - false
    TestSuiteStepType:
      type: string
      enum:
      - executeTest
      - delay
    Problem:
      description: problem response in case of error
      type: object
      properties:
        type:
          type: string
          description: Type contains a URI that identifies the problem type.
          example: https://kubeshop.io/testkube/problems/invalidtestname
        title:
          type: string
          description: Title is a short, human-readable summary of the problem type. This title SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.
          example: Invalid test name
        status:
          type: integer
          description: HTTP status code for this occurrence of the problem.
          example: 500
        detail:
          type: string
          description: A human-readable explanation specific to this occurrence of the problem.
          example: Your test name can't contain forbidden characters like "}}}" passed
        instance:
          type: string
          description: A URI that identifies the specific occurrence of the problem. This URI may or may not yield further information if de-referenced.
          example: http://10.23.23.123:8088/tests
    TestSuiteBatchStep:
      description: set of steps run in parallel
      type: object
      required:
      - stopOnFailure
      properties:
        stopOnFailure:
          type: boolean
          default: true
        downloadArtifacts:
          $ref: '#/components/schemas/DownloadArtifactOptions'
        execute:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteStep'
    ResourceRequest:
      description: resource request specification
      type: object
      properties:
        cpu:
          type: string
          description: requested cpu units
          example: 250m
        memory:
          type: string
          description: requested memory units
          example: 64Mi
    TestSuiteBatchStepExecutionSummary:
      description: Test suite batch execution summary
      type: object
      properties:
        execute:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteStepExecutionSummary'
    Repository:
      description: repository representation for tests in git repositories
      type: object
      required:
      - type
      - uri
      properties:
        type:
          type: string
          enum:
          - git
          description: VCS repository type
        uri:
          type: string
          description: uri of content file or git directory
          example: https://github.com/kubeshop/testkube
        branch:
          type: string
          description: branch/tag name for checkout
          example: main
        commit:
          type: string
          description: commit id (sha) for checkout
          example: b928cbb7186944ab9275937ec1ac3d3738ca2e1d
        path:
          type: string
          description: if needed we can checkout particular path (dir or file) in case of BIG/mono repositories
          example: test/perf
        username:
          type: string
          description: git auth username for private repositories
        token:
          type: string
          description: git auth token for private repositories
        usernameSecret:
          $ref: '#/components/schemas/SecretRef'
        tokenSecret:
          $ref: '#/components/schemas/SecretRef'
        certificateSecret:
          type: string
          description: secret with certificate for private repositories. Should contain one key ending with .crt such as "mycorp.crt", whose value is the certificate file content, suitable for git config http.sslCAInfo
        workingDir:
          type: string
          description: if provided we checkout the whole repository and run test from this directory
          example: /
        authType:
          type: string
          enum:
          - basic
          - header
          description: auth type for git requests
    TestSuiteExecutionSummary:
      description: Test execution summary
      type: object
      required:
      - id
      - name
      - testSuiteName
      - status
      properties:
        id:
          type: string
          description: execution id
          format: bson objectId
          example: 62f395e004109209b50edfc1
        name:
          type: string
          description: execution name
          example: test-suite1.needlessly-sweet-imp
        testSuiteName:
          type: string
          description: name of the test suite
          example: test-suite1
        status:
          $ref: '#/components/schemas/TestSuiteExecutionStatus'
        startTime:
          type: string
          description: test suite execution start time
          format: date-time
        endTime:
          type: string
          description: test suite execution end time
          format: date-time
        duration:
          type: string
          description: test suite execution duration
          example: 00:00:09
        durationMs:
          type: integer
          description: test suite execution duration in ms
          example: 9009
        execution:
          type: array
          items:
            $ref: '#/components/schemas/TestSuiteBatchStepExecutionSummary'
        labels:
          type: object
          description: test suite and execution labels
          additionalProperties:
            type: string
          example:
            env: prod
            app: backend
    PodRequest:
      description: pod request body
      type: object
      properties:
        resources:
          $ref: '#/components/schemas/PodResourcesRequest'
          description: pod resources request parameters
        podTemplate:
          type: string
          description: pod template extensions
        podTemplateReference:
          type: string
          description: name of the template resource
    ConfigMapRef:
      required:
      - name
      - key
      type: object
      description: Testkube internal reference for data in Kubernetes config maps
      properties:
        namespace:
          type: string
          description: object kubernetes namespace
        name:
          type: string
          description: object name
        key:
          type: string
          description: object key
    TestSuiteStepExecutionResultV2:
      description: execution result returned from executor
      type: object
      properties:
        step:
          $ref: '#/components/schemas/TestSuiteStepV2'
        test:
          $ref: '#/components/schemas/ObjectRef'
          description: object name and namespace
        execution:
          $ref: '#/components/schemas/Execution'
          des

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