Celonis AI Agent API

Push conversations to Celonis AI agents (agentic process intelligence).

OpenAPI Specification

celonis-agents-ai-openapi.yaml Raw ↑
openapi: 3.0.0
info:
  title: OpenAPI Specification
  description: AI API to chat with Celonis Agents and run their tools.
  x-audience: EX
  version: v1.2.0
security:
  - BearerAuth: []
  - ApiKeyAuth: []
servers:
  - url: https://30f873b4-88d4-49ba-b327-6f651d7b99e6.remockly.com
paths:
  /intelligence/api/ai/agents/{agent_id}/conversations:
    post:
      tags:
        - Agents - Conversation
      operationId: pushConversations
      summary: Post Conversation Message
      description: >-
        Posts a conversation message to an asset, optionally with a conversation
        id.

        Always returns a text response for external use cases.
      parameters:
        - name: agent_id
          in: path
          required: true
          schema:
            type: string
            example: agent
      requestBody:
        description: Message details
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Message'
      responses:
        '200':
          description: Return agent id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChatResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        default:
          $ref: '#/components/responses/DefaultResponse'
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    ApiKeyAuth:
      type: apiKey
      in: header
      name: AppKey
  schemas:
    Problem:
      type: object
      properties:
        type:
          type: string
          format: uri-reference
          description: >
            A URI reference that uniquely identifies the problem type only in
            the context of the provided API. Opposed to the specification in
            RFC-7807, it is not recommended that it be dereferenceable and point
            to a human-readable documentation or be globally unique for the
            problem type.
          default: about:blank
          example: /some/uri-reference
        title:
          type: string
          description: >
            A short summary of the problem type. Written in English and readable
            for engineers. Usually not suited for non technical stakeholders and
            not localized.
          example: some title for the error situation
        status:
          type: integer
          format: int32
          description: >
            The HTTP status code generated by the origin server for this
            occurrence of the problem.
          minimum: 100
          maximum: 600
          exclusiveMaximum: true
        detail:
          type: string
          description: >
            A human readable explanation specific to this occurrence of the
            problem that is helpful to locate the problem and give advice on how
            to proceed. Written in English and readable for engineers. Usually
            not suited for non technical stakeholders and not localized.
          example: some description for the error situation
        instance:
          type: string
          format: uri-reference
          description: >
            A URI reference that identifies the specific occurrence of the
            problem, e.g. by adding a fragment identifier or sub-path to the
            problem type. May be used to locate the root of this problem in the
            source code.
          example: /some/uri-reference#specific-occurrence-context
    ChatResponse:
      title: ChatResponse
      description: Hits conversations of an specific agent
      type: object
      properties:
        conversationId:
          type: string
          description: Conversation identifier
          example: abc-def-ghi-etc
        text:
          type: string
          description: Text from Chat
          example: this is an example
        structuredOutput:
          type: object
          additionalProperties: true
          nullable: true
          description: >
            This field is intended for machine-to-machine communication. The
            structure  is dynamic and defined by the JSON schema configured
            within the specific  agent’s settings. This field will only be
            present if a schema is defined  for the agent and the LLM
            successfully populates it based on the  conversation context. If no
            schema is configured, or if the agent provides  a purely
            conversational response, this field will be omitted.
    Message:
      title: Message chat
      type: object
      additionalProperties: false
      properties:
        message:
          type: string
        conversationId:
          type: string
      required:
        - message
  responses:
    BadRequest:
      description: Bad Request.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Unauthorized:
      description: Unauthorized access.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Forbidden:
      description: Forbidden.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    NotFound:
      description: The specified resource was not found
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    Conflict:
      description: Conflict.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    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/Problem'
    InternalError:
      description: Internal Server Error.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    ServiceUnavailable:
      description: Service Unavailable.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'
    DefaultResponse:
      description: Default error
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Problem'