openapi: 3.1.0 info: title: Fleet-RLM Lite API version: 0.8.1 paths: /setup/status: get: tags: - setup summary: Status description: Return current readiness without triggering provider checks. operationId: status_setup_status_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SetupStatus' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/config: delete: tags: - setup summary: Discard Config description: Discard unsaved edits without changing the saved dotenv file. operationId: discard_config_setup_config_delete responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SetupStatus' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] patch: tags: - setup summary: Edit Config description: Stage candidate edits without persisting them. operationId: edit_config_setup_config_patch requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigEdit' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SetupStatus' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/save: post: tags: - setup summary: Save description: Explicitly persist validated edits to the launch project dotenv file. operationId: save_setup_save_post responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SetupStatus' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/verify: post: tags: - setup summary: Verify description: Start read-only checks for all required service sections. operationId: verify_setup_verify_post requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifyRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OperationStarted' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/daytona/volumes: get: tags: - setup summary: Volumes description: List workspace Volumes using server credentials. operationId: volumes_setup_daytona_volumes_get responses: '200': description: Successful Response content: application/json: schema: items: $ref: '#/components/schemas/VolumeInfo' type: array title: Response Volumes Setup Daytona Volumes Get '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] post: tags: - setup summary: Create Volume description: Start explicit creation of a persistent provider Volume. operationId: create_volume_setup_daytona_volumes_post requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateVolume' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OperationStarted' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/daytona/snapshot/build: post: tags: - setup summary: Build description: Start explicit snapshot construction from the packaged recipe. operationId: build_setup_daytona_snapshot_build_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Action' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OperationStarted' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/daytona/snapshot/activate: post: tags: - setup summary: Activate description: Activate an existing provider snapshot without rebuilding it. operationId: activate_setup_daytona_snapshot_activate_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Action' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OperationStarted' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/models/test: post: tags: - setup summary: Model Test description: Start an optional small, potentially billed model request. operationId: model_test_setup_models_test_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Action' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/OperationStarted' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /setup/operations/{operation_id}/events: get: tags: - setup summary: Operation Events description: Replay retained progress and stream until one terminal outcome. operationId: operation_events_setup_operations__operation_id__events_get security: - HTTPBearer: [] parameters: - name: operation_id in: path required: true schema: type: string title: Operation Id - name: after in: query required: false schema: type: integer minimum: 0 default: 0 title: After responses: '200': description: Successful Response content: text/event-stream: itemSchema: type: object properties: data: type: string event: type: string id: type: string retry: type: integer minimum: 0 '401': description: Operator token required content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: text/event-stream: schema: $ref: '#/components/schemas/SetupError' /setup/apply: post: tags: - setup summary: Apply description: Fence new Turns and request a restart only when existing work is idle. operationId: apply_setup_apply_post responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ApplyResult' '401': description: Operator token required content: application/json: schema: $ref: '#/components/schemas/SetupError' '403': description: Loopback connection required content: application/json: schema: $ref: '#/components/schemas/SetupError' '404': description: Setup or operation unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' '409': description: Operation or configuration conflict content: application/json: schema: $ref: '#/components/schemas/SetupError' '422': description: Invalid setup request content: application/json: schema: $ref: '#/components/schemas/SetupError' '503': description: Provider unavailable content: application/json: schema: $ref: '#/components/schemas/SetupError' security: - HTTPBearer: [] /health: get: tags: - health summary: Health operationId: health_health_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Health' /sessions: get: tags: - sessions summary: List Sessions description: List stored Sessions with their update times and Turn counts. operationId: list_sessions_sessions_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Sessions' /models: get: tags: - sessions summary: List Models description: 'List the chat models in a discovery scope. An invalid scope or missing Gateway credentials returns 422.' operationId: list_models_models_get parameters: - name: scope in: query required: false schema: type: string default: system.ai title: Scope responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Models' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}: delete: tags: - sessions summary: Evict Session description: 'Stop a Session''s sandbox and release its runtime; stored history is kept. Returns 404 when this process holds no runtime for the Session, and 409 while a Turn is running.' operationId: evict_session_sessions__session_id__delete parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Deleted' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/config: get: tags: - sessions summary: Session Config description: Describe a Session's mode, models, context, configuration, and limits. operationId: session_config_sessions__session_id__config_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionConfig' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/model: put: tags: - sessions summary: Select Model description: 'Bind a model to a role, persist it, and swap in a new engine. Returns 409 while a Turn holds the Session lock.' operationId: select_model_sessions__session_id__model_put parameters: - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModelRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ModelSelection' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/mode: get: tags: - sessions summary: Get Mode description: Return a Session's current execution mode. operationId: get_mode_sessions__session_id__mode_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Mode' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - sessions summary: Set Mode description: 'Persist a new execution mode and apply it to the Session runtime. The current context is saved with the mode.' operationId: set_mode_sessions__session_id__mode_put parameters: - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ModeRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Mode' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/history: get: tags: - sessions summary: Get History description: Return a Session's stored Turns without claiming its runtime lease. operationId: get_history_sessions__session_id__history_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/History' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/turns/{turn_id}: get: tags: - sessions summary: Turn Status description: 'Return one durable Turn status, or 404 when the Turn is unknown. A Turn stored before provenance existed stays readable; its result is labelled `pre-provenance` rather than being rejected or backfilled. A Turn with recorded deadline policy but incomplete snapshot fields is `unresolved`; all six snapshot fields must be present for `recorded` provenance.' operationId: turn_status_sessions__session_id__turns__turn_id__get parameters: - name: session_id in: path required: true schema: type: string title: Session Id - name: turn_id in: path required: true schema: type: string title: Turn Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/TurnStatus' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/context: put: tags: - sessions summary: Select Context description: 'Select a workspace file as the Session''s context and persist it. The response reports the file''s size and SHA-256 digest.' operationId: select_context_sessions__session_id__context_put parameters: - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContextRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/ContextSelected' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - sessions summary: Clear Context description: Clear the Session's selected context and persist the change. operationId: clear_context_sessions__session_id__context_delete parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Status' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/workspace/tree: get: tags: - workspace summary: List Files description: List a Session's workspace files and the artifacts among them. operationId: list_files_sessions__session_id__workspace_tree_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Files' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/files: get: tags: - workspace summary: List Files description: List a Session's workspace files and the artifacts among them. operationId: list_files_sessions__session_id__files_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Files' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/workspace/stat/{rel_path}: get: tags: - workspace summary: Workspace Stat description: Return the size and SHA-256 digest of one workspace file. operationId: workspace_stat_sessions__session_id__workspace_stat__rel_path__get parameters: - name: rel_path in: path required: true schema: type: string title: Rel Path - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileStat' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/workspace/files/{rel_path}: get: tags: - workspace summary: Read Workspace File description: 'Return one workspace file as a download, capped at 25 MB. An unavailable or invalid path returns 404.' operationId: read_workspace_file_sessions__session_id__workspace_files__rel_path__get parameters: - name: rel_path in: path required: true schema: type: string title: Rel Path - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - workspace summary: Write Workspace File description: 'Write one workspace file from text or base64 content, capped at 25 MB. Supplying both or neither of the content fields returns 422.' operationId: write_workspace_file_sessions__session_id__workspace_files__rel_path__put parameters: - name: rel_path in: path required: true schema: type: string title: Rel Path - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/WorkspaceWriteRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/FileWritten' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - workspace summary: Delete Workspace File description: 'Delete one workspace file. Failures return 404.' operationId: delete_workspace_file_sessions__session_id__workspace_files__rel_path__delete parameters: - name: rel_path in: path required: true schema: type: string title: Rel Path - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Deleted' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/attach: post: tags: - workspace summary: Attach File description: 'Store an uploaded attachment under files/ in the workspace. Uploads stream to disk and return 413 above the size limit.' operationId: attach_file_sessions__session_id__attach_post parameters: - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: multipart/form-data: schema: $ref: '#/components/schemas/Body_attach_file_sessions__session_id__attach_post' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Attached' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/memory: get: tags: - memory summary: List Memory description: List a Session's memory entries that match an optional query. operationId: list_memory_sessions__session_id__memory_get parameters: - name: session_id in: path required: true schema: type: string title: Session Id - name: q in: query required: false schema: type: string default: '' title: Q responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Memories' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/memory/{memory_id}: put: tags: - memory summary: Put Memory description: Save one memory entry under the given ID. operationId: put_memory_sessions__session_id__memory__memory_id__put parameters: - name: memory_id in: path required: true schema: type: string title: Memory Id - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/MemoryRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MemorySaved' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' delete: tags: - memory summary: Remove Memory description: Delete one memory entry by ID. operationId: remove_memory_sessions__session_id__memory__memory_id__delete parameters: - name: memory_id in: path required: true schema: type: string title: Memory Id - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Deleted' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /skills: get: tags: - skills summary: Get Skills Catalog description: Sync local Skills to the Session's volume and return the catalog XML. operationId: get_skills_catalog_skills_get parameters: - name: session_id in: query required: false schema: type: string default: default title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Catalog' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /skills/pull: post: tags: - skills summary: Pull Skills To Local description: Export the Session's volume Skills to local storage. operationId: pull_skills_to_local_skills_pull_post parameters: - name: session_id in: query required: false schema: type: string default: default title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Exported' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /skills/push: post: tags: - skills summary: Push Skills description: Push local Skills to the Session's volume and return the count. operationId: push_skills_skills_push_post parameters: - name: session_id in: query required: false schema: type: string default: default title: Session Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Pushed' '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /sessions/{session_id}/turn: post: tags: - turns summary: Stream Turn description: 'Run one Turn and stream its activity as Server-Sent Events. The stream ends with one outcome event followed by the terminal `done` envelope when `run_turn` reached it; a worker that stops earlier still closes the stream with one terminal event. A client disconnect cancels a Turn without an observed outcome; after an outcome it preserves the completed Turn''s warm root. The Session stays locked until sandbox work has drained.' operationId: stream_turn_sessions__session_id__turn_post parameters: - name: session_id in: path required: true schema: type: string title: Session Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TurnRequest' responses: '200': description: Server-Sent Events for Turn status, activity, completion, or failure. content: text/event-stream: itemSchema: type: object properties: data: type: string event: type: string id: type: string retry: type: integer minimum: 0 schema: type: string '409': description: A Turn or workspace change holds the Session lock; retry when it completes '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' components: schemas: Action: properties: request_id: type: string maxLength: 128 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ title: Request Id additionalProperties: false type: object required: - request_id title: Action description: Client request identity used to avoid replaying a setup operation. ApplyResult: properties: restart_required: type: boolean title: Restart Required type: object required: - restart_required title: ApplyResult description: Request for the owning launcher to restart with saved configuration. Attached: properties: mounted_path: type: string title: Mounted Path rel_path: type: string title: Rel Path type: object required: - mounted_path - rel_path title: Attached description: Location of an uploaded attachment in the workspace and the sandbox. Body_attach_file_sessions__session_id__attach_post: properties: file: type: string contentMediaType: application/octet-stream title: File type: object required: - file title: Body_attach_file_sessions__session_id__attach_post Catalog: properties: catalog_xml: type: string title: Catalog Xml type: object required: - catalog_xml title: Catalog description: Session Skill catalog rendered as XML. ConfigEdit: properties: values: additionalProperties: type: string format: password writeOnly: true type: object maxProperties: 40 title: Values additionalProperties: false type: object required: - values title: ConfigEdit description: Masked candidate values; responses never echo submitted credentials. ContextRequest: properties: path: type: string maxLength: 1024 minLength: 1 title: Path description: type: string maxLength: 2000 title: Description default: '' additionalProperties: false type: object required: - path title: ContextRequest description: Workspace file to select as the Session's context. ContextSelected: properties: path: type: string title: Path size_bytes: type: integer title: Size Bytes sha256: type: string title: Sha256 type: object required: - path - size_bytes - sha256 title: ContextSelected description: Workspace file recorded as the Session's context, with its size and digest. CreateVolume: properties: request_id: type: string maxLength: 128 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ title: Request Id name: type: string maxLength: 63 minLength: 1 pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$ title: Name additionalProperties: false type: object required: - request_id - name title: CreateVolume description: Explicit request for a newly named workspace Volume. Deleted: properties: deleted: type: string title: Deleted type: object required: - deleted title: Deleted description: Acknowledgement of a deleted memory entry or workspace file. Exported: properties: exported: items: type: string type: array title: Exported type: object required: - exported title: Exported description: Skills exported from the Session's volume to local storage. FileStat: properties: path: type: string title: Path size_bytes: type: integer title: Size Bytes sha256: type: string title: Sha256 type: object required: - path - size_bytes - sha256 title: FileStat description: Size and SHA-256 digest of one workspace file. FileWritten: properties: path: type: string title: Path size_bytes: type: integer title: Size Bytes sha256: type: string title: Sha256 mounted_path: type: string title: Mounted Path type: object required: - path - size_bytes - sha256 - mounted_path title: FileWritten description: Result of a workspace write, including the sandbox mounted path. Files: properties: session_id: type: string title: Session Id files: items: type: string type: array title: Files artifacts: items: type: string type: array title: Artifacts type: object required: - session_id - files - artifacts title: Files description: Workspace file paths for one Session, with the artifacts among them. HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError Health: properties: status: type: string title: Status version: type: string title: Version mlflow: anyOf: - $ref: '#/components/schemas/MlflowHealth' - type: 'null' type: object required: - status - version - mlflow title: Health description: Service status, version, and effective MLflow destination. History: properties: session_id: type: string title: Session Id turns: items: additionalProperties: true type: object type: array title: Turns type: object required: - session_id - turns title: History description: Stored Turn records for one Session. Limits: properties: lm_calls: type: integer title: Lm Calls depth: type: integer title: Depth children: type: integer title: Children active_children: type: integer title: Active Children timeout_seconds: type: integer title: Timeout Seconds type: object required: - lm_calls - depth - children - active_children - timeout_seconds title: Limits description: Execution limits the sandbox manager enforces for one Session. Memories: properties: memories: items: additionalProperties: true type: object type: array title: Memories type: object required: - memories title: Memories description: Memory entries matching a Session memory query. MemoryRequest: properties: content: type: string maxLength: 10000 minLength: 1 title: Content kind: type: string pattern: ^(observation|preference|hypothesis|procedure)$ title: Kind default: observation sources: additionalProperties: type: string type: object maxProperties: 100 title: Sources reviewed: type: boolean title: Reviewed default: false additionalProperties: false type: object required: - content title: MemoryRequest description: Memory entry to save, with its kind, sources, and review state. MemorySaved: properties: memory_id: type: string title: Memory Id type: object required: - memory_id title: MemorySaved description: Acknowledgement of a saved memory entry. MlflowHealth: properties: mode: type: string enum: - local - databricks title: Mode tracking_uri: type: string title: Tracking Uri workspace_host: anyOf: - type: string - type: 'null' title: Workspace Host experiment_name: type: string title: Experiment Name eval_experiment_name: type: string title: Eval Experiment Name optimization_experiment_name: type: string title: Optimization Experiment Name trace_location: anyOf: - $ref: '#/components/schemas/MlflowTraceLocation' - type: 'null' experiment_id: anyOf: - type: string - type: 'null' title: Experiment Id ready: type: boolean title: Ready type: object required: - mode - tracking_uri - experiment_name - eval_experiment_name - optimization_experiment_name - ready title: MlflowHealth description: Non-secret, initialized tracking destination for process reuse checks. MlflowTraceLocation: properties: catalog: type: string title: Catalog schema: type: string title: Schema table_prefix: type: string title: Table Prefix type: object required: - catalog - schema - table_prefix title: MlflowTraceLocation description: Unity Catalog location associated with the runtime experiment. Mode: properties: mode: type: string title: Mode type: object required: - mode title: Mode description: Execution mode of one Session. ModeRequest: properties: mode: type: string pattern: ^(rlm|flex|hybrid)$ title: Mode additionalProperties: false type: object required: - mode title: ModeRequest description: Request to switch a Session's execution mode to rlm, flex, or hybrid. ModelRequest: properties: role: type: string pattern: ^(root|sub)$ title: Role default: root model: type: string maxLength: 300 minLength: 1 pattern: ^openai/[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_.-]+$ title: Model additionalProperties: false type: object required: - model title: ModelRequest description: Model to bind to the root or sub role of a Session's engine. ModelSelection: properties: role: type: string title: Role model: type: string title: Model type: object required: - role - model title: ModelSelection description: Model bound to one role after a successful selection. Models: properties: scope: type: string title: Scope models: items: type: string type: array title: Models type: object required: - scope - models title: Models description: Chat models available in one discovery scope. OperationStarted: properties: operation_id: type: string title: Operation Id type: object required: - operation_id title: OperationStarted description: Identity of a background operation whose progress can be reconnected. Pushed: properties: pushed: type: integer title: Pushed type: object required: - pushed title: Pushed description: Count of local Skills pushed to the Session's volume. SessionConfig: properties: mode: type: string title: Mode models: additionalProperties: type: string type: object title: Models context: anyOf: - additionalProperties: true type: object - type: 'null' title: Context configuration: additionalProperties: true type: object title: Configuration limits: $ref: '#/components/schemas/Limits' type: object required: - mode - models - context - configuration - limits title: SessionConfig description: Effective mode, models, context, configuration, and limits of one Session. SessionSummary: properties: session_id: type: string title: Session Id updated_at: type: string format: date-time title: Updated At turn_count: type: integer title: Turn Count type: object required: - session_id - updated_at - turn_count title: SessionSummary description: One stored Session with its last update time and Turn count. Sessions: properties: sessions: items: $ref: '#/components/schemas/SessionSummary' type: array title: Sessions type: object required: - sessions title: Sessions description: Listing of every stored Session. SetupError: properties: detail: type: string title: Detail type: object required: - detail title: SetupError description: Sanitized operator-facing error; credential inputs are never returned. SetupField: properties: name: type: string title: Name section: type: string title: Section secret: type: boolean title: Secret configured: type: boolean title: Configured value: anyOf: - type: string - type: 'null' title: Value source: type: string title: Source editable: type: boolean title: Editable type: object required: - name - section - secret - configured - value - source - editable title: SetupField description: One sanitized editable field and its effective source. SetupStatus: properties: backend: type: string title: Backend snapshot_name: type: string title: Snapshot Name env_path: type: string title: Env Path fields: items: $ref: '#/components/schemas/SetupField' type: array title: Fields checks: additionalProperties: true type: object title: Checks errors: items: type: string type: array title: Errors dirty: type: boolean title: Dirty busy: type: boolean title: Busy ready: type: boolean title: Ready restart_required: type: boolean title: Restart Required type: object required: - backend - snapshot_name - env_path - fields - checks - errors - dirty - busy - ready - restart_required title: SetupStatus description: Readiness and redacted configuration for the operator checklist. Status: properties: status: type: string title: Status type: object required: - status title: Status description: Plain status acknowledgement, such as a cleared context. TurnRequest: properties: task: type: string maxLength: 100000 minLength: 1 title: Task idempotency_key: anyOf: - type: string maxLength: 128 - type: 'null' title: Idempotency Key record_replay: type: boolean title: Record Replay description: Persist a bounded immutable snapshot of this Turn's inputs for explicitly reviewed GEPA data. default: false timeout_seconds: anyOf: - type: integer - type: 'null' title: Timeout Seconds description: Fleet deadline for this Turn in seconds. Omitted or null inherits the configured value; 0 disables the Fleet deadline; otherwise the value must be 10..3600. additionalProperties: false type: object required: - task title: TurnRequest description: User prompt sent to one Session's Fleet engine. TurnStatus: properties: turn_id: type: string title: Turn Id status: type: string title: Status result: additionalProperties: true type: object title: Result updated_at: type: string title: Updated At type: object required: - turn_id - status - result - updated_at title: TurnStatus description: Recorded status and result of one Turn. ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError VerifyRequest: properties: request_id: type: string maxLength: 128 minLength: 1 pattern: ^[a-zA-Z0-9_-]+$ title: Request Id sections: items: type: string enum: - models - database - mlflow - daytona type: array maxItems: 4 minItems: 1 title: Sections additionalProperties: false type: object required: - request_id title: VerifyRequest description: Recheck all services or selected sections without changing provider state. VolumeInfo: properties: id: type: string title: Id name: type: string title: Name state: type: string title: State default: unknown type: object required: - id - name title: VolumeInfo description: Safe provider identity of a workspace Volume. WorkspaceWriteRequest: properties: content: anyOf: - type: string maxLength: 25000000 - type: 'null' title: Content content_base64: anyOf: - type: string maxLength: 34000000 - type: 'null' title: Content Base64 additionalProperties: false type: object title: WorkspaceWriteRequest description: File content for a workspace write, as text or base64; supply exactly one. securitySchemes: HTTPBearer: type: http scheme: bearer