Operations 30
Documentation
Documentation
https://docs.testkube.io/openapi/overview
Documentation
https://docs.testkube.io/openapi/agent/default--test-workflows
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/kubeshop-api-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.2.0
info:
title: Testkube 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: api
description: Testkube API operations
paths:
/test-suites/{id}/executions:
post:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/LastNDays'
- $ref: '#/components/parameters/TestSuiteExecutionName'
tags:
- api
summary: Starts new test suite execution
description: New test suite execution returns new execution details on successful execution start
operationId: executeTestSuite
requestBody:
description: body passed to configure execution
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TestSuiteExecutionRequest'
responses:
201:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/TestSuiteExecutionsResult'
400:
description: problem with request body
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: test suite not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with test suite execution
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageIndex'
- $ref: '#/components/parameters/TestExecutionsStatusFilter'
- $ref: '#/components/parameters/StartDateFilter'
- $ref: '#/components/parameters/EndDateFilter'
tags:
- api
summary: Get all test suite executions
description: Returns array of all available test suite executions
operationId: listTestSuiteExecutions
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-suites/{id}/executions/{executionID}:
get:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Get test suite execution
description: Returns test suite execution with given executionID
operationId: getTestSuiteExecution
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/TestSuiteExecution'
404:
description: test not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting test suite executions from storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with Kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
patch:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Aborts testsuite execution
description: Aborts testsuite execution with given executionID
operationId: abortTestSuiteExecution
responses:
204:
description: no content
404:
description: test suite not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with read information from storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/test-suites/{id}/executions/{executionID}/artifacts:
get:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Get test suite execution artifacts
description: Returns test suite execution artifacts with given executionID
operationId: getTestSuiteExecutionArtifactsByTestsuite
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Artifact'
404:
description: test suite not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
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:
post:
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/Selector'
- $ref: '#/components/parameters/ConcurrencyLevel'
tags:
- api
summary: Starts new test suite executions
description: New test suite executions returns new executions details on successful executions start
operationId: executeTestSuites
requestBody:
description: body passed to configure executions
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TestSuiteExecutionRequest'
responses:
201:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TestSuiteExecutionsResult'
400:
description: problem with request body
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with test suites executions
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/test-suite-executions/{executionID}:
patch:
parameters:
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Aborts testsuite execution
description: Aborts testsuite execution with given executionID
operationId: abortTestSuiteExecutionByID
responses:
502:
description: problem with read information from kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
204:
description: no content
/test-suite-executions/{executionID}/artifacts:
get:
parameters:
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Get test suite execution artifacts
description: Returns test suite execution artifacts with given executionID
operationId: getTestSuiteExecutionArtifacts
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Artifact'
500:
description: problem with getting test suite executions from storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/executions:
post:
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/Selector'
- $ref: '#/components/parameters/ExecutionSelector'
- $ref: '#/components/parameters/ConcurrencyLevel'
tags:
- api
summary: Starts new test executions
description: New test executions returns new executions details on successful executions start
operationId: executeTests
requestBody:
description: body passed to configure executions
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutionRequest'
responses:
201:
description: successful operation
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ExecutionResult'
400:
description: problem with request body
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: test not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with test executions
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/tests/{id}/executions:
post:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/TestExecutionName'
tags:
- api
summary: Starts new test execution
description: New test execution returns new execution details on successful execution start
operationId: executeTest
requestBody:
description: body passed to configure execution
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutionRequest'
responses:
201:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutionResult'
400:
description: problem with request body
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: test not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with test execution
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/LastNDays'
- $ref: '#/components/parameters/PageSize'
- $ref: '#/components/parameters/PageIndex'
- $ref: '#/components/parameters/ExecutionsStatusFilter'
- $ref: '#/components/parameters/StartDateFilter'
- $ref: '#/components/parameters/EndDateFilter'
tags:
- api
summary: Get all test executions
description: Returns array of all available test executions
operationId: listTestExecutions
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutionsResult'
404:
description: test or 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'
/tests/{id}/executions/{executionID}:
get:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Get test execution
description: Returns execution with given executionID
operationId: getTestExecution
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'
patch:
parameters:
- $ref: '#/components/parameters/ID'
- $ref: '#/components/parameters/executionID'
tags:
- api
summary: Aborts execution
description: Aborts execution with given executionID
operationId: abortExecution
responses:
204:
description: no content
502:
description: problem with read information from kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/executors/{id}:
delete:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Delete executor
description: Deletes executor by its name
operationId: deleteExecutor
responses:
204:
description: executor deleted successfuly
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Get executor details
description: Returns executors data with executions passed to executor
operationId: getExecutor
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutorDetails'
text/yaml:
schema:
type: string
400:
description: problem with input for CRD generation
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting executor data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/executor-by-types:
get:
parameters:
- $ref: '#/components/parameters/TestType'
tags:
- api
summary: Get executor details by type
description: Returns executors data with executions passed to executor
operationId: getExecutorByType
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutorDetails'
text/yaml:
schema:
type: string
400:
description: problem with input for CRD generation
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting executor data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/webhooks/{id}:
delete:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Delete webhook
description: Deletes webhook by its name
operationId: deleteWebhook
responses:
204:
description: webhook deleted successfuly
404:
description: webhook not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Get webhook details
description: Returns webhook
operationId: getWebhook
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Webhook'
text/yaml:
schema:
type: string
400:
description: problem with input for CRD generation
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: webhook not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting webhook data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/webhook-templates/{id}:
delete:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Delete webhook template
description: Deletes webhook template by its name
operationId: deleteWebhookTemplate
responses:
204:
description: webhook template deleted successfuly
404:
description: webhook template not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Get webhook template details
description: Returns webhook template
operationId: getWebhookTemplate
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/WebhookTemplate'
text/yaml:
schema:
type: string
400:
description: problem with input for CRD generation
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: webhook template not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting webhook template data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/templates/{id}:
delete:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Delete template
description: Deletes template by its name
operationId: deleteTemplate
responses:
204:
description: template deleted successfuly
404:
description: template not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Get template details
description: Returns template
operationId: getTemplate
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Template'
text/yaml:
schema:
type: string
400:
description: problem with input for CRD generation
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: template not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting template data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/config:
patch:
tags:
- api
summary: Update config
description: Updates config in cluster storage state
operationId: updateConfigKey
requestBody:
description: config request body data
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/Config'
responses:
200:
description: update successful
content:
application/json:
schema:
$ref: '#/components/schemas/Config'
400:
description: problem with input
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
404:
description: config not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with updating key in cluster storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
get:
tags:
- api
summary: Get config
description: Get config from cluster storage state
operationId: getConfig
responses:
200:
description: get successful
content:
application/json:
schema:
$ref: '#/components/schemas/Config'
404:
description: config not found
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with getting config from cluster storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/debug:
get:
tags:
- api
summary: Get debug information
description: Gets information that is needed for debugging and opening Testkube bug reports
operationId: getDebugInfo
responses:
200:
description: successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DebugInfo'
500:
description: problem with getting execution logs from storage
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
502:
description: problem with getting debug information from the Kuberenetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/export:
get:
tags:
- api
summary: Export execution data
description: Exports all execution metadata, logs and workflow sequence numbers as a gzipped tar archive. The archive size is limited by the server (configured via the EXPORT_ARCHIVE_MAX_SIZE env var); use the 'since' parameter to narrow the date range if the limit is exceeded.
operationId: exportExecutions
parameters:
- name: since
in: query
required: false
description: Export only executions created after this date. Accepts ISO 8601 date (YYYY-MM-DD) or RFC 3339 timestamp (e.g. 2025-01-01T00:00:00Z).
schema:
type: string
examples:
date:
value: '2025-01-01'
datetime:
value: '2025-01-01T00:00:00Z'
responses:
200:
description: successful operation
headers:
Content-Disposition:
description: Content disposition with the archive filename
schema:
type: string
example: attachment; filename="testkube-export.tar.gz"
content:
application/gzip:
schema:
type: string
format: binary
400:
description: invalid 'since' parameter value
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
413:
description: export archive exceeds the server-configured size limit
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
500:
description: problem with exporting execution data
content:
application/problem+json:
schema:
type: array
items:
$ref: '#/components/schemas/Problem'
/test-sources/{id}:
delete:
parameters:
- $ref: '#/components/parameters/ID'
tags:
- api
summary: Delete test source
description: Deletes test source by its name
operationId: deleteTestSource
responses:
204:
description: test source deleted successfuly
502:
description: problem with communicating with kubernetes cluster
content:
application/problem+json:
schema:
type: array
items:
$ref
# --- truncated at 32 KB (186 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kubeshop/refs/heads/main/openapi/kubeshop-api-api-openapi.yml