OpenAPI Specification
openapi: 3.1.0
info:
title: Kestra Open Source REST Executions KVStore 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: KVStore
description: Manage namespace-scoped key-value pairs.
paths:
/api/v1/namespaces/{namespace}/kv:
parameters:
- $ref: '#/components/parameters/Namespace'
get:
tags:
- KVStore
summary: List key-value entries in a namespace
operationId: listKv
responses:
'200':
description: A list of KV entries (metadata only).
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/KvEntry'
/api/v1/namespaces/{namespace}/kv/{key}:
parameters:
- $ref: '#/components/parameters/Namespace'
- name: key
in: path
required: true
schema:
type: string
get:
tags:
- KVStore
summary: Get a key-value entry
operationId: getKv
responses:
'200':
description: The value for the key.
content:
application/json:
schema:
$ref: '#/components/schemas/KvEntry'
put:
tags:
- KVStore
summary: Set a key-value entry
operationId: setKv
requestBody:
required: true
content:
application/json:
schema:
type: object
additionalProperties: true
responses:
'204':
description: Stored.
delete:
tags:
- KVStore
summary: Delete a key-value entry
operationId: deleteKv
responses:
'204':
description: Deleted.
components:
schemas:
KvEntry:
type: object
properties:
key:
type: string
value:
description: Stored value (any JSON type).
expirationDate:
type: string
format: date-time
parameters:
Namespace:
name: namespace
in: path
required: true
schema:
type: string
securitySchemes:
basicAuth:
type: http
scheme: basic
description: Optional HTTP basic authentication for self-hosted Kestra instances.