Keboola Component Configuration Rows API
The Component Configuration Rows API from Keboola — 7 operation(s) for component configuration rows.
The Component Configuration Rows API from Keboola — 7 operation(s) for component configuration rows.
openapi: 3.0.0
info:
title: AI Service Actions Component Configuration Rows API
version: 1.0.0
contact:
email: devel@keboola.com
license:
name: MIT
url: https://opensource.org/licenses/MIT
tags:
- name: Component Configuration Rows
paths:
/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows:
get:
tags:
- Component Configuration Rows
summary: List configuration rows
description: List all rows in a component configuration.
operationId: get_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows::ConfigurationRowListAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
responses:
'200':
description: List of rows
'404':
description: Component or configuration not found
post:
tags:
- Component Configuration Rows
summary: Create configuration row
description: Create a new row in a component configuration.
operationId: post_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows::ConfigurationRowCreateAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateConfigurationRowRequest'
responses:
'201':
description: Row created
'404':
description: Component or configuration not found
'409':
description: Version conflict
/v2/storage/components/{componentId}/configs/{configurationId}/rows:
get:
tags:
- Component Configuration Rows
summary: List configuration rows
description: List all rows in a component configuration.
operationId: get_/v2/storage/components/{componentId}/configs/{configurationId}/rows::ConfigurationRowListAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
responses:
'200':
description: List of rows
'404':
description: Component or configuration not found
post:
tags:
- Component Configuration Rows
summary: Create configuration row
description: Create a new row in a component configuration.
operationId: post_/v2/storage/components/{componentId}/configs/{configurationId}/rows::ConfigurationRowCreateAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/CreateConfigurationRowRequest'
responses:
'201':
description: Row created
'404':
description: Component or configuration not found
'409':
description: Version conflict
/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}:
get:
tags:
- Component Configuration Rows
summary: Get configuration row detail
description: Retrieve details of a specific configuration row.
operationId: get_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowDetailAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
responses:
'200':
description: Row detail
'404':
description: Component, configuration or row not found
put:
tags:
- Component Configuration Rows
summary: Update configuration row
description: Update an existing configuration row.
operationId: put_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowUpdateAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UpdateConfigurationRowRequest'
responses:
'200':
description: Row updated
'404':
description: Component, configuration or row not found
'409':
description: Version conflict
delete:
tags:
- Component Configuration Rows
summary: Delete configuration row
description: Delete a configuration row.
operationId: delete_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowDeleteAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteConfigurationRowRequest'
responses:
'204':
description: Row deleted
'404':
description: Component, configuration or row not found
/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}:
get:
tags:
- Component Configuration Rows
summary: Get configuration row detail
description: Retrieve details of a specific configuration row.
operationId: get_/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowDetailAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
responses:
'200':
description: Row detail
'404':
description: Component, configuration or row not found
put:
tags:
- Component Configuration Rows
summary: Update configuration row
description: Update an existing configuration row.
operationId: put_/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowUpdateAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UpdateConfigurationRowRequest'
responses:
'200':
description: Row updated
'404':
description: Component, configuration or row not found
'409':
description: Version conflict
delete:
tags:
- Component Configuration Rows
summary: Delete configuration row
description: Delete a configuration row.
operationId: delete_/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}::ConfigurationRowDeleteAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/DeleteConfigurationRowRequest'
responses:
'204':
description: Row deleted
'404':
description: Component, configuration or row not found
/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}/diff:
get:
tags:
- Component Configuration Rows
summary: Get configuration row three-way diff
description: Returns the "base" (dev branch version 1), "ours" (dev branch head) and "theirs" (default branch head) versions of a single configuration row, so a client can render a three-way diff for conflict resolution. Each side is null when the row does not exist on that side. When there is no conflict all three sides are equal. Only available in dev branches.
operationId: get_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}/diff::ConfigurationRowDiffAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
responses:
'200':
description: Three-way diff of the configuration row.
content:
application/json:
schema:
$ref: '#/components/schemas/ConfigurationRowDiffResponse'
'404':
description: Component not found, or row absent in both branches
'400':
description: Called on the default branch — diff is only available in dev branches
/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}/state:
put:
tags:
- Component Configuration Rows
summary: Update configuration row state
description: Update the state of a configuration row.
operationId: put_/v2/storage/branch/{branchId}/components/{componentId}/configs/{configurationId}/rows/{rowId}/state::ConfigurationRowStateUpdateAction
parameters:
- name: branchId
in: path
required: true
schema:
type: string
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UpdateConfigurationRowStateRequest'
responses:
'200':
description: Row state updated
'404':
description: Component, configuration or row not found
/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}/state:
put:
tags:
- Component Configuration Rows
summary: Update configuration row state
description: Update the state of a configuration row.
operationId: put_/v2/storage/components/{componentId}/configs/{configurationId}/rows/{rowId}/state::ConfigurationRowStateUpdateAction
parameters:
- name: componentId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: configurationId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
- name: rowId
in: path
required: true
schema:
type: string
pattern: '[^/]+'
requestBody:
required: true
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/UpdateConfigurationRowStateRequest'
responses:
'200':
description: Row state updated
'404':
description: Component, configuration or row not found
components:
schemas:
CreateConfigurationRowRequest:
type: object
UpdateConfigurationRowStateRequest:
type: object
DeleteConfigurationRowRequest:
type: object
UpdateConfigurationRowRequest:
type: object
ConfigurationRowDiffResponse:
description: Three-way diff of a single configuration row. Each side is a row version snapshot, or null when the row does not exist on that side. When there is no conflict all three sides are equal.
required:
- base
- ours
- theirs
properties:
base:
oneOf:
- $ref: '#/components/schemas/ConfigurationRowVersionResponse'
nullable: true
ours:
oneOf:
- $ref: '#/components/schemas/ConfigurationRowVersionResponse'
nullable: true
theirs:
oneOf:
- $ref: '#/components/schemas/ConfigurationRowVersionResponse'
nullable: true
type: object
ConfigurationRowVersionResponse:
required:
- id
- name
- description
- isDisabled
- version
- created
- creatorToken
- changeDescription
- versionIdentifier
- configuration
properties:
id:
type: string
name:
type: string
description:
type: string
isDisabled:
type: boolean
version:
type: integer
created:
type: string
creatorToken:
required:
- id
- description
properties:
id:
type: integer
description:
type: string
nullable: true
type: object
changeDescription:
type: string
nullable: true
versionIdentifier:
type: string
nullable: true
configuration:
type: object
type: object
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-StorageApi-Token