{"openapi":"3.0.3","info":{"title":"ResearchX Frontend API","version":"0.1.0","description":"OpenAPI document for frontend-consumable ResearchX APIs. This registry intentionally focuses on routes used by the web app."},"servers":[{"url":"/","description":"Current ResearchX deployment"}],"tags":[{"name":"admin"},{"name":"auth"},{"name":"projects"},{"name":"conversations"},{"name":"scheduled-tasks"},{"name":"chat"},{"name":"catalogs"},{"name":"files"},{"name":"workspace-files"},{"name":"agents"},{"name":"container"},{"name":"mcp"},{"name":"models"},{"name":"integrations"},{"name":"search"}],"paths":{"/api/admin/overview":{"get":{"tags":["admin"],"summary":"Get admin overview metrics","operationId":"getAdminOverview","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminOverviewData"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminOverview"]}},"/api/admin/users":{"get":{"tags":["admin"],"summary":"List system users","operationId":"listAdminUsers","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"page_size","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserListItem"}},"page":{"type":"integer"},"page_size":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["items","page","page_size","total","total_pages"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminUsers"]},"post":{"tags":["admin"],"summary":"Create a system user","operationId":"createAdminUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string","maxLength":32},"name":{"type":"string"},"role":{"type":"string","enum":["admin","user"]},"status":{"type":"string","enum":["active","disabled"]}},"required":["email","password"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/AdminUserListItem"}},"required":["user"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createAdminUser"]}},"/api/admin/users/{userId}":{"patch":{"tags":["admin"],"summary":"Update role, status, password, or login lock for a system user","operationId":"updateAdminUser","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["admin","user"]},"status":{"type":"string","enum":["active","disabled"]},"unlock_login":{"type":"boolean","enum":[true]},"new_password":{"type":"string","maxLength":32}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"user":{"$ref":"#/components/schemas/AdminUserListItem"}},"required":["user"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminUserRole","updateAdminUserStatus","updateAdminUserLoginLock","updateAdminUserPassword","updateAdminUser"]}},"/api/admin/settings/container-mounts/pvcs":{"get":{"tags":["admin"],"summary":"List PVCs available for Kubernetes container mounts","operationId":"listAdminContainerMountPvcs","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerMountPvcList"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminContainerMountPvcs"]}},"/api/admin/settings/container-mounts/pvcs/validate-subpath":{"post":{"tags":["admin"],"summary":"Validate that a PVC subPath exists","operationId":"validateAdminContainerMountPvcSubPath","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"pvc_name":{"type":"string"},"pvc_sub_path":{"type":"string"}},"required":["pvc_name"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerMountPvcSubPathValidation"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["validateAdminContainerMountPvcSubPath"]}},"/api/admin/users/{userId}/deletion-impact":{"get":{"tags":["admin"],"summary":"Get the impact and available strategies for deleting a system user","operationId":"getAdminUserDeletionImpact","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminUserDeletionImpact"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminUserDeletionImpact"]}},"/api/admin/users/{userId}/delete":{"post":{"tags":["admin"],"summary":"Execute a user deletion strategy","operationId":"executeAdminUserDelete","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"strategy":{"type":"string","enum":["disable","transfer_then_delete","purge_then_delete"]},"transfer_owner_to_user_id":{"type":"string"}},"required":["strategy"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminUserDeleteResult"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["executeAdminUserDelete"]}},"/api/admin/settings/registration":{"get":{"tags":["admin"],"summary":"Get public registration settings","operationId":"getAdminRegistrationSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/RegistrationSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminRegistrationSettings"]},"patch":{"tags":["admin"],"summary":"Update public registration settings","operationId":"updateAdminRegistrationSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"allow_public_registration":{"type":"boolean"}},"required":["allow_public_registration"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/RegistrationSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminRegistrationSettings"]}},"/api/admin/settings/public-bootstrap-chat":{"get":{"tags":["admin"],"summary":"Get public bootstrap chat settings","operationId":"getAdminPublicBootstrapChatSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/PublicBootstrapChatSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminPublicBootstrapChatSettings"]},"patch":{"tags":["admin"],"summary":"Update public bootstrap chat settings","operationId":"updateAdminPublicBootstrapChatSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"allow_public_bootstrap_chat":{"type":"boolean"}},"required":["allow_public_bootstrap_chat"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/PublicBootstrapChatSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminPublicBootstrapChatSettings"]}},"/api/admin/settings/altcha":{"get":{"tags":["admin"],"summary":"Get system ALTCHA login protection settings","operationId":"getAdminAltchaSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminAltchaSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminAltchaSettings"]},"patch":{"tags":["admin"],"summary":"Update system ALTCHA login protection settings","operationId":"updateAdminAltchaSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"hmac_key":{"type":"string","nullable":true},"expires_ms":{"type":"integer"},"max_number":{"type":"integer"}},"required":["enabled"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminAltchaSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminAltchaSettings"]}},"/api/admin/settings/web-search":{"get":{"tags":["admin"],"summary":"Get system web search settings","operationId":"getAdminWebSearchSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminWebSearchSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminWebSearchSettings"]},"patch":{"tags":["admin"],"summary":"Update system web search settings","operationId":"updateAdminWebSearchSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"provider":{"type":"string","enum":["tavily"]},"api_key":{"type":"string","nullable":true},"base_url":{"type":"string"},"timeout_ms":{"type":"integer"},"max_results":{"type":"integer"},"allow_user_keys":{"type":"boolean"},"rate_limit_count":{"type":"integer"},"rate_limit_window_sec":{"type":"integer"}},"required":["enabled"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminWebSearchSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminWebSearchSettings"]}},"/api/admin/settings/container-mounts":{"get":{"tags":["admin"],"summary":"Get shared container mount settings","operationId":"getAdminContainerMountSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerMountSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminContainerMountSettings"]},"patch":{"tags":["admin"],"summary":"Update shared container mount settings","operationId":"updateAdminContainerMountSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mounts":{"type":"array","items":{"$ref":"#/components/schemas/AdminContainerMountSetting"}}},"required":["mounts"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerMountSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminContainerMountSettings"]}},"/api/admin/settings/container-builds":{"get":{"tags":["admin"],"summary":"Get system container build settings","operationId":"getAdminContainerBuildSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerBuildSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminContainerBuildSettings"]},"patch":{"tags":["admin"],"summary":"Update system container build settings","operationId":"updateAdminContainerBuildSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"enabled":{"type":"boolean"},"builder_type":{"type":"string","enum":["docker_host"]},"max_concurrent_builds":{"type":"integer"},"allow_network_during_build":{"type":"boolean"},"max_build_timeout_sec":{"type":"integer"},"max_context_size_mb":{"type":"integer"}},"required":["enabled"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminContainerBuildSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminContainerBuildSettings"]}},"/api/admin/settings/web-search/events":{"get":{"tags":["admin"],"summary":"List recent system web search audit events","operationId":"listAdminWebSearchEvents","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/WebSearchAuditEvent"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminWebSearchEvents"]}},"/api/admin/settings/web-search/test":{"post":{"tags":["admin"],"summary":"Test system web search connectivity","operationId":"testAdminWebSearchSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"result":{"type":"object","properties":{"message":{"type":"string"}},"required":["message"],"additionalProperties":false}},"required":["result"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testAdminWebSearchSettings"]}},"/api/auth/me/web-search":{"get":{"tags":["auth"],"summary":"Get the current user's web search settings","operationId":"getMyWebSearchSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/MyWebSearchSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getMyWebSearchSettings"]},"patch":{"tags":["auth"],"summary":"Update the current user's personal web search API key","operationId":"updateMyWebSearchSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"api_key":{"type":"string","nullable":true}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/MyWebSearchSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateMyWebSearchSettings"]}},"/api/auth/me/token-usage":{"get":{"tags":["auth"],"summary":"Get the current user's token usage summary and events","operationId":"getMyTokenUsage","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"project_id","in":"query","schema":{"type":"string"}},{"name":"group_by","in":"query","schema":{"type":"string","enum":["day","month","project","model","source","provider"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/TokenUsageResponse"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getMyTokenUsage"]}},"/api/admin/token-usage":{"get":{"tags":["admin"],"summary":"Get token usage totals grouped by user","operationId":"getAdminTokenUsageByUser","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"project_id","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AdminTokenUsageByUserResponse"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminTokenUsageByUser"]}},"/api/admin/projects":{"get":{"tags":["admin"],"summary":"List projects for admins","operationId":"listAdminProjects","parameters":[{"name":"q","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string","enum":["active","archived"]}},{"name":"sort","in":"query","schema":{"type":"string","enum":["recent","name"]}},{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"page_size","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminProjectListItem"}},"page":{"type":"integer"},"page_size":{"type":"integer"},"total":{"type":"integer"}},"required":["items","page","page_size","total"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminProjects"]}},"/api/admin/projects/{projectId}":{"delete":{"tags":["admin"],"summary":"Delete a project as an admin","operationId":"deleteAdminProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project_id":{"type":"string"},"deleted":{"type":"boolean"}},"required":["project_id","deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteAdminProject"]}},"/api/admin/projects/{projectId}/showcase":{"patch":{"tags":["admin"],"summary":"Publish or hide a project from the public showcase","operationId":"updateAdminProjectShowcase","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"showcase_enabled":{"type":"boolean"}},"required":["showcase_enabled"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project_id":{"type":"string"},"showcase_enabled":{"type":"boolean"},"showcase_enabled_at":{"type":"string","format":"date-time","nullable":true}},"required":["project_id","showcase_enabled","showcase_enabled_at"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminProjectShowcase"]}},"/api/admin/asset-repositories":{"get":{"tags":["admin"],"summary":"List grouped admin asset repositories","operationId":"listAdminAssetRepositories","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"repositories":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["repositories"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminAssetRepositories"]},"post":{"tags":["admin"],"summary":"Create and sync a grouped admin asset repository","operationId":"createAdminAssetRepository","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"branch":{"type":"string"}},"required":["name","url"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"repositories":{"type":"array","items":{"type":"object","properties":{"repository":{"type":"object","additionalProperties":true},"assets":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["repository","assets"],"additionalProperties":false}}},"required":["repositories"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createAdminAssetRepository"]}},"/api/admin/asset-repositories/{repositoryId}/sync":{"post":{"tags":["admin"],"summary":"Sync a grouped admin asset repository","operationId":"syncAdminAssetRepository","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"repository":{"type":"object","additionalProperties":true},"assets":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["repository","assets"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["syncAdminAssetRepository"]}},"/api/admin/asset-repositories/{repositoryId}":{"delete":{"tags":["admin"],"summary":"Delete a grouped admin asset repository","operationId":"deleteAdminAssetRepository","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"repository_id":{"type":"string"}},"required":["deleted","repository_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteAdminAssetRepository"]},"patch":{"tags":["admin"],"summary":"Rename an asset repository","operationId":"renameAdminAssetRepository","parameters":[{"name":"repositoryId","in":"path","required":true,"description":"Repository identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["renameAdminAssetRepository"]}},"/api/admin/asset-repositories/{repositoryId}/assets/{assetId}":{"get":{"tags":["admin"],"summary":"Read an asset definition or entry file","operationId":"readAdminAssetFile","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}},{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}},{"name":"file","in":"query","schema":{"type":"string","enum":["definition","entry"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/AdminAssetFileDocument"}},"required":["document"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["readAdminAssetFile"]},"put":{"tags":["admin"],"summary":"Update an asset definition or entry file","operationId":"updateAdminAssetFile","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}},{"name":"assetId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"file":{"type":"string","enum":["definition","entry"]},"content":{"type":"string"}},"required":["file","content"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"document":{"$ref":"#/components/schemas/AdminAssetFileDocument"}},"required":["document"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminAssetFile"]},"delete":{"tags":["admin"],"summary":"Delete an asset from a repository","operationId":"deleteAdminAssetRepositoryAsset","parameters":[{"name":"repositoryId","in":"path","required":true,"description":"Repository identifier","schema":{"type":"string"}},{"name":"assetId","in":"path","required":true,"description":"Asset identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteAdminAssetRepositoryAsset"]}},"/api/admin/skill-repositories":{"get":{"tags":["admin"],"summary":"List global skill repositories","operationId":"listGlobalSkillRepositories","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listGlobalSkillRepositories"]},"post":{"tags":["admin"],"summary":"Create and sync a global skill repository","operationId":"createGlobalSkillRepository","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"},"branch":{"type":"string"}},"required":["name","url"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"repository":{"type":"object","additionalProperties":true},"skills":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["repository","skills"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createGlobalSkillRepository"]}},"/api/admin/skill-repositories/{repositoryId}/sync":{"post":{"tags":["admin"],"summary":"Sync a global skill repository","operationId":"syncGlobalSkillRepository","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"repository":{"type":"object","additionalProperties":true},"skills":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["repository","skills"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["syncGlobalSkillRepository"]}},"/api/admin/skill-repositories/{repositoryId}":{"delete":{"tags":["admin"],"summary":"Delete a global skill repository","operationId":"deleteGlobalSkillRepository","parameters":[{"name":"repositoryId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"repository_id":{"type":"string"}},"required":["deleted","repository_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteGlobalSkillRepository"]}},"/api/admin/skills/{skillId}":{"delete":{"tags":["admin"],"summary":"Delete a global skill","operationId":"deleteGlobalSkill","parameters":[{"name":"skillId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"skill_id":{"type":"string"}},"required":["deleted","skill_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteGlobalSkill"]}},"/api/admin/container-builds":{"get":{"tags":["admin"],"summary":"List container builds across all projects","operationId":"listAdminContainerBuilds","parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["queued","running","succeeded","failed","cancelled"]}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}},{"name":"cursor","in":"query","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminContainerBuilds"]}},"/api/admin/container-builds/{buildId}/logs":{"get":{"tags":["admin"],"summary":"Get logs for a container build","operationId":"getAdminContainerBuildLogs","parameters":[{"name":"buildId","in":"path","required":true,"schema":{"type":"string"}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectContainerBuildLogEntry"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminContainerBuildLogs"]}},"/api/admin/container-builds/{buildId}/cancel":{"post":{"tags":["admin"],"summary":"Request cancellation for a container build","operationId":"cancelAdminContainerBuild","parameters":[{"name":"buildId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["cancelAdminContainerBuild"]}},"/api/admin/container-builds/{buildId}":{"delete":{"tags":["admin"],"summary":"Delete a container build record","operationId":"deleteAdminContainerBuild","parameters":[{"name":"buildId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteAdminContainerBuild"]}},"/api/auth/register":{"get":{"tags":["auth"],"summary":"Get registration settings","operationId":"getRegistrationSettings","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/RegistrationSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getRegistrationSettings"]},"post":{"tags":["auth"],"summary":"Register a new user","operationId":"registerUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","maxLength":32},"name":{"type":"string"}},"required":["email","password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"token":{"type":"string"},"user":{"$ref":"#/components/schemas/AuthUserProfile"}},"required":["token","user"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["registerUser"]}},"/api/auth/login":{"post":{"tags":["auth"],"summary":"Log in","operationId":"loginUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","maxLength":32},"altcha":{"type":"string"},"remember_me":{"type":"boolean"}},"required":["email","password"],"additionalProperties":false}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"token":{"type":"string"},"user":{"$ref":"#/components/schemas/AuthUserProfile"}},"required":["token","user"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["loginUser"]}},"/api/auth/me":{"get":{"tags":["auth"],"summary":"Get current user profile","operationId":"getMe","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AuthUserProfile"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getMe"]},"patch":{"tags":["auth"],"summary":"Update current user profile","operationId":"updateCurrentUser","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"name":{"type":"string"},"current_password":{"type":"string","maxLength":32},"new_password":{"type":"string","maxLength":32}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AuthUserProfile"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateCurrentUser"]}},"/api/auth/logout":{"post":{"tags":["auth"],"summary":"Log out current user","operationId":"logoutUser","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"logged_out":{"type":"boolean"}},"required":["logged_out"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["logoutUser"]}},"/api/projects":{"get":{"tags":["projects"],"summary":"List projects available to the current user","operationId":"listProjects","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1}},{"name":"page_size","in":"query","schema":{"type":"integer","minimum":1,"maximum":100}},{"name":"status","in":"query","schema":{"type":"string","enum":["active","archived"]}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"sort","in":"query","schema":{"type":"string","enum":["recent","name"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectListItem"}},"page":{"type":"integer"},"page_size":{"type":"integer"},"total":{"type":"integer"}},"required":["items","page","page_size","total"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true},"post":{"tags":["projects"],"summary":"Create a project","operationId":"createProject","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"research_domain":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"mode":{"type":"string","enum":["standard","dev"]},"agent_auto_run":{"type":"boolean"}},"required":["name"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ProjectDetail"},"membership":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"}},"required":["id","role"],"additionalProperties":false}},"required":["project","membership"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}":{"get":{"tags":["projects"],"summary":"Get project detail","operationId":"getProjectDetail","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ProjectDetail"},"membership":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"}},"required":["id","role"],"additionalProperties":false},"custom_instructions":{"type":"string"}},"required":["project","membership","custom_instructions"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectDetail"]},"patch":{"tags":["projects"],"summary":"Update project settings or appearance","operationId":"updateProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"description":{"type":"string"},"research_domain":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"container_cpu_count":{"type":"integer","nullable":true},"container_memory_mb":{"type":"integer","nullable":true},"container_gpu_count":{"type":"integer","nullable":true},"container_gpu_driver":{"type":"string","nullable":true},"container_gpu_memory_gb":{"type":"integer","nullable":true}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ProjectDetail"}},"required":["project"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectSettings"]},"delete":{"tags":["projects"],"summary":"Delete a project","operationId":"deleteProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project_id":{"type":"string"},"deleted":{"type":"boolean"}},"required":["project_id","deleted"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProject"]}},"/api/public/showcase/projects":{"get":{"tags":["projects"],"summary":"List public showcase projects","operationId":"listShowcaseProjects","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ShowcaseProjectListItem"}}},"required":["items"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listShowcaseProjects"]}},"/api/public/showcase/projects/{projectId}":{"get":{"tags":["projects"],"summary":"Get public showcase project detail","operationId":"getShowcaseProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project":{"$ref":"#/components/schemas/ShowcaseProjectDetail"}},"required":["project"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getShowcaseProject"]}},"/api/public/showcase/projects/{projectId}/conversations":{"get":{"tags":["projects"],"summary":"List public showcase conversations for a project","operationId":"listShowcaseConversations","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ShowcaseConversationListItem"}}},"required":["items"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listShowcaseConversations"]}},"/api/public/showcase/projects/{projectId}/conversations/{conversationId}/messages":{"get":{"tags":["projects"],"summary":"List public showcase messages for a conversation","operationId":"listShowcaseMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ShowcaseMessageListItem"}}},"required":["items"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listShowcaseMessages"]}},"/api/public/showcase/projects/{projectId}/files":{"get":{"tags":["projects"],"summary":"List public showcase files for a project","operationId":"listShowcaseFiles","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ShowcaseFileListItem"}}},"required":["items"],"additionalProperties":false}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listShowcaseFiles"]}},"/api/projects/{projectId}/members":{"get":{"tags":["projects"],"summary":"List project members","operationId":"listProjectMembers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMember"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectMembers"]},"post":{"tags":["projects"],"summary":"Add a project member","operationId":"addProjectMember","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"type":"string","format":"email"},"user_id":{"type":"string"},"role":{"type":"string","enum":["owner","manager","editor","viewer"]}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"member":{"$ref":"#/components/schemas/ProjectMember"}},"required":["member"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["addProjectMember"]}},"/api/projects/{projectId}/members/{memberId}":{"patch":{"tags":["projects"],"summary":"Update project member role","operationId":"updateProjectMemberRole","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"memberId","in":"path","required":true,"description":"Project member identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"role":{"type":"string","enum":["owner","manager","editor","viewer"]}},"required":["role"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"member":{"$ref":"#/components/schemas/ProjectMember"}},"required":["member"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectMemberRole"]},"delete":{"tags":["projects"],"summary":"Remove a project member","operationId":"removeProjectMember","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"memberId","in":"path","required":true,"description":"Project member identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"removed":{"type":"boolean"}},"required":["removed"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["removeProjectMember"]}},"/api/projects/{projectId}/conversations":{"get":{"tags":["conversations"],"summary":"List project conversations","operationId":"listConversations","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}},{"name":"kinds","in":"query","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/Conversation"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listConversations"]},"post":{"tags":["conversations"],"summary":"Create a conversation","operationId":"createConversation","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"model_id":{"type":"string","nullable":true}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation"}},"required":["conversation"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createConversation"]},"delete":{"tags":["conversations"],"summary":"Delete all project conversations","operationId":"deleteAllProjectConversations","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"deleted_count":{"type":"integer"}},"required":["deleted","deleted_count"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteAllProjectConversations"]}},"/api/projects/{projectId}/conversations/{conversationId}":{"get":{"tags":["conversations"],"summary":"Get a conversation","operationId":"getConversation","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation"}},"required":["conversation"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getConversation"]},"patch":{"tags":["conversations"],"summary":"Update conversation metadata","operationId":"updateConversation","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"title":{"type":"string"},"pinned":{"type":"boolean"},"model_id":{"type":"string","nullable":true}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"conversation":{"$ref":"#/components/schemas/Conversation"}},"required":["conversation"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["renameConversation","setConversationPinned","setConversationModel"]},"delete":{"tags":["conversations"],"summary":"Delete a conversation","operationId":"deleteConversation","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteConversation"]}},"/api/projects/{projectId}/conversations/{conversationId}/messages":{"get":{"tags":["conversations"],"summary":"List conversation messages","operationId":"listMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ChatMessage"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listMessages"]}},"/api/projects/{projectId}/conversations/{conversationId}/branches":{"get":{"tags":["conversations"],"summary":"List conversation branches","operationId":"listConversationBranches","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConversationBranch"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listConversationBranches"]},"post":{"tags":["conversations"],"summary":"Create a conversation branch","operationId":"createConversationBranch","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"source_message_id":{"type":"string"}},"required":["source_message_id"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"branch":{"$ref":"#/components/schemas/ConversationBranch"}},"required":["branch"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createConversationBranch"]}},"/api/projects/{projectId}/conversations/{conversationId}/branches/{branchId}":{"delete":{"tags":["conversations"],"summary":"Delete a conversation branch","operationId":"deleteConversationBranch","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}},{"name":"branchId","in":"path","required":true,"description":"Conversation branch identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteConversationBranch"]}},"/api/projects/{projectId}/conversations/{conversationId}/stop":{"post":{"tags":["conversations"],"summary":"Stop a running conversation stream","operationId":"stopConversationRun","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"stopped":{"type":"boolean"}},"required":["stopped"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["stopConversationRun"]}},"/api/projects/{projectId}/scheduled-tasks":{"get":{"tags":["scheduled-tasks"],"summary":"List scheduled tasks","operationId":"listProjectScheduledTasks","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectScheduledTask"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectScheduledTasks"]},"post":{"tags":["scheduled-tasks"],"summary":"Create a scheduled task","operationId":"createProjectScheduledTask","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"prompt":{"type":"string"},"model_id":{"type":"string","nullable":true},"schedule":{"type":"object"},"timezone":{"type":"string"},"status":{"type":"string","enum":["active","paused"]}},"required":["name","prompt","schedule"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/ProjectScheduledTask"}},"required":["task"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectScheduledTask"]}},"/api/projects/{projectId}/scheduled-tasks/{taskId}":{"patch":{"tags":["scheduled-tasks"],"summary":"Update a scheduled task","operationId":"updateProjectScheduledTask","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Scheduled task identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"prompt":{"type":"string"},"model_id":{"type":"string","nullable":true},"schedule":{"type":"object"},"timezone":{"type":"string"},"status":{"type":"string","enum":["active","paused"]}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"task":{"$ref":"#/components/schemas/ProjectScheduledTask"}},"required":["task"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectScheduledTask"]},"delete":{"tags":["scheduled-tasks"],"summary":"Delete a scheduled task","operationId":"deleteProjectScheduledTask","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Scheduled task identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectScheduledTask"]},"get":{"tags":["scheduled-tasks"],"summary":"Get a scheduled task","operationId":"getProjectScheduledTask","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Scheduled task identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"task":{"type":"object","additionalProperties":true}},"required":["task"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/scheduled-tasks/{taskId}/run-now":{"post":{"tags":["scheduled-tasks"],"summary":"Run a scheduled task immediately","operationId":"runProjectScheduledTaskNow","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Scheduled task identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"run":{"$ref":"#/components/schemas/ProjectScheduledTaskRun"}},"required":["run"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["runProjectScheduledTaskNow"]}},"/api/projects/{projectId}/scheduled-tasks/{taskId}/runs":{"get":{"tags":["scheduled-tasks"],"summary":"List scheduled task run history","operationId":"listProjectScheduledTaskRuns","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"taskId","in":"path","required":true,"description":"Scheduled task identifier","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectScheduledTaskRun"}},"total":{"type":"integer"},"limit":{"type":"integer"},"offset":{"type":"integer"}},"required":["items","total","limit","offset"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectScheduledTaskRuns"]}},"/api/projects/{projectId}/chat":{"post":{"tags":["chat"],"summary":"Start a streaming project chat completion","description":"Returns a server-sent events stream consumed by the workspace chat UI.","operationId":"streamProjectChat","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"conversation_id":{"type":"string"},"branch_id":{"type":"string"},"model_id":{"type":"string"},"agent_tool_confirmation":{"type":"boolean"},"continue_from_last_message":{"type":"boolean"},"edited_from_message_id":{"type":"string"},"edit_in_place":{"type":"boolean"}},"required":["message"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"SSE stream with chat deltas, tool events, and completion metadata.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["streamProjectChat"]}},"/api/public/chat/bootstrap":{"get":{"tags":["chat"],"summary":"Get public bootstrap chat availability","operationId":"getPublicBootstrapChatSettings","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/PublicBootstrapChatSettings"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true},"post":{"tags":["chat"],"summary":"Start a public bootstrap chat session","description":"Returns a server-sent events stream for the public landing page experience.","operationId":"streamPublicBootstrapChat","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"name":{"type":"string"}},"required":["message"],"additionalProperties":false}}}},"responses":{"200":{"description":"SSE stream that yields the bootstrap answer and session bootstrap metadata.","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["streamPublicBootstrapChat"]}},"/api/projects/{projectId}/model-options":{"get":{"tags":["models"],"summary":"List model options available inside a project","operationId":"listProjectModelOptions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ModelOption"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectModelOptions"]}},"/api/projects/{projectId}/skills":{"get":{"tags":["catalogs"],"summary":"List project skills or download selected installed skills","operationId":"listProjectSkills","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","enum":["all","installed"]}},{"name":"download","in":"query","schema":{"type":"string","enum":["1"]}},{"name":"id","in":"query","description":"Repeat `id` to include multiple installed assets in an export archive.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Returns JSON by default, or a ZIP archive when `download=1`.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"installed":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_skill_name":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_skill_name","installed_at","updated_at"],"additionalProperties":true,"nullable":true},"enabled_global":{"type":"object","properties":{"id":{"type":"string"},"global_skill_id":{"type":"string"},"enabled_at":{"type":"string","format":"date-time"}},"required":["id","global_skill_id","enabled_at"],"additionalProperties":true,"nullable":true},"shadowed_by_local":{"type":"boolean"}},"required":["id","name","title","description","installed"],"additionalProperties":true}},"globalSkillsError":{"type":"string","nullable":true}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}},"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectSkills","downloadProjectSkillsArchive"]},"post":{"tags":["catalogs"],"summary":"Install, import, or enable project skills","operationId":"mutateProjectSkills","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"global_skill_id":{"type":"string"},"installed_name":{"type":"string"}},"required":["global_skill_id"]},{"type":"object","properties":{"action":{"type":"string","enum":["enable_global_skill"]},"global_skill_id":{"type":"string"}},"required":["action","global_skill_id"]},{"type":"object","properties":{"action":{"type":"string","enum":["install_repository"]},"repository_id":{"type":"string"}},"required":["action","repository_id"]},{"type":"object","properties":{"action":{"type":"string","enum":["import_from_project"]},"source_project_id":{"type":"string"},"installed_skill_ids":{"type":"array","items":{"type":"string"}}},"required":["action","source_project_id","installed_skill_ids"]}]}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"installed":{"oneOf":[{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_skill_name":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_skill_name","installed_at","updated_at"],"additionalProperties":true},{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_skill_name":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_skill_name","installed_at","updated_at"],"additionalProperties":true}}]},"enabled":{"type":"object","properties":{"id":{"type":"string"},"global_skill_id":{"type":"string"},"enabled_at":{"type":"string","format":"date-time"}},"required":["id","global_skill_id","enabled_at"],"additionalProperties":true},"imported":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_skill_name":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_skill_name","installed_at","updated_at"],"additionalProperties":true}}},"additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["installProjectSkill","enableProjectGlobalSkill","installProjectSkillRepository","importProjectSkillsArchive","importProjectSkillsFromProject"]},"delete":{"tags":["catalogs"],"summary":"Disable a global skill or remove repository-installed skills","operationId":"deleteProjectSkillBatch","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"action":{"type":"string","enum":["disable_global_skill"]},"global_skill_id":{"type":"string"}},"required":["action","global_skill_id"]},{"type":"object","properties":{"repository_id":{"type":"string"}},"required":["repository_id"]}]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"disabled":{"type":"boolean"},"global_skill_id":{"type":"string"},"deleted_installed_skill_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["disableProjectGlobalSkill","deleteProjectSkillRepositoryInstalledSkills"]}},"/api/projects/{projectId}/skills/{installedSkillId}":{"delete":{"tags":["catalogs"],"summary":"Delete an installed project skill","operationId":"deleteProjectInstalledSkill","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedSkillId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"installed_skill_id":{"type":"string"}},"required":["deleted","installed_skill_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectInstalledSkill"]}},"/api/projects/{projectId}/actions":{"get":{"tags":["catalogs"],"summary":"List project actions or download selected installed actions","operationId":"listProjectActions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"download","in":"query","schema":{"type":"string","enum":["1"]}},{"name":"id","in":"query","description":"Repeat `id` to include multiple installed assets in an export archive.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Returns JSON by default, or a ZIP archive when `download=1`.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"executor_type":{"type":"string"},"description":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"source_repository_name":{"type":"string","nullable":true},"runtime_ref":{"type":"string","nullable":true},"runtime_kind":{"type":"string","nullable":true},"container_image":{"type":"string","nullable":true},"definition_path":{"type":"string"},"installed":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_action_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_action_name","installed_at","updated_at"],"additionalProperties":true,"nullable":true}},"required":["id","name","title","executor_type","description","definition_path","installed"],"additionalProperties":true}},"warnings":{"type":"array","items":{"type":"object","properties":{"installed_name":{"type":"string"},"definition_path":{"type":"string"},"message":{"type":"string"}},"required":["installed_name","definition_path","message"],"additionalProperties":false}}},"required":["items","warnings"]}},"required":["ok","data"],"additionalProperties":false}},"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectActions","downloadProjectActionsArchive"]},"post":{"tags":["catalogs"],"summary":"Install or import project actions","operationId":"mutateProjectActions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"action_definition_name":{"type":"string"},"installed_name":{"type":"string"}},"required":["action_definition_name"]},{"type":"object","properties":{"action":{"type":"string","enum":["import_from_project"]},"source_project_id":{"type":"string"},"installed_action_ids":{"type":"array","items":{"type":"string"}}},"required":["action","source_project_id","installed_action_ids"]}]}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"installed":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_action_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_action_name","installed_at","updated_at"],"additionalProperties":true},"imported":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_action_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_action_name","installed_at","updated_at"],"additionalProperties":true}}},"required":["actions"]}},"additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["installProjectAction","importProjectActionsArchive","importProjectActionsFromProject"]},"delete":{"tags":["catalogs"],"summary":"Delete project actions in bulk","operationId":"deleteProjectActions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/actions/{installedActionId}":{"patch":{"tags":["catalogs"],"summary":"Update an installed project action","operationId":"updateProjectInstalledAction","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedActionId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"container_image":{"type":"string","nullable":true}}},{"type":"object","properties":{"prompt_user":{"type":"string"},"prompt_system":{"type":"string","nullable":true},"output_mode":{"type":"string","enum":["json","text"]}},"required":["prompt_user","output_mode"]}]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"installed_action_id":{"type":"string"},"container_image":{"type":"string","nullable":true},"definition_path":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}},"required":["installed_action_id","definition_path","updated_at"],"additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectInstalledActionImage","updateProjectInstalledActionPrompt"]},"delete":{"tags":["catalogs"],"summary":"Delete an installed project action","operationId":"deleteProjectInstalledAction","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedActionId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"installed_action_id":{"type":"string"}},"required":["deleted","installed_action_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectInstalledAction"]}},"/api/projects/{projectId}/agents":{"get":{"tags":["catalogs"],"summary":"List project agents or download selected installed agents","operationId":"listProjectAgentDefinitions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"download","in":"query","schema":{"type":"string","enum":["1"]}},{"name":"id","in":"query","description":"Repeat `id` to include multiple installed assets in an export archive.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Returns JSON by default, or a ZIP archive when `download=1`.","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"task_type":{"type":"string"},"description":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"source_repository_name":{"type":"string","nullable":true},"definition_path":{"type":"string"},"installed":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_agent_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_agent_name","installed_at","updated_at"],"additionalProperties":true,"nullable":true}},"required":["id","name","title","task_type","description","definition_path","installed"],"additionalProperties":true}},"warnings":{"type":"array","items":{"type":"object","properties":{"installed_name":{"type":"string"},"definition_path":{"type":"string"},"message":{"type":"string"}},"required":["installed_name","definition_path","message"],"additionalProperties":false}}},"required":["items","warnings"]}},"required":["ok","data"],"additionalProperties":false}},"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectAgentDefinitions","downloadProjectAgentsArchive"]},"post":{"tags":["catalogs"],"summary":"Install or import project agents","operationId":"mutateProjectAgents","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"agent_definition_name":{"type":"string"},"installed_name":{"type":"string"}},"required":["agent_definition_name"]},{"type":"object","properties":{"action":{"type":"string","enum":["import_from_project"]},"source_project_id":{"type":"string"},"installed_agent_ids":{"type":"array","items":{"type":"string"}}},"required":["action","source_project_id","installed_agent_ids"]}]}},"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"}},"required":["file"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"installed":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_agent_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_agent_name","installed_at","updated_at"],"additionalProperties":true},"imported":{"type":"object","properties":{"agents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_agent_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_agent_name","installed_at","updated_at"],"additionalProperties":true}},"actions":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"installed_name":{"type":"string"},"installed_path":{"type":"string"},"source_action_name":{"type":"string"},"installed_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","installed_name","installed_path","source_action_name","installed_at","updated_at"],"additionalProperties":true}}},"required":["agents","actions"]}},"additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["installProjectAgentDefinition","importProjectAgentsArchive","importProjectAgentsFromProject"]},"delete":{"tags":["catalogs"],"summary":"Delete project agents in bulk","operationId":"deleteProjectAgents","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/agents/{installedAgentId}":{"delete":{"tags":["catalogs"],"summary":"Delete an installed project agent","operationId":"deleteProjectInstalledAgentDefinition","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedAgentId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"installed_agent_id":{"type":"string"}},"required":["deleted","installed_agent_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectInstalledAgentDefinition"]}},"/api/projects/{projectId}/runtimes":{"get":{"tags":["catalogs"],"summary":"List runtime definitions available to a project","operationId":"listProjectRuntimes","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"kind":{"type":"string"},"source_repository_id":{"type":"string","nullable":true},"source_repository_name":{"type":"string","nullable":true},"protocol":{"type":"string","nullable":true},"container_image":{"type":"string","nullable":true},"source":{"type":"string"},"status":{"type":"string"},"definition_path":{"type":"string"},"version":{"type":"integer"},"installed":{"type":"object","additionalProperties":true,"nullable":true}},"required":["id","name","title","kind","source","status","definition_path","version","installed"],"additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectRuntimes"]},"post":{"tags":["catalogs"],"summary":"Install a runtime into a project","operationId":"installProjectRuntime","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"runtime_definition_name":{"type":"string"},"installed_name":{"type":"string"}},"required":["runtime_definition_name"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"installed":{"type":"object","additionalProperties":true}},"required":["installed"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["installProjectRuntime"]}},"/api/projects/{projectId}/runtimes/{installedRuntimeId}":{"delete":{"tags":["catalogs"],"summary":"Delete an installed project runtime","operationId":"deleteProjectInstalledRuntime","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedRuntimeId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"installed_runtime_id":{"type":"string"}},"required":["deleted","installed_runtime_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectInstalledRuntime"]}},"/api/projects/{projectId}/mcp/servers":{"get":{"tags":["mcp"],"summary":"List project MCP servers","operationId":"listProjectMcpServers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMcpServerItem"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectMcpServers"]},"post":{"tags":["mcp"],"summary":"Create a project MCP server","operationId":"createProjectMcpServer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"display_name":{"type":"string"},"description":{"type":"string","nullable":true},"transport":{"type":"string","enum":["streamable_http"]},"url":{"type":"string"},"enabled":{"type":"boolean"},"expose_tools_to_chat":{"type":"boolean"},"expose_resources_to_chat":{"type":"boolean"},"expose_prompts_to_chat":{"type":"boolean"},"allowed_tools":{"type":"array","items":{"type":"string"},"nullable":true},"confirmation_tools":{"type":"array","items":{"type":"string"},"nullable":true},"requires_user_confirmation":{"type":"boolean"},"auth_type":{"type":"string"},"auth_config":{"type":"object","additionalProperties":true,"nullable":true},"connect_timeout_ms":{"type":"integer"},"request_timeout_ms":{"type":"integer"},"cache_ttl_sec":{"type":"integer"}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"server":{"$ref":"#/components/schemas/ProjectMcpServerItem"}},"required":["server"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectMcpServer"]}},"/api/projects/{projectId}/mcp/servers/{serverId}":{"get":{"tags":["mcp"],"summary":"Get one project MCP server","operationId":"getProjectMcpServer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"server":{"$ref":"#/components/schemas/ProjectMcpServerItem"}},"required":["server"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true},"patch":{"tags":["mcp"],"summary":"Update a project MCP server","operationId":"updateProjectMcpServer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"display_name":{"type":"string"},"description":{"type":"string","nullable":true},"transport":{"type":"string","enum":["streamable_http"]},"url":{"type":"string"},"enabled":{"type":"boolean"},"expose_tools_to_chat":{"type":"boolean"},"expose_resources_to_chat":{"type":"boolean"},"expose_prompts_to_chat":{"type":"boolean"},"allowed_tools":{"type":"array","items":{"type":"string"},"nullable":true},"confirmation_tools":{"type":"array","items":{"type":"string"},"nullable":true},"requires_user_confirmation":{"type":"boolean"},"auth_type":{"type":"string"},"auth_config":{"type":"object","additionalProperties":true,"nullable":true},"connect_timeout_ms":{"type":"integer"},"request_timeout_ms":{"type":"integer"},"cache_ttl_sec":{"type":"integer"}},"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"server":{"$ref":"#/components/schemas/ProjectMcpServerItem"}},"required":["server"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectMcpServer"]},"delete":{"tags":["mcp"],"summary":"Delete a project MCP server","operationId":"deleteProjectMcpServer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"},"server_id":{"type":"string"}},"required":["deleted","server_id"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectMcpServer"]}},"/api/projects/{projectId}/mcp/servers/{serverId}/test":{"post":{"tags":["mcp"],"summary":"Test connectivity for a project MCP server","operationId":"testProjectMcpServer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"ok":{"type":"boolean"},"server_info":{"type":"object","additionalProperties":true,"nullable":true},"capabilities":{"type":"object","additionalProperties":true,"nullable":true},"error":{"type":"string","nullable":true}},"required":["ok"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testProjectMcpServer"]}},"/api/projects/{projectId}/mcp/servers/{serverId}/tools":{"get":{"tags":["mcp"],"summary":"List tools discovered from a project MCP server","operationId":"listProjectMcpTools","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"schema":{"type":"string"}},{"name":"refresh","in":"query","schema":{"type":"string","enum":["1","true","yes"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectMcpToolItem"}},"cached":{"type":"boolean"},"fetched_at":{"type":"string","format":"date-time"}},"required":["items","cached","fetched_at"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectMcpTools"]}},"/api/projects/{projectId}/agent-tickets":{"get":{"tags":["agents"],"summary":"List agent tickets","operationId":"listAgentTickets","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversation_id","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AgentTicket"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAgentTickets"]},"post":{"tags":["agents"],"summary":"Create an agent ticket","operationId":"createAgentTicket","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"conversation_id":{"type":"string"},"task_type":{"type":"string"},"title":{"type":"string"},"intent_summary":{"type":"string"},"priority":{"type":"string","enum":["low","normal","high"]},"add_to_conversation":{"type":"boolean"},"input":{"type":"object"}},"required":["task_type","title","intent_summary","input"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"ticket":{"$ref":"#/components/schemas/AgentTicket"},"next_confirmation":{"type":"object","properties":{"agent_definition_id":{"type":"string"},"task_type":{"type":"string"},"title":{"type":"string"},"intent_summary":{"type":"string"},"input":{"type":"object"}},"required":["agent_definition_id","task_type","title","intent_summary","input"],"nullable":true}},"required":["ticket"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createAgentTicket"]}},"/api/projects/{projectId}/agent-tickets/{ticketId}":{"get":{"tags":["agents"],"summary":"Get agent ticket detail","operationId":"getAgentTicketDetail","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"ticketId","in":"path","required":true,"description":"Agent ticket identifier","schema":{"type":"string"}},{"name":"mode","in":"query","schema":{"type":"string","enum":["card","compact","full"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/AgentTicketDetail"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAgentTicketDetail"]}},"/api/projects/{projectId}/agent-tickets/{ticketId}/cancel":{"post":{"tags":["agents"],"summary":"Cancel an agent ticket","operationId":"cancelAgentTicket","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"ticketId","in":"path","required":true,"description":"Agent ticket identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"ticket":{"$ref":"#/components/schemas/AgentTicket"},"latest_run":{"$ref":"#/components/schemas/AgentRun","nullable":true},"events":{"type":"array","items":{"$ref":"#/components/schemas/AgentEvent"}},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/AgentArtifact"}},"action_executions":{"type":"array","items":{"$ref":"#/components/schemas/AgentActionExecution"}},"detail_mode":{"type":"string","enum":["card","compact","full"]},"cancelled":{"type":"boolean"},"cancelled_count":{"type":"integer"}},"required":["ticket","latest_run","events","artifacts","cancelled","cancelled_count"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["cancelAgentTicket"]}},"/api/projects/{projectId}/agent-tickets/stream":{"get":{"tags":["agents"],"summary":"Stream agent ticket events","description":"Returns an SSE stream of agent ticket updates.","operationId":"streamAgentTicketEvents","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"last-event-id","in":"header","required":false,"description":"Last received agent ticket stream event id. Use this to resume after a disconnect.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"SSE stream of agent_ticket events. Each data payload matches AgentTicketStreamEvent.","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/AgentTicketStreamEvent"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["streamAgentTicketEvents"]}},"/api/projects/{projectId}/tool-permission-requests":{"get":{"tags":["agents"],"summary":"List pending and past tool permission requests","operationId":"listToolPermissionRequests","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversation_id","in":"query","schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ToolPermissionRequest"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listToolPermissionRequests"]}},"/api/projects/{projectId}/tool-permission-requests/{requestId}/approve":{"post":{"tags":["agents"],"summary":"Approve a tool permission request","operationId":"approveToolPermissionRequest","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"requestId","in":"path","required":true,"description":"Tool permission request identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"result":{}},"required":["result"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["approveToolPermissionRequest"]}},"/api/projects/{projectId}/tool-permission-requests/{requestId}/deny":{"post":{"tags":["agents"],"summary":"Deny a tool permission request","operationId":"denyToolPermissionRequest","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"requestId","in":"path","required":true,"description":"Tool permission request identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"denied":{"type":"boolean"}},"required":["denied"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["denyToolPermissionRequest"]}},"/api/projects/{projectId}/tool-permission-requests/{requestId}/diff-preview":{"get":{"tags":["agents"],"summary":"Preview a tool permission diff","operationId":"fetchToolPermissionDiffPreview","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"requestId","in":"path","required":true,"description":"Tool permission request identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"tool_name":{"type":"string"},"path":{"type":"string","nullable":true},"request_status":{"type":"string"},"diff":{"type":"object"}},"required":["tool_name","path","request_status","diff"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["fetchToolPermissionDiffPreview"]}},"/api/projects/{projectId}/tool-change-records/{recordId}/revert":{"post":{"tags":["agents"],"summary":"Revert an applied tool change record","operationId":"revertToolChangeRecord","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"recordId","in":"path","required":true,"description":"Tool change record identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"reverted":{"type":"boolean"},"record_id":{"type":"string"},"reverted_at":{"type":"string","format":"date-time"}},"required":["reverted","record_id","reverted_at"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["revertToolChangeRecord"]}},"/api/projects/{projectId}/container/status":{"get":{"tags":["container"],"summary":"Get project container status","operationId":"getContainerStatus","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/ContainerStatusResponse"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getContainerStatus"]}},"/api/projects/{projectId}/container/options":{"get":{"tags":["container"],"summary":"Get project container image options","operationId":"getContainerOptions","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/ContainerOptionsResponse"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getContainerOptions"]}},"/api/projects/{projectId}/container/enable":{"post":{"tags":["container"],"summary":"Enable project container support","operationId":"enableContainer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"image":{"type":"string"},"container_cpu_count":{"type":"integer","nullable":true},"container_memory_mb":{"type":"integer","nullable":true},"container_gpu_count":{"type":"integer","nullable":true},"container_gpu_driver":{"type":"string","nullable":true},"container_gpu_memory_gb":{"type":"integer","nullable":true}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Container enabled","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"nullable":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["enableContainer"]}},"/api/projects/{projectId}/container/disable":{"post":{"tags":["container"],"summary":"Disable project container support","operationId":"disableContainer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Container disabled","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"nullable":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["disableContainer"]}},"/api/projects/{projectId}/container/start":{"post":{"tags":["container"],"summary":"Start project container","operationId":"startContainer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Container started","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"nullable":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["startContainer"]}},"/api/projects/{projectId}/container/stop":{"post":{"tags":["container"],"summary":"Stop project container","operationId":"stopContainer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Container stopped","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"nullable":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["stopContainer"]}},"/api/projects/{projectId}/container/events":{"get":{"tags":["container"],"summary":"List recent project container events","operationId":"getContainerEvents","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}},{"name":"before","in":"query","schema":{"type":"string","format":"date-time"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"$ref":"#/components/schemas/ContainerEventItem"}}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getContainerEvents"]}},"/api/projects/{projectId}/container-builds":{"get":{"tags":["container"],"summary":"List project container builds","operationId":"listProjectContainerBuilds","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectContainerBuildRecord"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectContainerBuilds"]},"post":{"tags":["container"],"summary":"Create a project container build","operationId":"createProjectContainerBuildRequest","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"context_path":{"type":"string"},"dockerfile":{"type":"string"},"dockerignore":{"type":"string","nullable":true},"requested_image_name":{"type":"string","nullable":true}},"required":["dockerfile"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"build_id":{"type":"string"},"status":{"type":"string"}},"required":["build_id","status"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectContainerBuildRequest"]}},"/api/projects/{projectId}/container-builds/draft":{"post":{"tags":["container"],"summary":"Generate or validate a container build draft","operationId":"createProjectContainerBuildDraft","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string","enum":["generate","validate"]},"model_id":{"type":"string"},"prompt":{"type":"string"},"dockerfile":{"type":"string"},"dockerignore":{"type":"string","nullable":true}},"required":["mode"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectContainerBuildDraft"]}},"/api/projects/{projectId}/container-builds/{buildId}/logs":{"get":{"tags":["container"],"summary":"Get logs for a project container build","operationId":"getProjectContainerBuildLogs","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}},{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectContainerBuildLogEntry"}},"nextCursor":{"type":"string","nullable":true}},"required":["items","nextCursor"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectContainerBuildLogs"]}},"/api/projects/{projectId}/container-builds/{buildId}":{"patch":{"tags":["container"],"summary":"Update a project container build","operationId":"updateProjectContainerBuild","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"requested_image_name":{"type":"string","nullable":true}}}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"$ref":"#/components/schemas/ProjectContainerBuildRecord"}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectContainerBuild"]},"delete":{"tags":["container"],"summary":"Delete a project container build","operationId":"deleteProjectContainerBuild","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectContainerBuild"]},"get":{"tags":["container"],"summary":"Get a project container build","operationId":"getProjectContainerBuild","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectContainerBuild"]}},"/api/projects/{projectId}/container-builds/{buildId}/cancel":{"post":{"tags":["container"],"summary":"Request cancellation for a project container build","operationId":"cancelProjectContainerBuild","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"accepted":{"type":"boolean"}},"required":["accepted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["cancelProjectContainerBuild"]}},"/api/projects/{projectId}/container-builds/{buildId}/set-project-image":{"post":{"tags":["container"],"summary":"Apply a successful build image to the project container","operationId":"setProjectContainerImageFromBuild","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"buildId","in":"path","required":true,"description":"Container build identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"project_id":{"type":"string"},"image_ref":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}},"required":["project_id","image_ref","updated_at"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["setProjectContainerImageFromBuild"]}},"/api/models":{"get":{"tags":["models"],"summary":"List models available to the current user","operationId":"listProjectModels","parameters":[{"name":"scope","in":"query","schema":{"type":"string","enum":["public","personal"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectModelListItem"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectModels"]},"post":{"tags":["models"],"summary":"Create a model configuration","operationId":"createProjectModel","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string"},"config":{"type":"object"},"scope":{"type":"string","enum":["public","personal"]}},"required":["name","config"]}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/ProjectModelListItem"}},"required":["model"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectModel"]}},"/api/models/{modelId}":{"patch":{"tags":["models"],"summary":"Update a model configuration","operationId":"updateProjectModel","parameters":[{"name":"modelId","in":"path","required":true,"description":"Model identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"model":{"$ref":"#/components/schemas/ProjectModelListItem"}},"required":["model"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectModel"]},"delete":{"tags":["models"],"summary":"Delete a model configuration","operationId":"deleteProjectModel","parameters":[{"name":"modelId","in":"path","required":true,"description":"Model identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"deleted":{"type":"boolean"}},"required":["deleted"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectModel"]}},"/api/models/test":{"post":{"tags":["models"],"summary":"Test a model configuration","operationId":"testProjectModel","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"result":{"type":"object"}},"required":["result"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testProjectModel"]}},"/api/workspace/events/stream":{"get":{"tags":["workspace"],"summary":"Stream user workspace events","operationId":"streamWorkspaceEvents","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"SSE stream","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["streamWorkspaceEvents"]}},"/api/auth/altcha":{"get":{"tags":["auth"],"summary":"Get ALTCHA public settings","operationId":"getAltchaSettings","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAltchaSettings"]}},"/api/auth/altcha/challenge":{"get":{"tags":["auth"],"summary":"Create an ALTCHA challenge","operationId":"getAltchaChallenge","responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/auth/me/preferences":{"patch":{"tags":["auth"],"summary":"Update current user preferences","operationId":"updateCurrentUserPreferences","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateCurrentUserPreferences"]}},"/api/auth/me/wallet":{"get":{"tags":["auth"],"summary":"Get current user wallet","operationId":"getCurrentUserWallet","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getCurrentUserWallet"]}},"/api/admin/settings/retrieval-memory":{"get":{"tags":["admin"],"summary":"Get retrieval memory settings","operationId":"getAdminRetrievalMemorySettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminRetrievalMemorySettings"]},"patch":{"tags":["admin"],"summary":"Update retrieval memory settings","operationId":"updateAdminRetrievalMemorySettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminRetrievalMemorySettings"]}},"/api/admin/settings/retrieval-memory/test":{"post":{"tags":["admin"],"summary":"Test retrieval memory settings","operationId":"testAdminRetrievalMemorySettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testAdminRetrievalMemorySettings"]}},"/api/admin/settings/persistent-containers":{"get":{"tags":["admin"],"summary":"Get persistent container settings","operationId":"getAdminPersistentContainerSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminPersistentContainerSettings"]},"patch":{"tags":["admin"],"summary":"Update persistent container settings","operationId":"updateAdminPersistentContainerSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminPersistentContainerSettings"]}},"/api/admin/settings/resource-quotas/global":{"get":{"tags":["admin"],"summary":"Get global resource quota settings","operationId":"getAdminResourceQuotaSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminResourceQuotaSettings"]},"patch":{"tags":["admin"],"summary":"Update global resource quota settings","operationId":"updateAdminResourceQuotaSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminResourceQuotaSettings"]}},"/api/admin/settings/resource-quotas/running-containers":{"get":{"tags":["admin"],"summary":"List running project containers","operationId":"listAdminRunningContainers","parameters":[{"name":"page","in":"query","description":"Page number","schema":{"type":"string"}},{"name":"page_size","in":"query","description":"Items per page","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminRunningContainers"]}},"/api/admin/settings/resource-quotas/running-containers/{projectId}/stop":{"post":{"tags":["admin"],"summary":"Stop a running project container as admin","operationId":"stopAdminRunningContainer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["stopAdminRunningContainer"]}},"/api/admin/settings/execution-platform":{"get":{"tags":["admin"],"summary":"Get execution platform settings","operationId":"getAdminExecutionPlatformSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminExecutionPlatformSettings"]}},"/api/admin/users/{userId}/wallet":{"get":{"tags":["admin"],"summary":"Get a user wallet as admin","operationId":"getAdminUserWallet","parameters":[{"name":"userId","in":"path","required":true,"description":"User identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminUserWallet"]},"patch":{"tags":["admin"],"summary":"Update a user wallet as admin","operationId":"updateAdminUserWallet","parameters":[{"name":"userId","in":"path","required":true,"description":"User identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminUserWallet"]},"post":{"tags":["admin"],"summary":"Create a user wallet ledger entry as admin","operationId":"createAdminUserWalletLedgerEntry","parameters":[{"name":"userId","in":"path","required":true,"description":"User identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createAdminUserWalletLedgerEntry"]}},"/api/admin/assistants":{"get":{"tags":["admin"],"summary":"List admin assistant configurations","operationId":"listAdminAssistants","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminAssistants"]},"post":{"tags":["admin"],"summary":"Import admin assistant configurations","operationId":"importAdminAssistants","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["importAdminAssistants"]}},"/api/admin/assistants/{configId}/review":{"post":{"tags":["admin"],"summary":"Review an assistant configuration","operationId":"reviewAdminAssistant","parameters":[{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["reviewAdminAssistant"]}},"/api/admin/assistants/{configId}/pin":{"post":{"tags":["admin"],"summary":"Pin or unpin an assistant configuration","operationId":"pinAdminAssistant","parameters":[{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["pinAdminAssistant"]}},"/api/admin/assistants/{configId}/order":{"post":{"tags":["admin"],"summary":"Update assistant ordering","operationId":"orderAdminAssistant","parameters":[{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["orderAdminAssistant"]}},"/api/admin/settings/global-chat-prompt":{"get":{"tags":["admin"],"summary":"Get global chat prompt settings","operationId":"getAdminGlobalChatPromptSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminGlobalChatPromptSettings"]},"patch":{"tags":["admin"],"summary":"Update global chat prompt settings","operationId":"updateAdminGlobalChatPromptSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminGlobalChatPromptSettings"]}},"/api/admin/settings/builtin-runtime":{"get":{"tags":["admin"],"summary":"Get builtin runtime resource settings","operationId":"getAdminBuiltinRuntimeSettings","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAdminBuiltinRuntimeResourceSettings"]},"patch":{"tags":["admin"],"summary":"Update builtin runtime resource settings","operationId":"updateAdminBuiltinRuntimeSettings","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateAdminBuiltinRuntimeResourceSettings"]}},"/api/admin/skills/{skillId}/enabled":{"post":{"tags":["admin"],"summary":"Enable a global skill","operationId":"enableGlobalSkill","parameters":[{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["enableGlobalSkill"]},"delete":{"tags":["admin"],"summary":"Disable a global skill","operationId":"disableGlobalSkill","parameters":[{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["disableGlobalSkill"]}},"/api/admin/skills/{skillId}/files":{"get":{"tags":["admin"],"summary":"List global skill source files","operationId":"listAdminSkillFiles","parameters":[{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminSkillSourceFiles"]}},"/api/admin/skills/{skillId}/content":{"get":{"tags":["admin"],"summary":"Get global skill source file content","operationId":"getAdminSkillFileContent","parameters":[{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}},{"name":"path","in":"query","description":"Skill source file path.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["fetchAdminSkillSourceFileContent"]}},"/api/admin/agents/{agentId}/enabled":{"post":{"tags":["admin"],"summary":"Enable a global agent","operationId":"enableGlobalAgent","parameters":[{"name":"agentId","in":"path","required":true,"description":"Global agent identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["enableGlobalAgent"]},"delete":{"tags":["admin"],"summary":"Disable a global agent","operationId":"disableGlobalAgent","parameters":[{"name":"agentId","in":"path","required":true,"description":"Global agent identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["disableGlobalAgent"]}},"/api/admin/projects/{projectId}/skills":{"get":{"tags":["admin"],"summary":"List project skills as admin","operationId":"listAdminProjectSkills","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminProjectSkills"]}},"/api/admin/projects/{projectId}/agents":{"get":{"tags":["admin"],"summary":"List project agents as admin","operationId":"listAdminProjectAgents","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminProjectAgents"]}},"/api/admin/projects/{projectId}/visualizers":{"get":{"tags":["admin"],"summary":"List project visualizers as admin","operationId":"listAdminProjectVisualizers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAdminProjectVisualizers"]}},"/api/projects/{projectId}/resource-quota":{"get":{"tags":["projects"],"summary":"Get project resource quota","operationId":"getProjectResourceQuota","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectResourceQuota"]},"patch":{"tags":["projects"],"summary":"Update project resource quota","operationId":"updateProjectResourceQuota","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectResourceQuota"]}},"/api/projects/{projectId}/storage-quota":{"get":{"tags":["projects"],"summary":"Get project storage quota","operationId":"getProjectStorageQuota","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectStorageQuota"]},"patch":{"tags":["projects"],"summary":"Update project storage quota","operationId":"updateProjectStorageQuota","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectStorageQuota"]},"delete":{"tags":["projects"],"summary":"Reset project storage quota","operationId":"resetProjectStorageQuota","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["resetProjectStorageQuota"]}},"/api/projects/{projectId}/memory":{"get":{"tags":["projects"],"summary":"List project memory entries","operationId":"listProjectMemory","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectMemory"]},"delete":{"tags":["projects"],"summary":"Clear project memory entries","operationId":"clearProjectMemory","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["clearProjectMemory"]}},"/api/projects/{projectId}/memory/{memoryId}":{"delete":{"tags":["projects"],"summary":"Delete a project memory entry","operationId":"deleteProjectMemory","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"memoryId","in":"path","required":true,"description":"Project memory identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectMemory"]}},"/api/projects/{projectId}/saved-configs":{"get":{"tags":["projects"],"summary":"List saved project configurations","operationId":"listSavedProjectConfigs","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listSavedProjectConfigs"]},"post":{"tags":["projects"],"summary":"Create a saved project configuration","operationId":"createSavedProjectConfig","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createSavedProjectConfig","importSavedProjectConfigs"]}},"/api/projects/{projectId}/saved-configs/{configId}":{"patch":{"tags":["projects"],"summary":"Update a saved project configuration","operationId":"updateSavedProjectConfig","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateSavedProjectConfig"]},"delete":{"tags":["projects"],"summary":"Delete a saved project configuration","operationId":"deleteSavedProjectConfig","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteSavedProjectConfig"]}},"/api/projects/{projectId}/saved-configs/{configId}/share":{"post":{"tags":["projects"],"summary":"Share a saved project configuration","operationId":"shareSavedProjectConfig","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"configId","in":"path","required":true,"description":"Saved configuration identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["shareSavedProjectConfig"]}},"/api/projects/{projectId}/saved-configs/apply":{"post":{"tags":["projects"],"summary":"Apply a saved project configuration","operationId":"applySavedProjectConfig","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["applySavedProjectConfig"]}},"/api/projects/{projectId}/models":{"get":{"tags":["models"],"summary":"List project models","operationId":"listProjectScopedModels","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectModels"]},"post":{"tags":["models"],"summary":"Create a project model","operationId":"createProjectScopedModel","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectModel"]}},"/api/projects/{projectId}/models/{modelId}":{"patch":{"tags":["models"],"summary":"Update a project model","operationId":"updateProjectScopedModel","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"modelId","in":"path","required":true,"description":"Model identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectModel"]},"delete":{"tags":["models"],"summary":"Delete a project model","operationId":"deleteProjectScopedModel","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"modelId","in":"path","required":true,"description":"Model identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectModel"]}},"/api/models/available":{"post":{"tags":["models"],"summary":"List available provider models","operationId":"listAvailableProviderModels","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listAvailableProviderModels"]}},"/api/projects/conversation-run-status":{"post":{"tags":["conversations"],"summary":"Get conversation run statuses","description":"Checks compact running-state snapshots for conversations across projects the user can access.","operationId":"getConversationRunStatuses","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"items":{"type":"array","maxItems":500,"items":{"type":"object","properties":{"project_id":{"type":"string"},"conversation_id":{"type":"string"}},"required":["project_id","conversation_id"],"additionalProperties":false}}},"required":["items"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","properties":{"conversation_id":{"type":"string"},"is_running":{"type":"boolean"}},"required":["conversation_id","is_running"],"additionalProperties":false}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getConversationRunStatuses"]}},"/api/projects/{projectId}/conversation-question-requests":{"get":{"tags":["agents"],"summary":"List pending conversation question requests","operationId":"listConversationQuestionRequests","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversation_id","in":"query","description":"Conversation identifier.","schema":{"type":"string"}},{"name":"status","in":"query","description":"Question request status filter.","schema":{"type":"string","enum":["pending","answered","rejected"]}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionRequest"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listConversationQuestionRequests"]}},"/api/projects/{projectId}/conversation-question-requests/{requestId}/answer":{"post":{"tags":["agents"],"summary":"Answer a conversation question request","operationId":"answerConversationQuestionRequest","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"requestId","in":"path","required":true,"description":"Conversation question request identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"answers":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionAnswer"}}},"required":["answers"],"additionalProperties":false}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"answered":{"type":"boolean"},"message_id":{"type":"string","nullable":true},"continue_from_last_message":{"type":"boolean"}},"required":["answered","message_id","continue_from_last_message"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["answerConversationQuestionRequest"]}},"/api/projects/{projectId}/conversation-question-requests/{requestId}/reject":{"post":{"tags":["agents"],"summary":"Reject a conversation question request","operationId":"rejectConversationQuestionRequest","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"requestId","in":"path","required":true,"description":"Conversation question request identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"rejected":{"type":"boolean"}},"required":["rejected"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["rejectConversationQuestionRequest"]}},"/api/projects/{projectId}/conversations/{conversationId}/assistant-session":{"get":{"tags":["conversations"],"summary":"Get conversation assistant session","operationId":"getConversationAssistantSession","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getConversationAssistantSession"]},"post":{"tags":["conversations"],"summary":"Create, switch, or exit a conversation assistant session","operationId":"updateConversationAssistantSession","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["enterConversationAssistantSession","exitConversationAssistantSession"]}},"/api/projects/{projectId}/conversations/{conversationId}/stream":{"get":{"tags":["conversations"],"summary":"Stream conversation events","operationId":"streamConversation","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"SSE stream","content":{"text/event-stream":{"schema":{"type":"string"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/external-bindings":{"get":{"tags":["integrations"],"summary":"List project external channel bindings","operationId":"listProjectExternalBindings","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"provider","in":"query","description":"External channel provider","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectExternalBindings"]}},"/api/external-bindings/active":{"get":{"tags":["integrations"],"summary":"Get active external binding","operationId":"getActiveExternalBinding","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getActiveExternalBinding"]}},"/api/external-channels/{provider}/active-project":{"get":{"tags":["integrations"],"summary":"Get active project for an external channel","operationId":"getActiveExternalChannelProject","parameters":[{"name":"provider","in":"path","required":true,"description":"External channel provider","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getActiveExternalChannelProject"]},"patch":{"tags":["integrations"],"summary":"Update active project for an external channel","operationId":"updateActiveExternalChannelProject","parameters":[{"name":"provider","in":"path","required":true,"description":"External channel provider","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateActiveExternalChannelProject"]}},"/api/projects/{projectId}/external-bindings/{bindingId}/switch-project":{"post":{"tags":["integrations"],"summary":"Switch an external binding to another project","operationId":"switchExternalBindingProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"bindingId","in":"path","required":true,"description":"External binding identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["switchExternalBindingProject"]}},"/api/projects/{projectId}/integrations/feishu":{"get":{"tags":["integrations"],"summary":"Get project feishu integration","operationId":"getProjectFeishuIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectFeishuIntegration"]},"post":{"tags":["integrations"],"summary":"Connect project feishu integration","operationId":"connectProjectFeishuIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["connectProjectFeishuIntegration"]},"patch":{"tags":["integrations"],"summary":"Update project feishu integration","operationId":"updateProjectFeishuIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectFeishuIntegration"]}},"/api/projects/{projectId}/integrations/feishu/test":{"post":{"tags":["integrations"],"summary":"Test project feishu integration","operationId":"testProjectFeishuIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testProjectFeishuIntegration"]}},"/api/projects/{projectId}/integrations/feishu/runtime":{"post":{"tags":["integrations"],"summary":"Sync project feishu runtime","operationId":"syncProjectFeishuRuntime","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["syncProjectFeishuRuntime"]}},"/api/projects/{projectId}/integrations/weixin":{"get":{"tags":["integrations"],"summary":"Get project weixin integration","operationId":"getProjectWeixinIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectWeixinIntegration"]},"post":{"tags":["integrations"],"summary":"Connect project weixin integration","operationId":"connectProjectWeixinIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["connectProjectWeixinIntegration"]},"patch":{"tags":["integrations"],"summary":"Update project weixin integration","operationId":"updateProjectWeixinIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectWeixinIntegration"]}},"/api/projects/{projectId}/integrations/weixin/test":{"post":{"tags":["integrations"],"summary":"Test project weixin integration","operationId":"testProjectWeixinIntegration","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["testProjectWeixinIntegration"]}},"/api/projects/{projectId}/integrations/weixin/runtime":{"post":{"tags":["integrations"],"summary":"Sync project weixin runtime","operationId":"syncProjectWeixinRuntime","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["syncProjectWeixinRuntime"]}},"/api/projects/{projectId}/integrations/weixin/login/start":{"post":{"tags":["integrations"],"summary":"Start project Weixin login","operationId":"startProjectWeixinLogin","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["startProjectWeixinLogin"]}},"/api/projects/{projectId}/integrations/weixin/login/wait":{"post":{"tags":["integrations"],"summary":"Wait for project Weixin login","operationId":"waitProjectWeixinLogin","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["waitProjectWeixinLogin"]}},"/api/projects/{projectId}/agent-tickets/details":{"post":{"tags":["agents"],"summary":"Get multiple agent ticket details","operationId":"getAgentTicketDetails","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AgentTicketDetail"}},"errors":{"type":"array","items":{"type":"object","properties":{"ticket_id":{"type":"string"},"code":{"type":"string"},"message":{"type":"string"}},"required":["ticket_id","code","message"],"additionalProperties":false}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getAgentTicketDetails"]}},"/api/projects/{projectId}/agent-workspace":{"get":{"tags":["workspace-files"],"summary":"List or search local workspace entries","operationId":"listAgentWorkspaceEntries","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"path","in":"query","description":"Workspace directory path.","schema":{"type":"string"}},{"name":"query","in":"query","description":"Search query.","schema":{"type":"string"}},{"name":"max_depth","in":"query","description":"Maximum directory depth.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of search results.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/ProjectLocalWorkspaceEntry"}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectLocalWorkspace","searchProjectLocalWorkspace"]},"post":{"tags":["workspace-files"],"summary":"Upload or import local workspace entries","operationId":"uploadOrImportAgentWorkspaceEntry","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":true}},"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["uploadProjectLocalWorkspaceFile","importProjectLocalWorkspaceFileFromProject"]},"put":{"tags":["workspace-files"],"summary":"Create a local workspace folder","operationId":"createAgentWorkspaceFolder","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["createProjectLocalWorkspaceFolder"]},"patch":{"tags":["workspace-files"],"summary":"Rename or move a local workspace entry","operationId":"updateAgentWorkspaceEntry","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["renameProjectLocalWorkspaceEntry","moveProjectLocalWorkspaceEntry"]},"delete":{"tags":["workspace-files"],"summary":"Delete local workspace entries","operationId":"deleteAgentWorkspaceEntry","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteProjectLocalWorkspaceEntry","deleteAllProjectLocalWorkspaceEntries"]}},"/api/projects/{projectId}/agent-workspace/content":{"get":{"tags":["workspace-files"],"summary":"Get local workspace file content","operationId":"getAgentWorkspaceFileContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"path","in":"query","description":"Workspace file path.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["fetchProjectLocalWorkspaceFileContent"]},"put":{"tags":["workspace-files"],"summary":"Update local workspace file content","operationId":"updateAgentWorkspaceFileContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectLocalWorkspaceFileContent"]}},"/api/projects/{projectId}/agent-workspace/download":{"get":{"tags":["workspace-files"],"summary":"Download a local workspace file","operationId":"downloadAgentWorkspaceFile","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"path","in":"query","description":"Workspace file path.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"File response","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["downloadProjectLocalWorkspaceFile"]}},"/api/projects/{projectId}/skills/global/{skillId}/files":{"get":{"tags":["catalogs"],"summary":"List project-enabled global skill files","operationId":"listProjectGlobalSkillFiles","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectGlobalSkillFiles"]}},"/api/projects/{projectId}/skills/global/{skillId}/content":{"get":{"tags":["catalogs"],"summary":"Get project-enabled global skill file content","operationId":"getProjectGlobalSkillFileContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"skillId","in":"path","required":true,"description":"Global skill identifier","schema":{"type":"string"}},{"name":"path","in":"query","description":"Skill source file path.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["fetchProjectGlobalSkillPreview"]}},"/api/projects/{projectId}/agent-workspace/preview/{token}/{path}":{"get":{"tags":["workspace-files"],"summary":"Preview an agent workspace file","operationId":"previewAgentWorkspaceFile","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"token","in":"path","required":true,"description":"Preview token","schema":{"type":"string"}},{"name":"path","in":"path","required":true,"description":"File path","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Preview response"},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/mcp/servers/{serverId}/prompts":{"get":{"tags":["mcp"],"summary":"List MCP server prompts","operationId":"listMcpServerPrompts","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"description":"MCP server identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/mcp/servers/{serverId}/resources":{"get":{"tags":["mcp"],"summary":"List MCP server resources","operationId":"listMcpServerResources","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"serverId","in":"path","required":true,"description":"MCP server identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/conversations/{conversationId}/todos":{"get":{"tags":["conversations"],"summary":"List conversation todo items","operationId":"listConversationTodos","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}},{"name":"branch_id","in":"query","description":"Conversation branch identifier.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listConversationTodos"]}},"/api/projects/{projectId}/conversations/{conversationId}/queued-messages":{"get":{"tags":["conversations"],"summary":"List conversation queued messages","operationId":"getConversationQueuedMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listConversationQueuedMessages"]},"post":{"tags":["conversations"],"summary":"Queue conversation queued messages","operationId":"postConversationQueuedMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["queueConversationMessage"]},"patch":{"tags":["conversations"],"summary":"Update conversation queued messages","operationId":"patchConversationQueuedMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateConversationQueuedMessage"]},"delete":{"tags":["conversations"],"summary":"Delete conversation queued messages","operationId":"deleteConversationQueuedMessages","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"conversationId","in":"path","required":true,"description":"Conversation identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["deleteConversationQueuedMessages"]}},"/api/projects/{projectId}/workspace-share":{"get":{"tags":["workspace-files"],"summary":"Get project workspace share settings","operationId":"getProjectWorkspaceShareSettings","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"target_project_id","in":"query","description":"Target project identifier.","schema":{"type":"string"}},{"name":"include_sources","in":"query","description":"Whether to include source project share records.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["getProjectWorkspaceShareSettings"]},"patch":{"tags":["workspace-files"],"summary":"Update project workspace share settings","operationId":"updateProjectWorkspaceShareSettings","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["updateProjectWorkspaceShareSettings"]}},"/api/projects/{projectId}/workspace-share/files":{"get":{"tags":["workspace-files"],"summary":"Search shared project workspace files","operationId":"searchProjectWorkspaceShareFiles","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"query","in":"query","description":"Search query.","schema":{"type":"string"}},{"name":"limit","in":"query","description":"Maximum number of search results.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["items"]}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["searchProjectWorkspaceShareFiles"]}},"/api/projects/{projectId}/workspace-share/content":{"get":{"tags":["workspace-files"],"summary":"Preview shared project workspace file content","operationId":"getProjectWorkspaceShareContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"source_project_id","in":"query","description":"Source project identifier.","schema":{"type":"string"}},{"name":"path","in":"query","description":"Source workspace file path.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"File response","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["fetchProjectWorkspaceSharePreview"]}},"/api/projects/{projectId}/visualizers":{"get":{"tags":["catalogs"],"summary":"List project visualizers","operationId":"listProjectVisualizers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"download","in":"query","description":"Set to 1 to download selected visualizers as an archive.","schema":{"type":"string"}},{"name":"id","in":"query","description":"Installed visualizer identifier to include in archive download.","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"JSON or file response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}},"application/octet-stream":{"schema":{"type":"string","format":"binary"}},"application/zip":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["listProjectVisualizers","listProjectVisualizerCatalog","downloadProjectVisualizersArchive"]},"post":{"tags":["catalogs"],"summary":"Import, install, enable, or disable project visualizers","operationId":"importOrInstallProjectVisualizers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"type":"object","additionalProperties":true}},"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true,"x-sdk-functions":["importProjectVisualizersArchive","importProjectVisualizersFromProject","installProjectVisualizer","enableProjectGlobalVisualizer","disableProjectGlobalVisualizer"]}},"/api/public/showcase/projects/{projectId}/agent-tickets/{ticketId}":{"get":{"tags":["projects"],"summary":"Get a public showcase agent ticket","operationId":"getPublicShowcaseAgentTicket","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"ticketId","in":"path","required":true,"description":"Agent ticket identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/public/showcase/projects/{projectId}/visualizers":{"get":{"tags":["projects"],"summary":"List public showcase visualizers","operationId":"listPublicShowcaseVisualizers","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/public/showcase/projects/{projectId}/workspace-content":{"get":{"tags":["workspace-files"],"summary":"Read public showcase workspace content","operationId":"getPublicShowcaseWorkspaceContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/public/showcase/projects/{projectId}/workspace-file/{path}":{"get":{"tags":["workspace-files"],"summary":"Read a public showcase workspace file","operationId":"getPublicShowcaseWorkspaceFile","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"path","in":"path","required":true,"description":"File path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/public/showcase/projects/{projectId}/visualizer-content/{path}":{"get":{"tags":["workspace-files"],"summary":"Read public showcase visualizer content","operationId":"getPublicShowcaseVisualizerContent","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"path","in":"path","required":true,"description":"File path","schema":{"type":"string"}}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/page-agent/chat":{"post":{"tags":["chat"],"summary":"Chat with the page agent","operationId":"chatWithPageAgent","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Unique key for safely retrying the page-agent request","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/literature/search":{"post":{"tags":["search"],"summary":"Search literature","operationId":"searchLiterature","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/archive":{"post":{"tags":["projects"],"summary":"Archive a project","operationId":"archiveProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/unarchive":{"post":{"tags":["projects"],"summary":"Unarchive a project","operationId":"unarchiveProject","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}},"/api/projects/{projectId}/visualizers/{installedVisualizerId}":{"delete":{"tags":["catalogs"],"summary":"Delete an installed project visualizer","operationId":"deleteProjectVisualizer","parameters":[{"name":"projectId","in":"path","required":true,"description":"Project identifier","schema":{"type":"string"}},{"name":"installedVisualizerId","in":"path","required":true,"description":"Installed visualizer identifier","schema":{"type":"string"}}],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[true]},"data":{"type":"object","additionalProperties":true}},"required":["ok","data"],"additionalProperties":false}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean","enum":[false]},"error":{"$ref":"#/components/schemas/ApiErrorPayload"}},"required":["ok","error"],"additionalProperties":false}}}}},"x-frontend-exposed":true}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"schemas":{"ApiErrorPayload":{"type":"object","properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"},"details":{}},"required":["code","message","request_id"],"additionalProperties":false},"RegistrationSettings":{"type":"object","properties":{"allow_public_registration":{"type":"boolean"},"effective_public_registration":{"type":"boolean"},"bootstrap_mode":{"type":"boolean"}},"required":["allow_public_registration","effective_public_registration","bootstrap_mode"],"additionalProperties":false},"PublicBootstrapChatSettings":{"type":"object","properties":{"allow_public_bootstrap_chat":{"type":"boolean"}},"required":["allow_public_bootstrap_chat"],"additionalProperties":false},"AuthUserProfile":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","email","name","role","status","created_at","updated_at"],"additionalProperties":false},"ProjectListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"creation_source":{"type":"string","nullable":true},"research_domain":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"mode":{"type":"string"},"agent_auto_run":{"type":"boolean"},"agent_tools_enabled":{"type":"boolean"},"action_tools_enabled":{"type":"boolean"},"project_memory_enabled":{"type":"boolean"},"showcase_enabled":{"type":"boolean"},"showcase_enabled_at":{"type":"string","format":"date-time","nullable":true},"status":{"type":"string"},"role":{"type":"string"},"last_active_at":{"type":"string","format":"date-time"}},"required":["id","name","description","creation_source","research_domain","icon","color","mode","agent_auto_run","agent_tools_enabled","action_tools_enabled","project_memory_enabled","showcase_enabled","showcase_enabled_at","status","role","last_active_at"],"additionalProperties":false},"ProjectDetail":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"description":{"type":"string"},"research_domain":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"mode":{"type":"string"},"status":{"type":"string"},"agent_auto_run":{"type":"boolean"},"agent_tools_enabled":{"type":"boolean"},"action_tools_enabled":{"type":"boolean"},"project_memory_enabled":{"type":"boolean"},"showcase_enabled":{"type":"boolean"},"showcase_enabled_at":{"type":"string","format":"date-time","nullable":true},"container_cpu_count":{"type":"integer","nullable":true},"container_memory_mb":{"type":"integer","nullable":true},"container_gpu_count":{"type":"integer","nullable":true},"container_gpu_driver":{"type":"string","nullable":true},"container_gpu_memory_gb":{"type":"integer","nullable":true},"container_image":{"type":"string","nullable":true},"project_env":{"type":"object","additionalProperties":{"type":"string"}},"owner_id":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"archived_at":{"type":"string","format":"date-time","nullable":true}},"required":["id","name","slug","description","research_domain","icon","color","mode","status","agent_auto_run","agent_tools_enabled","action_tools_enabled","project_memory_enabled","showcase_enabled","showcase_enabled_at","container_cpu_count","container_memory_mb","container_gpu_count","container_gpu_driver","container_gpu_memory_gb","container_image","project_env","owner_id","created_at","updated_at","archived_at"],"additionalProperties":false},"ProjectMember":{"type":"object","properties":{"id":{"type":"string"},"user_id":{"type":"string"},"role":{"type":"string"},"joined_at":{"type":"string","format":"date-time"},"user":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"status":{"type":"string"}},"required":["id","email","name","status"],"additionalProperties":false,"nullable":true}},"required":["id","user_id","role","joined_at","user"],"additionalProperties":false},"Conversation":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"created_by":{"type":"string"},"parent_conversation_id":{"type":"string","nullable":true},"model_id":{"type":"string","nullable":true},"active_branch_id":{"type":"string","nullable":true},"title":{"type":"string"},"pinned":{"type":"boolean"},"status":{"type":"string"},"kind":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","created_by","parent_conversation_id","model_id","active_branch_id","title","pinned","status","kind","created_at","updated_at"],"additionalProperties":false},"ConversationBranch":{"type":"object","properties":{"id":{"type":"string"},"conversation_id":{"type":"string"},"project_id":{"type":"string"},"source_message_id":{"type":"string","nullable":true},"source_branch_id":{"type":"string","nullable":true},"created_by":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","conversation_id","project_id","source_message_id","source_branch_id","created_by","created_at","updated_at"],"additionalProperties":false},"ChatMessage":{"type":"object","properties":{"id":{"type":"string"},"conversation_id":{"type":"string"},"project_id":{"type":"string"},"branch_id":{"type":"string","nullable":true},"role":{"type":"string"},"kind":{"type":"string","nullable":true},"content":{"type":"string"},"thinking":{"type":"string","nullable":true},"model_label":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","conversation_id","project_id","branch_id","role","kind","content","thinking","model_label","created_at"],"additionalProperties":false},"ProjectScheduledTask":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"created_by":{"type":"string"},"name":{"type":"string"},"prompt":{"type":"string"},"model_id":{"type":"string","nullable":true},"schedule_json":{"type":"string"},"timezone":{"type":"string"},"status":{"type":"string"},"next_run_at":{"type":"string","format":"date-time","nullable":true},"last_run_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","created_by","name","prompt","model_id","schedule_json","timezone","status","next_run_at","last_run_at","created_at","updated_at"],"additionalProperties":false},"ProjectScheduledTaskRun":{"type":"object","properties":{"id":{"type":"string"},"scheduled_task_id":{"type":"string"},"project_id":{"type":"string"},"conversation_id":{"type":"string","nullable":true},"status":{"type":"string"},"dedupe_key":{"type":"string"},"triggered_at":{"type":"string","format":"date-time"},"started_at":{"type":"string","format":"date-time","nullable":true},"ended_at":{"type":"string","format":"date-time","nullable":true},"error_message":{"type":"string","nullable":true}},"required":["id","scheduled_task_id","project_id","conversation_id","status","dedupe_key","triggered_at","started_at","ended_at","error_message"],"additionalProperties":false},"ModelOption":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"config":{"type":"object","properties":{"is_default":{"type":"boolean"},"provider_mode":{"type":"string"},"model":{"type":"string"},"context_window":{"type":"integer","nullable":true}},"required":["is_default","provider_mode","model","context_window"],"additionalProperties":false},"provider_spec":{},"is_private":{"type":"boolean","nullable":true}},"required":["id","name","config","provider_spec","is_private"],"additionalProperties":false},"ProjectLocalWorkspaceEntry":{"type":"object","properties":{"path":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["file","directory"]},"size_bytes":{"type":"integer"},"modified_at":{"type":"string","format":"date-time"},"depth":{"type":"integer"}},"required":["path","name","kind","size_bytes","modified_at","depth"],"additionalProperties":false},"ProjectVisualizerListItem":{"type":"object","properties":{"id":{"type":"string"},"namespace":{"type":"string"},"name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"manifest_path":{"type":"string"},"web_entry_path":{"type":"string"},"priority":{"type":"integer"},"match":{"type":"object","properties":{"extensions":{"type":"array","items":{"type":"string"}},"mime_types":{"type":"array","items":{"type":"string"}},"file_names":{"type":"array","items":{"type":"string"}},"max_size_mb":{"type":"integer","nullable":true}},"required":["extensions","mime_types","file_names","max_size_mb"],"additionalProperties":false}},"required":["id","namespace","name","title","description","manifest_path","web_entry_path","priority","match"],"additionalProperties":false},"ProjectMcpServerItem":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"name":{"type":"string"},"display_name":{"type":"string"},"description":{"type":"string","nullable":true},"transport":{"type":"string"},"url":{"type":"string"},"scope":{"type":"string"},"enabled":{"type":"boolean"},"expose_tools_to_chat":{"type":"boolean"},"expose_resources_to_chat":{"type":"boolean"},"expose_prompts_to_chat":{"type":"boolean"},"allowed_tools":{"type":"array","items":{"type":"string"},"nullable":true},"confirmation_tools":{"type":"array","items":{"type":"string"},"nullable":true},"requires_user_confirmation":{"type":"boolean"},"auth_type":{"type":"string"},"auth_config":{"type":"object","properties":{"bearer_token":{"type":"string"},"secret_ref":{"type":"string"},"headers":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false,"nullable":true},"connect_timeout_ms":{"type":"integer"},"request_timeout_ms":{"type":"integer"},"cache_ttl_sec":{"type":"integer"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","name","display_name","description","transport","url","scope","enabled","expose_tools_to_chat","expose_resources_to_chat","expose_prompts_to_chat","allowed_tools","confirmation_tools","requires_user_confirmation","auth_type","auth_config","connect_timeout_ms","request_timeout_ms","cache_ttl_sec","created_at","updated_at"],"additionalProperties":false},"ProjectMcpToolItem":{"type":"object","properties":{"server_id":{"type":"string"},"server_name":{"type":"string"},"tool_name":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"input_schema":{"type":"object"},"raw":{"type":"object"},"fetched_at":{"type":"string","format":"date-time"}},"required":["server_id","server_name","tool_name","title","description","input_schema","raw","fetched_at"],"additionalProperties":false},"AdminUserListItem":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"status":{"type":"string"},"login_lock":{"type":"object","properties":{"state":{"type":"string"},"locked_until":{"type":"string","format":"date-time","nullable":true},"permanent_locked_at":{"type":"string","format":"date-time","nullable":true}},"required":["state","locked_until","permanent_locked_at"],"additionalProperties":false},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","email","name","role","status","login_lock","created_at","updated_at"],"additionalProperties":false},"AdminUserDeletionImpact":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string"},"email":{"type":"string"},"name":{"type":"string"},"role":{"type":"string"},"status":{"type":"string"}},"required":["id","email","name","role","status"],"additionalProperties":false},"blockers":{"type":"object","properties":{"is_self":{"type":"boolean"},"is_last_active_admin":{"type":"boolean"},"owned_project_count":{"type":"integer"}},"required":["is_self","is_last_active_admin","owned_project_count"],"additionalProperties":false},"impact":{"type":"object","properties":{"owned_projects":{"type":"integer"},"memberships":{"type":"integer"},"owned_project_conversations":{"type":"integer"},"owned_project_agent_tickets":{"type":"integer"},"token_usage_events":{"type":"integer"},"external_identity_links":{"type":"integer"},"tool_permission_requests":{"type":"integer"},"tool_change_records":{"type":"integer"},"personal_models":{"type":"integer"},"created_skill_repositories":{"type":"integer"}},"required":["owned_projects","memberships","owned_project_conversations","owned_project_agent_tickets","token_usage_events","external_identity_links","tool_permission_requests","tool_change_records","personal_models","created_skill_repositories"],"additionalProperties":false},"available_strategies":{"type":"array","items":{"type":"string","enum":["disable","transfer_then_delete","purge_then_delete"]}}},"required":["user","blockers","impact","available_strategies"],"additionalProperties":false},"AdminUserDeleteResult":{"oneOf":[{"type":"object","properties":{"strategy":{"type":"string","enum":["disable"]},"user":{"$ref":"#/components/schemas/AdminUserListItem"}},"required":["strategy","user"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","enum":["transfer_then_delete"]},"deleted":{"type":"boolean"},"user_id":{"type":"string"},"transfer_owner_to_user_id":{"type":"string"},"transferred_project_count":{"type":"integer"}},"required":["strategy","deleted","user_id","transfer_owner_to_user_id","transferred_project_count"],"additionalProperties":false},{"type":"object","properties":{"strategy":{"type":"string","enum":["purge_then_delete"]},"deleted":{"type":"boolean"},"user_id":{"type":"string"},"deleted_project_count":{"type":"integer"}},"required":["strategy","deleted","user_id","deleted_project_count"],"additionalProperties":false}]},"AdminWebSearchSettings":{"type":"object","properties":{"provider":{"type":"string"},"enabled":{"type":"boolean"},"allow_user_keys":{"type":"boolean"},"has_system_api_key":{"type":"boolean"},"base_url":{"type":"string"},"timeout_ms":{"type":"integer"},"max_results":{"type":"integer"},"rate_limit_count":{"type":"integer"},"rate_limit_window_sec":{"type":"integer"},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["provider","enabled","allow_user_keys","has_system_api_key","base_url","timeout_ms","max_results","rate_limit_count","rate_limit_window_sec","created_at","updated_at"],"additionalProperties":false},"AdminAltchaSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"has_hmac_key":{"type":"boolean"},"expires_ms":{"type":"integer"},"max_number":{"type":"integer"},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["enabled","has_hmac_key","expires_ms","max_number","created_at","updated_at"],"additionalProperties":false},"AdminContainerMountSetting":{"type":"object","properties":{"id":{"type":"string"},"source_type":{"type":"string"},"host_path":{"type":"string"},"pvc_name":{"type":"string"},"pvc_sub_path":{"type":"string","nullable":true},"container_path":{"type":"string"},"read_only":{"type":"boolean"}},"required":["id","source_type","container_path","read_only"],"additionalProperties":false},"AdminContainerMountSettings":{"type":"object","properties":{"mounts":{"type":"array","items":{"$ref":"#/components/schemas/AdminContainerMountSetting"}},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["mounts","created_at","updated_at"],"additionalProperties":false},"AdminContainerMountPvc":{"type":"object","properties":{"name":{"type":"string"},"namespace":{"type":"string"},"status":{"type":"string","nullable":true},"storage_class":{"type":"string","nullable":true},"access_modes":{"type":"array","items":{"type":"string"}},"requested_storage":{"type":"string","nullable":true},"capacity":{"type":"string","nullable":true}},"required":["name","namespace","status","storage_class","access_modes","requested_storage","capacity"],"additionalProperties":false},"AdminContainerMountPvcList":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminContainerMountPvc"}}},"required":["items"],"additionalProperties":false},"AdminContainerMountPvcSubPathValidation":{"type":"object","properties":{"exists":{"type":"boolean"}},"required":["exists"],"additionalProperties":false},"AdminContainerBuildSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"builder_type":{"type":"string"},"max_concurrent_builds":{"type":"integer"},"allow_network_during_build":{"type":"boolean"},"max_build_timeout_sec":{"type":"integer"},"max_context_size_mb":{"type":"integer"},"created_at":{"type":"string","format":"date-time","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true}},"required":["enabled","builder_type","max_concurrent_builds","allow_network_during_build","max_build_timeout_sec","max_context_size_mb","created_at","updated_at"],"additionalProperties":false},"WebSearchAuditEvent":{"type":"object","properties":{"id":{"type":"string"},"provider":{"type":"string"},"user_id":{"type":"string","nullable":true},"project_id":{"type":"string","nullable":true},"conversation_id":{"type":"string","nullable":true},"query":{"type":"string"},"status":{"type":"string"},"result_count":{"type":"integer"},"duration_ms":{"type":"integer","nullable":true},"error_message":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","provider","user_id","project_id","conversation_id","query","status","result_count","duration_ms","error_message","created_at"],"additionalProperties":false},"MyWebSearchSettings":{"type":"object","properties":{"enabled":{"type":"boolean"},"allow_user_keys":{"type":"boolean"},"has_personal_api_key":{"type":"boolean"},"inherited_from":{"type":"string"}},"required":["enabled","allow_user_keys","has_personal_api_key","inherited_from"],"additionalProperties":false},"AdminOverviewData":{"type":"object","properties":{"users":{"type":"object","properties":{"total":{"type":"integer"},"active":{"type":"integer"},"admins":{"type":"integer"}},"required":["total","active","admins"],"additionalProperties":false},"models":{"type":"object","properties":{"total":{"type":"integer"}},"required":["total"],"additionalProperties":false},"skills":{"type":"object","properties":{"repositories":{"type":"integer"},"total":{"type":"integer"}},"required":["repositories","total"],"additionalProperties":false},"projects":{"type":"object","properties":{"totalProjects":{"type":"integer"},"activeProjects":{"type":"integer"},"archivedProjects":{"type":"integer"},"recentProjects":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"creation_source":{"type":"string","nullable":true},"research_domain":{"type":"string"},"status":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"owner":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"member_count":{"type":"integer"},"conversation_count":{"type":"integer"},"file_count":{"type":"integer"}},"required":["id","name","research_domain","status","updated_at","owner","member_count","conversation_count","file_count"],"additionalProperties":false}}},"required":["totalProjects","activeProjects","archivedProjects","recentProjects"],"additionalProperties":false}},"required":["users","models","skills","projects"],"additionalProperties":false},"AdminProjectListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"creation_source":{"type":"string","nullable":true},"research_domain":{"type":"string"},"status":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"mode":{"type":"string"},"storage_quota_bytes":{"type":"integer","nullable":true},"showcase_enabled":{"type":"boolean"},"showcase_enabled_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"owner":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"}},"required":["id","name","email"],"additionalProperties":false},"member_count":{"type":"integer"},"conversation_count":{"type":"integer"},"file_count":{"type":"integer"}},"required":["id","name","description","creation_source","research_domain","status","icon","color","mode","storage_quota_bytes","showcase_enabled","showcase_enabled_at","created_at","updated_at","owner","member_count","conversation_count","file_count"],"additionalProperties":false},"ShowcaseProjectListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"research_domain":{"type":"string"},"cover_image_path":{"type":"string","nullable":true}},"required":["id","name","description","research_domain","cover_image_path"],"additionalProperties":false},"ShowcaseProjectDetail":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"research_domain":{"type":"string"},"icon":{"type":"string"},"color":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"showcase_enabled_at":{"type":"string","format":"date-time","nullable":true}},"required":["id","name","description","research_domain","icon","color","updated_at","showcase_enabled_at"],"additionalProperties":false},"ShowcaseConversationListItem":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"created_at":{"type":"string","format":"date-time"},"kind":{"type":"string"},"status":{"type":"string"},"message_count":{"type":"integer"}},"required":["id","title","updated_at","created_at","kind","status","message_count"],"additionalProperties":false},"ShowcaseMessageListItem":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"},"kind":{"type":"string","nullable":true},"content":{"type":"string"},"agent_task_card":{"type":"object","properties":{"ticket_id":{"type":"string"}},"required":["ticket_id"],"additionalProperties":false,"nullable":true},"tool_meta":{"type":"object","properties":{"type":{"type":"string"},"tool_call_id":{"type":"string"},"tool_name":{"type":"string"},"status":{"type":"string"},"duration_ms":{"type":"integer"},"args":{"type":"object"},"result":{"type":"object"},"is_error":{"type":"boolean"},"raw_tool_call":{"type":"object"},"raw_tool_call_events":{"type":"array","items":{"type":"object"}}},"additionalProperties":true,"nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","role","kind","content","agent_task_card","tool_meta","created_at"],"additionalProperties":false},"ShowcaseFileListItem":{"type":"object","properties":{"id":{"type":"string"},"file_name":{"type":"string"},"mime_type":{"type":"string"},"size_bytes":{"type":"integer"},"created_at":{"type":"string","format":"date-time"}},"required":["id","file_name","mime_type","size_bytes","created_at"],"additionalProperties":false},"AdminAssetFileDocument":{"type":"object","properties":{"repository_id":{"type":"string"},"asset_id":{"type":"string"},"asset_kind":{"type":"string"},"asset_name":{"type":"string"},"title":{"type":"string"},"file_kind":{"type":"string"},"path":{"type":"string"},"content":{"type":"string"},"updated_at":{"type":"string","format":"date-time"}},"required":["repository_id","asset_id","asset_kind","asset_name","title","file_kind","path","content","updated_at"],"additionalProperties":false},"ContainerOptionsResponse":{"type":"object","properties":{"default_image":{"type":"string"},"local_images":{"type":"array","items":{"type":"string"}}},"required":["default_image","local_images"],"additionalProperties":false},"ProjectContainerBuildLogEntry":{"type":"object","properties":{"id":{"type":"string"},"build_id":{"type":"string"},"seq":{"type":"integer"},"stream":{"type":"string"},"message":{"type":"string"},"created_at":{"type":"string","format":"date-time"}},"required":["id","build_id","seq","stream","message","created_at"],"additionalProperties":false},"ContainerEventItem":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"action":{"type":"string"},"actor_id":{"type":"string"},"detail":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","project_id","action","actor_id","detail","created_at"],"additionalProperties":false},"TokenUsageResponse":{"type":"object","properties":{"summary":{"type":"object","properties":{"total":{"type":"object","properties":{"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"event_count":{"type":"integer"},"estimated_count":{"type":"integer"}},"required":["input_tokens","output_tokens","total_tokens","event_count","estimated_count"],"additionalProperties":false},"series":{"type":"array","items":{"type":"object","properties":{"key":{"type":"string"},"label":{"type":"string"},"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"event_count":{"type":"integer"},"estimated_count":{"type":"integer"}},"required":["key","label","input_tokens","output_tokens","total_tokens","event_count","estimated_count"],"additionalProperties":false}}},"required":["total","series"],"additionalProperties":false},"events":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"user_id":{"type":"string"},"project_id":{"type":"string"},"conversation_id":{"type":"string","nullable":true},"message_id":{"type":"string","nullable":true},"agent_run_id":{"type":"string","nullable":true},"model_id":{"type":"string","nullable":true},"model_name":{"type":"string","nullable":true},"provider_mode":{"type":"string","nullable":true},"source":{"type":"string"},"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"estimated":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"}},"required":["id","user_id","project_id","source","input_tokens","output_tokens","total_tokens","estimated","created_at"],"additionalProperties":false}}},"required":["summary","events"],"additionalProperties":false},"AdminTokenUsageByUserResponse":{"type":"object","properties":{"total":{"type":"object","properties":{"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"event_count":{"type":"integer"},"estimated_count":{"type":"integer"}},"required":["input_tokens","output_tokens","total_tokens","event_count","estimated_count"],"additionalProperties":false},"users":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string"},"user_name":{"type":"string"},"user_email":{"type":"string"},"input_tokens":{"type":"integer"},"output_tokens":{"type":"integer"},"total_tokens":{"type":"integer"},"event_count":{"type":"integer"},"estimated_count":{"type":"integer"}},"required":["user_id","user_name","user_email","input_tokens","output_tokens","total_tokens","event_count","estimated_count"],"additionalProperties":false}},"billing":{"type":"object","properties":{"total_spent_micros":{"type":"string"},"charge_count":{"type":"integer"},"users":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string"},"user_name":{"type":"string"},"user_email":{"type":"string"},"currency":{"type":"string"},"spent_micros":{"type":"string"},"charge_count":{"type":"integer"},"balance_micros":{"type":"string"},"credit_limit_micros":{"type":"string"}},"required":["user_id","user_name","user_email","currency","spent_micros","charge_count","balance_micros","credit_limit_micros"],"additionalProperties":false}},"models":{"type":"array","items":{"type":"object","properties":{"model_id":{"type":"string"},"model_name":{"type":"string"},"spent_micros":{"type":"string"},"charge_count":{"type":"integer"}},"required":["model_id","model_name","spent_micros","charge_count"],"additionalProperties":false}}},"required":["total_spent_micros","charge_count","users","models"],"additionalProperties":false}},"required":["total","users","billing"],"additionalProperties":false},"AdminUserListResponse":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AdminUserListItem"}},"page":{"type":"integer"},"page_size":{"type":"integer"},"total":{"type":"integer"},"total_pages":{"type":"integer"}},"required":["items","page","page_size","total","total_pages"],"additionalProperties":false},"AgentTicket":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"conversation_id":{"type":"string","nullable":true},"requested_by":{"type":"string"},"task_type":{"type":"string"},"title":{"type":"string"},"intent_summary":{"type":"string"},"input_payload_json":{"type":"string"},"input_hash":{"type":"string"},"priority":{"type":"string","enum":["low","normal","high"]},"status":{"type":"string","enum":["submitted","validating","queued","dispatching","running","awaiting_user_input","retry_waiting","partial_succeeded","succeeded","failed","cancelling","cancelled"]},"waiting_reason":{"type":"string","nullable":true},"next_retry_at":{"type":"string","format":"date-time","nullable":true},"last_shortage_json":{"type":"string","nullable":true},"dispatch_wake_version":{"type":"integer"},"branch_id":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","conversation_id","requested_by","task_type","title","intent_summary","input_payload_json","input_hash","priority","status","created_at","updated_at"],"additionalProperties":false},"AgentRun":{"type":"object","properties":{"id":{"type":"string"},"ticket_id":{"type":"string"},"agent_engine":{"type":"string"},"agent_id":{"type":"string"},"engine_run_id":{"type":"string","nullable":true},"queue_name":{"type":"string"},"worker_type":{"type":"string","enum":["light","heavy"]},"status":{"type":"string","enum":["submitted","validating","queued","dispatching","running","awaiting_user_input","retry_waiting","partial_succeeded","succeeded","failed","cancelling","cancelled"]},"attempt":{"type":"integer"},"started_at":{"type":"string","format":"date-time","nullable":true},"ended_at":{"type":"string","format":"date-time","nullable":true},"failure_code":{"type":"string","nullable":true},"failure_message":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","ticket_id","agent_engine","agent_id","engine_run_id","queue_name","worker_type","status","attempt","started_at","ended_at","failure_code","failure_message","created_at","updated_at"],"additionalProperties":false},"AgentEvent":{"type":"object","properties":{"id":{"type":"string"},"run_id":{"type":"string"},"event_type":{"type":"string"},"level":{"type":"string","enum":["info","warning","error"]},"message":{"type":"string"},"payload_json":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","run_id","event_type","level","message","payload_json","created_at"],"additionalProperties":false},"AgentArtifact":{"type":"object","properties":{"id":{"type":"string"},"run_id":{"type":"string"},"step_id":{"type":"string","nullable":true},"artifact_type":{"type":"string"},"storage_key":{"type":"string","nullable":true},"content_type":{"type":"string"},"size_bytes":{"type":"integer","nullable":true},"checksum":{"type":"string","nullable":true},"schema_version":{"type":"string","nullable":true},"summary_json":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"}},"required":["id","run_id","step_id","artifact_type","storage_key","content_type","size_bytes","checksum","schema_version","summary_json","created_at"],"additionalProperties":false},"AgentActionExecution":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"ticket_id":{"type":"string"},"run_id":{"type":"string"},"step_id":{"type":"string"},"action_ref":{"type":"string"},"backend_type":{"type":"string"},"namespace":{"type":"string","nullable":true},"job_name":{"type":"string","nullable":true},"status":{"type":"string","enum":["pending","running","succeeded","failed","lost"]},"output_dir":{"type":"string","nullable":true},"started_at":{"type":"string","format":"date-time","nullable":true},"finished_at":{"type":"string","format":"date-time","nullable":true},"last_observed_at":{"type":"string","format":"date-time","nullable":true},"failure_code":{"type":"string","nullable":true},"failure_message":{"type":"string","nullable":true},"metadata_json":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","ticket_id","run_id","step_id","action_ref","backend_type","namespace","job_name","status","output_dir","started_at","finished_at","last_observed_at","failure_code","failure_message","metadata_json","created_at","updated_at"],"additionalProperties":false},"AgentTicketDetail":{"type":"object","properties":{"ticket":{"$ref":"#/components/schemas/AgentTicket"},"latest_run":{"$ref":"#/components/schemas/AgentRun","nullable":true},"events":{"type":"array","items":{"$ref":"#/components/schemas/AgentEvent"}},"artifacts":{"type":"array","items":{"$ref":"#/components/schemas/AgentArtifact"}},"action_executions":{"type":"array","items":{"$ref":"#/components/schemas/AgentActionExecution"}},"detail_mode":{"type":"string","enum":["card","compact","full"]}},"required":["ticket","latest_run","events","artifacts"],"additionalProperties":false},"AgentTicketStreamEvent":{"type":"object","properties":{"id":{"type":"string"},"sequence":{"type":"integer"},"type":{"type":"string","enum":["ticket_created","ticket_updated"]},"project_id":{"type":"string"},"ticket_id":{"type":"string"},"conversation_id":{"type":"string","nullable":true},"status":{"type":"string","enum":["submitted","validating","queued","dispatching","running","awaiting_user_input","retry_waiting","partial_succeeded","succeeded","failed","cancelling","cancelled"]},"detail_changed":{"type":"boolean"},"conversation_changed":{"type":"boolean"},"should_continue_conversation":{"type":"boolean"},"occurred_at":{"type":"string","format":"date-time"}},"required":["id","sequence","type","project_id","ticket_id","conversation_id","status","detail_changed","conversation_changed","occurred_at"],"additionalProperties":false},"ToolPermissionRequestTarget":{"type":"object","properties":{"kind":{"type":"string","enum":["file","directory","command","mcp_tool"]},"path":{"type":"string"},"resolvedPath":{"type":"string"},"displayPath":{"type":"string"}},"required":["kind"],"additionalProperties":false},"ToolPermissionDecisionContext":{"type":"object","properties":{"source":{"type":"string","enum":["standard_mode_guard","manual_mode","auto_mode","safe_readonly"]},"note":{"type":"string","nullable":true}},"required":["source"],"additionalProperties":false},"ToolPermissionRequest":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"conversation_id":{"type":"string"},"user_id":{"type":"string"},"tool_call_id":{"type":"string"},"tool_name":{"type":"string","enum":["write","edit","bash","mcp"]},"action":{"type":"string","enum":["write","edit","bash_readonly","bash_mutation","mcp_call"]},"status":{"type":"string","enum":["pending","approved","denied","executed","expired"]},"title":{"type":"string"},"summary":{"type":"string"},"reason_code":{"type":"string"},"args_snapshot_json":{"type":"string"},"targets_json":{"type":"string"},"decision_context_json":{"type":"string","nullable":true},"targets":{"type":"array","items":{"$ref":"#/components/schemas/ToolPermissionRequestTarget"}},"decision_context":{"$ref":"#/components/schemas/ToolPermissionDecisionContext","nullable":true},"tool_message_id":{"type":"string","nullable":true},"approved_by":{"type":"string","nullable":true},"approved_at":{"type":"string","format":"date-time","nullable":true},"denied_by":{"type":"string","nullable":true},"denied_at":{"type":"string","format":"date-time","nullable":true},"executed_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","conversation_id","user_id","tool_call_id","tool_name","action","status","title","summary","reason_code","args_snapshot_json","targets_json","targets","created_at","updated_at"],"additionalProperties":false},"ConversationQuestionOption":{"type":"object","properties":{"label":{"type":"string"},"description":{"type":"string"}},"required":["label","description"],"additionalProperties":false},"ConversationQuestionReference":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"authors":{"type":"string"},"year":{"type":"string"},"venue":{"type":"string"},"doi":{"type":"string"},"pmid":{"type":"string"},"url":{"type":"string"},"summary":{"type":"string"}},"required":["title"],"additionalProperties":false},"ConversationQuestionInfo":{"type":"object","properties":{"id":{"type":"string"},"header":{"type":"string"},"question":{"type":"string"},"options":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionOption"}},"references":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionReference"}},"multiple":{"type":"boolean"},"custom":{"type":"boolean"},"required":{"type":"boolean"}},"required":["id","header","question","options"],"additionalProperties":false},"ConversationQuestionAnswer":{"type":"object","properties":{"question_id":{"type":"string"},"selected_labels":{"type":"array","items":{"type":"string"}},"custom_text":{"type":"string","nullable":true}},"required":["question_id","selected_labels","custom_text"],"additionalProperties":false},"ConversationQuestionRequest":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"conversation_id":{"type":"string"},"user_id":{"type":"string"},"tool_call_id":{"type":"string"},"status":{"type":"string","enum":["pending","answered","rejected"]},"questions_json":{"type":"string"},"answers_json":{"type":"string","nullable":true},"questions":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionInfo"}},"answers":{"type":"array","items":{"$ref":"#/components/schemas/ConversationQuestionAnswer"},"nullable":true},"tool_message_id":{"type":"string","nullable":true},"answered_by":{"type":"string","nullable":true},"answered_at":{"type":"string","format":"date-time","nullable":true},"rejected_by":{"type":"string","nullable":true},"rejected_at":{"type":"string","format":"date-time","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","conversation_id","user_id","tool_call_id","status","questions_json","questions","created_at","updated_at"],"additionalProperties":false},"ContainerStatusResponse":{"type":"object","properties":{"enabled":{"type":"boolean"},"container_id":{"type":"string","nullable":true},"container_name":{"type":"string","nullable":true},"image":{"type":"string","nullable":true},"status":{"type":"string","nullable":true},"updated_at":{"type":"string","format":"date-time","nullable":true},"error_msg":{"type":"string","nullable":true},"quota_exceeded":{"type":"boolean","nullable":true},"container_cpu_count":{"type":"integer","nullable":true},"container_memory_mb":{"type":"integer","nullable":true},"container_gpu_count":{"type":"integer","nullable":true},"container_gpu_driver":{"type":"string","nullable":true},"container_gpu_memory_gb":{"type":"integer","nullable":true}},"required":["enabled"],"additionalProperties":false},"ProjectContainerBuildRecord":{"type":"object","properties":{"id":{"type":"string"},"project_id":{"type":"string"},"status":{"type":"string"},"requested_image_name":{"type":"string","nullable":true},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","project_id","status","requested_image_name","created_at","updated_at"],"additionalProperties":false},"ProjectModelListItem":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"scope":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["id","name","scope","created_at","updated_at"],"additionalProperties":false}}}}