Celonis Schema API
The Schema API from Celonis — 6 operation(s) for schema.
The Schema API from Celonis — 6 operation(s) for schema.
openapi: 3.0.0
info:
title: OpenAPI Specification Agents - Conversation Schema API
description: AI API to chat with Celonis Agents and run their tools.
x-audience: EX
version: v1.2.0
servers:
- url: https://30f873b4-88d4-49ba-b327-6f651d7b99e6.remockly.com
security:
- BearerAuth: []
- ApiKeyAuth: []
tags:
- name: Schema
paths:
/intelligence/api/knowledge-models:
get:
operationId: getKnowledgeModel
summary: Get a list of KMs
tags:
- Schema
description: List of Knowledge Models defined in an EMS team
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
- $ref: '#/components/parameters/singleSortParam'
responses:
'200':
description: List of Knowledge Model ids and names
content:
application/json:
schema:
$ref: '#/components/schemas/knowledgeModelResultPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/intelligence/api/knowledge-models/{km_id}:
get:
operationId: getKnowledgeModelDetails
summary: Get the top-level KM details
description: Knowledge Model defined in an EMS team
tags:
- Schema
parameters:
- name: km_id
in: path
required: true
schema:
type: string
example: open-purchase-requisition.purchase-requisition-km
responses:
'200':
description: Top-level Knowledge Model details
content:
application/json:
schema:
$ref: '#/components/schemas/knowledgeModelDetailedDTO'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/intelligence/api/knowledge-models/{km_id}/filters:
get:
operationId: getFilters
tags:
- Schema
summary: Get a list of KM Filters
description: List of Filters for the Knowledge Model
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
- $ref: '#/components/parameters/singleSortParam'
- name: km_id
in: path
required: true
schema:
type: string
example: open-purchase-requisition.purchase-requisition-kms
responses:
'200':
description: List of Filter ids and names
content:
application/json:
schema:
$ref: '#/components/schemas/filterResultPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/intelligence/api/knowledge-models/{km_id}/records:
get:
operationId: getRecords
tags:
- Schema
summary: Get a list of KM Records schema
description: List of Records schema
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
- $ref: '#/components/parameters/singleSortParam'
- name: km_id
in: path
required: true
schema:
type: string
example: open-purchase-requisition.purchase-requisition-km
responses:
'200':
description: List of Record ids and names
content:
application/json:
schema:
$ref: '#/components/schemas/recordSchemaResultPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/intelligence/api/knowledge-models/{km_id}/records/{record_id}:
get:
operationId: getRecordDetails
tags:
- Schema
summary: Get the top-level KM Record Schema details
description: Top-level Record Schema details
parameters:
- name: km_id
in: path
required: true
schema:
type: string
example: open-purchase-requisition.purchase-requisition-km
- name: record_id
in: path
required: true
schema:
type: string
example: MATERIALS
- $ref: '#/components/parameters/singleSortParam'
responses:
'200':
description: Top-level Record Schema details
content:
application/json:
schema:
$ref: '#/components/schemas/recordDTO'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
/intelligence/api/knowledge-models/{km_id}/kpis:
get:
operationId: getKpis
tags:
- Schema
summary: Get a list of KM KPI's schema
description: List of KPI's schema.
parameters:
- $ref: '#/components/parameters/pageParam'
- $ref: '#/components/parameters/pageSizeParam'
- $ref: '#/components/parameters/singleSortParam'
- name: km_id
in: path
required: true
schema:
type: string
example: open-purchase-requisition.purchase-requisition-km
responses:
'200':
description: List of KPI's.
content:
application/json:
schema:
$ref: '#/components/schemas/kpiSchemaResultPage'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
'500':
$ref: '#/components/responses/InternalError'
'503':
$ref: '#/components/responses/ServiceUnavailable'
components:
schemas:
knowledgeModelSimplifiedDTO:
title: Knowledge Model
description: Knowledge Model data's structure
type: object
properties:
published:
type: string
description: Latest published date
example: '2023-04-19 11:29:45'
allOf:
- $ref: '#/components/schemas/knowledgeModelIdDTO'
schemaResultPage:
title: Result page
type: object
properties:
page:
type: integer
description: Page
example: 0
pageSize:
type: integer
description: Page size, defined by pageSize parameter
example: 50
total:
type: integer
description: Total elements returned in the page
example: 1
sort:
type: string
description: Field used to apply sorting to the requested data, + or no symbol means ASC, - means DESC
example: +id
knowledgeModelDetailedDTO:
title: Knowledge Model
description: Knowledge Model data's structure
type: object
properties:
extendedKMId:
type: string
description: Knowledge model used as reference, KM base.
example: open-purchase-requisition.purchase-requisition-km-base
allOf:
- $ref: '#/components/schemas/knowledgeModelIdDTO'
filterDTO:
title: Filter
description: Filter to apply in a KM
type: object
properties:
id:
type: string
description: Filter's Unique identifier
example: 24M_FILTER
name:
type: string
description: Human understandable Filter display name
example: 24 Months
description:
type: string
description: Human understandable Filter description
example: Materials we purchased over the past 24 months.
knowledgeModelResultPage:
title: KnowledgeModel result page
type: object
additionalProperties: false
properties:
content:
type: array
items:
$ref: '#/components/schemas/knowledgeModelSimplifiedDTO'
allOf:
- $ref: '#/components/schemas/schemaResultPage'
recordIdDTO:
title: Record Type Identifier
description: Record Type's id and name
type: object
properties:
id:
type: string
description: Record's Unique identifier
example: MATERIALS
name:
type: string
description: Record display name, a human understandable name
example: Materials
description:
type: string
description: Record description
example: Materials that have been purchased.
shortDisplayName:
type: string
description: Record short display name
example: Materials
internalNote:
type: string
description: Record internal note
example: Materials
recordFieldDTO:
title: Record Type Field
description: Fields for a Record
type: object
properties:
id:
type: string
example: payment_amount
description: Amount pending to pay
name:
type: string
example: Amount in euros pending to pay
description: human understandable name
description:
type: string
description: Record field description
example: Amount pending to pay
shortDisplayName:
type: string
description: Record short display name
example: Amount
internalNote:
type: string
description: Record internal note
example: Amount of the record
type:
type: string
enum:
- string
- date
- integer
- boolean
- number
- datetime
- timestamp
- float
format:
type: string
example: '#.###'
description: Format to be applied
unit:
type: string
example: euros
description: Unit added to field value
recordDTO:
title: Record Type
description: Record represents a concept inside a Knowledge Model
type: object
properties:
fields:
type: array
items:
$ref: '#/components/schemas/recordFieldDTO'
example:
- id: material_name
name: Material Name
description: Materials name that have been purchased.
shortDisplayName: Materials
internalNote: Materials
type: string
format: ''
unit: ''
- id: material_number
name: Material Number
description: Materials number that have been purchased.
shortDisplayName: Materials
internalNote: Materials
type: string
format: ''
unit: ''
- id: material_group
name: Material Group
description: Materials group that have been purchased.
shortDisplayName: Materials
internalNote: Materials
type: string
format: ''
unit: ''
allOf:
- $ref: '#/components/schemas/recordIdDTO'
recordSchemaResultPage:
title: Record schema result page
type: object
additionalProperties: false
properties:
content:
type: array
items:
$ref: '#/components/schemas/recordIdDTO'
allOf:
- $ref: '#/components/schemas/schemaResultPage'
errorDTO:
title: Error
type: object
description: This [RFC7807] specification is to define common error formats for those applications that need one, so that they aren't required to define their own, or worse, tempted to redefine the semantics of existing HTTP status codes. This definition was copied from https://datatracker.ietf.org/doc/html/rfc7807
properties:
title:
type: string
description: A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4). This definition was copied from https://datatracker.ietf.org/doc/html/rfc7807
status:
type: integer
description: The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem. This definition was copied from https://datatracker.ietf.org/doc/html/rfc7807
detail:
type: string
description: The details of the Error
errorCode:
type: string
description: Unique Identifier of the Error
type:
type: string
description: A URI reference [RFC3986] that identifies the problem type. This definition was copied from https://datatracker.ietf.org/doc/html/rfc7807
knowledgeModelIdDTO:
title: Knowledge Model Identifier
description: Knowledge Model id and name
type: object
properties:
id:
type: string
description: Unique Identifier of Knowledge Model
example: open-purchase-requisition.purchase-requisition-km
name:
type: string
description: Human understandable text
example: Purchase Requisition KM
filterResultPage:
title: Filter schema result page
type: object
additionalProperties: false
properties:
content:
type: array
items:
$ref: '#/components/schemas/filterDTO'
allOf:
- $ref: '#/components/schemas/schemaResultPage'
kpiSchemaResultPage:
title: KPI schema result page
type: object
additionalProperties: false
properties:
content:
type: array
items:
$ref: '#/components/schemas/kpiDTO'
allOf:
- $ref: '#/components/schemas/schemaResultPage'
authErrorDTO:
title: Authentication Error
type: object
properties:
error:
type: string
kpiDTO:
title: KPI asset definition
description: KPI structure within the knowledge model
type: object
properties:
id:
type: string
description: KPI's Unique identifier
example: AVG_EVENTS_PER_CASE
name:
type: string
description: KPI's display name, a human understandable name
example: Average events per case
description:
type: string
description: KPI's description
example: An average events per case
format:
type: string
example: '#.###'
description: Format to be applied
unit:
type: string
example: euros
description: Unit added to field value
direction:
type: string
example: Up, Down, None
description: Desired trend direction for the KPI progress
target:
type: string
example: any value
description: Default KPI target (Optional)
parameters:
type: array
description: KPI's List of parameters
items:
$ref: '#/components/schemas/kpiParameterItemDTO'
example:
- id: parameter_1
name: My First Parameter
value: '1'
- id: parameter_2
name: My Second Parameter
value: a
- id: parameter_3
name: My Third Parameter
value: '5'
kpiParameterItemDTO:
title: Parameter defined for a Knowledge Model KPI
type: object
properties:
id:
type: string
description: Field identity to use in field list param and filterExpression param
name:
type: string
description: Human understandable text
value:
type: string
description: Initial value for the parameter.
responses:
NotFound:
description: The specified resource was not found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
ServiceUnavailable:
description: Service Unavailable.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
Forbidden:
description: Forbidden.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
Unauthorized:
description: Unauthorized access.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/authErrorDTO'
TooManyRequests:
description: Too Many Requests.
headers:
X-RateLimit-Limit:
description: Request limit per hour.
schema:
type: integer
format: int32
X-RateLimit-Remaining:
description: The number of requests left for the time window.
schema:
type: integer
format: int32
X-RateLimit-Reset:
description: The UTC date/time at which the current rate limit window resets.
schema:
type: string
format: date-time
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
InternalError:
description: Internal Server Error.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
BadRequest:
description: Bad Request.
content:
application/problem+json:
schema:
$ref: '#/components/schemas/errorDTO'
parameters:
singleSortParam:
style: form
explode: false
in: query
name: sort
required: false
description: Defines the strategy to proceed for case insensitive sorting. It must be just one field, and it should start with "+" to apply ASC order or "-" to apply DESC order. Non prefix will sort as ASC. Non existing field at the header will throw an error
schema:
type: string
example:
- -field1
pageParam:
in: query
name: page
required: false
schema:
type: integer
minimum: 0
default: 0
description: The page number of the result, starting by 0 (first page)
pageSizeParam:
in: query
name: pageSize
required: false
schema:
type: integer
minimum: 1
default: 50
description: The number of items returned in a page.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
ApiKeyAuth:
type: apiKey
in: header
name: AppKey