OpenAPI Specification
openapi: 3.1.0
info:
title: Kestra Open Source REST Executions API
description: 'REST API for the Kestra open source workflow orchestration platform. Covers
flow definitions, executions, namespaces, triggers, key-value store, and
namespace files. Documented at https://kestra.io/docs/api-reference/open-source.
The Kestra server defaults to basic authentication and exposes the API under
the `/api/v1/` prefix on the configured host.
'
version: 1.0.0
contact:
name: Kestra
url: https://kestra.io/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: http://localhost:8080
description: Default local Kestra server.
- url: https://{host}
description: Self-hosted Kestra deployment.
variables:
host:
default: kestra.example.com
security:
- basicAuth: []
tags:
- name: Executions
description: Trigger and inspect workflow executions.
paths:
/api/v1/executions:
get:
tags:
- Executions
summary: Search executions
operationId: searchExecutions
parameters:
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/Size'
- name: namespace
in: query
schema:
type: string
- name: flowId
in: query
schema:
type: string
- name: state
in: query
schema:
type: string
responses:
'200':
description: A page of executions.
content:
application/json:
schema:
$ref: '#/components/schemas/ExecutionPage'
/api/v1/executions/trigger/{namespace}/{flowId}:
parameters:
- $ref: '#/components/parameters/Namespace'
- $ref: '#/components/parameters/FlowIdPath'
post:
tags:
- Executions
summary: Trigger a flow execution
operationId: triggerExecution
requestBody:
required: false
content:
multipart/form-data:
schema:
type: object
properties:
inputs:
type: string
description: JSON-encoded inputs for the flow.
responses:
'200':
description: The created execution.
content:
application/json:
schema:
$ref: '#/components/schemas/Execution'
/api/v1/executions/{executionId}:
parameters:
- $ref: '#/components/parameters/ExecutionId'
get:
tags:
- Executions
summary: Get an execution by ID
operationId: getExecution
responses:
'200':
description: Execution.
content:
application/json:
schema:
$ref: '#/components/schemas/Execution'
/api/v1/executions/{executionId}/logs:
parameters:
- $ref: '#/components/parameters/ExecutionId'
get:
tags:
- Executions
summary: Get logs for an execution
operationId: getExecutionLogs
parameters:
- name: minLevel
in: query
schema:
type: string
enum:
- TRACE
- DEBUG
- INFO
- WARN
- ERROR
responses:
'200':
description: A list of log lines.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/LogEntry'
components:
parameters:
FlowIdPath:
name: flowId
in: path
required: true
schema:
type: string
Namespace:
name: namespace
in: path
required: true
schema:
type: string
ExecutionId:
name: executionId
in: path
required: true
schema:
type: string
Page:
name: page
in: query
schema:
type: integer
minimum: 1
default: 1
Size:
name: size
in: query
schema:
type: integer
minimum: 1
maximum: 200
default: 25
schemas:
Execution:
type: object
properties:
id:
type: string
namespace:
type: string
flowId:
type: string
flowRevision:
type: integer
state:
type: object
properties:
current:
type: string
enum:
- CREATED
- RUNNING
- PAUSED
- RESTARTED
- SUCCESS
- KILLING
- KILLED
- FAILED
- WARNING
inputs:
type: object
additionalProperties: true
LogEntry:
type: object
properties:
timestamp:
type: string
format: date-time
level:
type: string
message:
type: string
taskId:
type: string
ExecutionPage:
type: object
properties:
total:
type: integer
results:
type: array
items:
$ref: '#/components/schemas/Execution'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Optional HTTP basic authentication for self-hosted Kestra instances.