openapi: 3.0.1 info: title: Klu Actions Sessions API description: 'REST API for the Klu (klu.ai) LLM app platform. The Klu Engine runs Actions - each encapsulating a prompt template, model config, context (RAG), and output parsing - against input variables to generate completions, and manages the data, feedback, sessions, models, apps, and workspaces around them. Authentication is via a Bearer API key obtained from the workspace API Keys settings. NOTE - Endpoints under the Actions, Context, and Apps/Workspaces paths reflect the publicly documented Klu API reference and SDK surface. Where the public docs document a capability via the SDK but do not publish the exact REST path, this spec models the conventional resource path used by the Klu Engine; see review.yml for which operations are documented verbatim versus inferred from the SDK.' termsOfService: https://klu.ai/terms contact: name: Klu Support url: https://help.klu.ai/ version: '1.0' servers: - url: https://api.klu.ai/v1 description: Klu Engine production API security: - bearerAuth: [] tags: - name: Sessions description: Session memory for multi-turn conversations. paths: /sessions: post: operationId: createSession tags: - Sessions summary: Create a session description: Creates a session used to store and retrieve memory across Action generations. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSessionRequest' responses: '200': description: Session created. content: application/json: schema: $ref: '#/components/schemas/Session' '401': $ref: '#/components/responses/Unauthorized' /sessions/{guid}: get: operationId: getSession tags: - Sessions summary: Get a session parameters: - $ref: '#/components/parameters/Guid' responses: '200': description: Session. content: application/json: schema: $ref: '#/components/schemas/Session' '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' parameters: Guid: name: guid in: path required: true description: GUID of the resource. schema: type: string schemas: CreateSessionRequest: type: object properties: action: type: string description: GUID of the Action this session is associated with. name: type: string Session: type: object properties: guid: type: string action: type: string name: type: string Error: type: object properties: error: type: string message: type: string securitySchemes: bearerAuth: type: http scheme: bearer description: Klu API key passed as a Bearer token in the Authorization header.