{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"paths":{"/api/v1/system/health/live":{"get":{"tags":["API v1 System"],"summary":"Liveness","operationId":"system_liveness","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/system/health/ready":{"get":{"tags":["API v1 System"],"summary":"Readiness","operationId":"system_readiness","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/system/version":{"get":{"tags":["API v1 System"],"summary":"Version","operationId":"system_version","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/register":{"post":{"tags":["API v1 Identity"],"summary":"Register User","operationId":"register_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/verify":{"post":{"tags":["API v1 Identity"],"summary":"Verify User Email","operationId":"verify_user_email","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailCodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/email/resend":{"post":{"tags":["API v1 Identity"],"summary":"Resend Email Verification","operationId":"resend_email_verification","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailOnlyRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["API v1 Identity"],"summary":"Login User","operationId":"login_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["API v1 Identity"],"summary":"Refresh User Session","operationId":"refresh_user_session","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["API v1 Identity"],"summary":"Logout User","operationId":"logout_user","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/password/forgot":{"post":{"tags":["API v1 Identity"],"summary":"Forgot User Password","operationId":"forgot_user_password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailOnlyRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/password/reset":{"post":{"tags":["API v1 Identity"],"summary":"Reset User Password","operationId":"reset_user_password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/me":{"get":{"tags":["API v1 Identity"],"summary":"Get Current User","operationId":"get_current_user","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"patch":{"tags":["API v1 Identity"],"summary":"Update Current User","operationId":"update_current_user","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/me/password":{"patch":{"tags":["API v1 Identity"],"summary":"Change Current User Password","operationId":"change_current_user_password","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordChangeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars":{"get":{"tags":["API v1 Avatars"],"summary":"List User Avatars","operationId":"list_avatars","parameters":[{"name":"scope","in":"query","required":false,"schema":{"enum":["all","mine","public"],"type":"string","default":"all","title":"Scope"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{12}$"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["API v1 Avatars"],"summary":"Create User Avatar","operationId":"create_avatar","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string","minLength":8,"maxLength":128},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/archives":{"get":{"tags":["API v1 Avatars"],"summary":"List User Avatar Archives","operationId":"list_avatar_archives","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/avatars/{avatar_id}":{"get":{"tags":["API v1 Avatars"],"summary":"Get User Avatar","operationId":"get_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["API v1 Avatars"],"summary":"Update User Avatar","operationId":"update_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvatarUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v1 Avatars"],"summary":"Delete User Avatar","operationId":"delete_archived_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/media":{"get":{"tags":["API v1 Avatars"],"summary":"Get Avatar Media Item","operationId":"get_avatar_media","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"kind","in":"query","required":true,"schema":{"enum":["avatar_thumbnail","avatar_image"],"type":"string","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/asset-uploads":{"post":{"tags":["API v1 Avatars"],"summary":"Create Avatar Asset Upload","operationId":"create_avatar_asset_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/asset-uploads/complete":{"post":{"tags":["API v1 Avatars"],"summary":"Complete Avatar Asset Upload","operationId":"complete_avatar_asset_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/archive":{"post":{"tags":["API v1 Avatars"],"summary":"Archive User Avatar","operationId":"archive_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/restore":{"post":{"tags":["API v1 Avatars"],"summary":"Restore User Avatar","operationId":"restore_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates":{"get":{"tags":["API v1 Avatars"],"summary":"List Avatar Template Items","operationId":"list_avatar_templates","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["API v1 Avatars"],"summary":"Create Avatar Template Item","operationId":"create_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string","minLength":8,"maxLength":128},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/asset-uploads":{"post":{"tags":["API v1 Avatars"],"summary":"Create Template Asset Upload","operationId":"create_template_asset_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/asset-uploads/complete":{"post":{"tags":["API v1 Avatars"],"summary":"Complete Template Asset Upload","operationId":"complete_template_asset_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}":{"get":{"tags":["API v1 Avatars"],"summary":"Get Avatar Template Item","operationId":"get_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["API v1 Avatars"],"summary":"Update Avatar Template Item","operationId":"update_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v1 Avatars"],"summary":"Delete Avatar Template Item","operationId":"delete_archived_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/media":{"get":{"tags":["API v1 Avatars"],"summary":"Get Avatar Template Media Item","operationId":"get_avatar_template_media","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}},{"name":"kind","in":"query","required":true,"schema":{"enum":["template_thumbnail","template_image","preview_video","preview_video_matte","preview_video_alpha"],"type":"string","title":"Kind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/archive":{"post":{"tags":["API v1 Avatars"],"summary":"Archive Avatar Template Item","operationId":"archive_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/restore":{"post":{"tags":["API v1 Avatars"],"summary":"Restore Avatar Template Item","operationId":"restore_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/asset-uploads/{upload_id}":{"put":{"tags":["API v1 Avatars"],"summary":"Put Avatar Asset Upload","operationId":"put_avatar_asset_upload","parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Upload Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}},{"name":"Content-Type","in":"header","required":false,"schema":{"type":"string","default":"","title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/training/entitlement":{"get":{"tags":["API v1 Training"],"summary":"Get Training Entitlement","operationId":"get_training_entitlement","parameters":[{"name":"build_mode","in":"query","required":false,"schema":{"const":"geometry","type":"string","default":"geometry","title":"Build Mode"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/training/jobs":{"get":{"tags":["API v1 Training"],"summary":"List Training Jobs","operationId":"list_training_jobs","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"avatar_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{12}$"},{"type":"null"}],"title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/training/jobs/{job_id}":{"get":{"tags":["API v1 Training"],"summary":"Get Training Job","operationId":"get_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/training/jobs/{job_id}/cancel":{"post":{"tags":["API v1 Training"],"summary":"Cancel Training Job","operationId":"cancel_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/training/jobs/{job_id}/retry":{"post":{"tags":["API v1 Training"],"summary":"Retry Training Job","operationId":"retry_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/uploads":{"post":{"tags":["API v1 Training"],"summary":"Create Training Upload","operationId":"create_training_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/uploads/{upload_id}":{"put":{"tags":["API v1 Training"],"summary":"Put Training Upload","operationId":"put_training_upload","parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Upload Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}},{"name":"Content-Type","in":"header","required":false,"schema":{"type":"string","default":"","title":"Content-Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/uploads/complete":{"post":{"tags":["API v1 Training"],"summary":"Complete Training Upload","operationId":"complete_training_upload","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/avatars/{avatar_id}/templates/{template_code}/train":{"post":{"tags":["API v1 Training"],"summary":"Create Template Training Job","operationId":"create_training_job","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"}},{"name":"Idempotency-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string","minLength":8,"maxLength":128},{"type":"null"}],"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainingCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/lease":{"post":{"tags":["API v1 Training"],"summary":"Worker Lease Training Job","operationId":"worker_lease_training_job","parameters":[{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerLeaseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/jobs/{job_id}/input":{"get":{"tags":["API v1 Training"],"summary":"Worker Download Training Input","operationId":"worker_download_training_input","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}},{"name":"X-Lease-Token","in":"header","required":true,"schema":{"type":"string","title":"X-Lease-Token"}},{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/jobs/{job_id}/artifacts/{kind}":{"put":{"tags":["API v1 Training"],"summary":"Worker Upload Training Artifact","operationId":"worker_upload_training_artifact","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}},{"name":"kind","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z_]{1,32}$","title":"Kind"}},{"name":"X-Lease-Token","in":"header","required":true,"schema":{"type":"string","title":"X-Lease-Token"}},{"name":"Content-Type","in":"header","required":true,"schema":{"type":"string","title":"Content-Type"}},{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/jobs/{job_id}/heartbeat":{"post":{"tags":["API v1 Training"],"summary":"Worker Heartbeat Training Job","operationId":"worker_heartbeat_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}},{"name":"X-Lease-Token","in":"header","required":true,"schema":{"type":"string","title":"X-Lease-Token"}},{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerHeartbeatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/jobs/{job_id}/complete":{"post":{"tags":["API v1 Training"],"summary":"Worker Complete Training Job","operationId":"worker_complete_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}},{"name":"X-Lease-Token","in":"header","required":true,"schema":{"type":"string","title":"X-Lease-Token"}},{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/worker/jobs/{job_id}/fail":{"post":{"tags":["API v1 Training"],"summary":"Worker Fail Training Job","operationId":"worker_fail_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^trn_[0-9a-f]{32}$","title":"Job Id"}},{"name":"X-Lease-Token","in":"header","required":true,"schema":{"type":"string","title":"X-Lease-Token"}},{"name":"X-Worker-ID","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Worker-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerFailRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/license-grants":{"post":{"tags":["API v1 Runtime"],"summary":"Post License Grant","operationId":"create_runtime_license_grant","parameters":[{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LicenseGrantRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/releases":{"get":{"tags":["API v1 Runtime"],"summary":"Get Runtime Releases","operationId":"list_runtime_releases","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/api-keys":{"get":{"tags":["API v1 Runtime"],"summary":"Get Api Keys","operationId":"list_api_keys","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["API v1 Runtime"],"summary":"Post Api Key","operationId":"create_api_key","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys/{key_id}":{"patch":{"tags":["API v1 Runtime"],"summary":"Patch Api Key","operationId":"update_api_key","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^key_[0-9a-f]{32}$","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API v1 Runtime"],"summary":"Delete Api Key","operationId":"revoke_api_key","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^key_[0-9a-f]{32}$","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys/{key_id}/rotate":{"post":{"tags":["API v1 Runtime"],"summary":"Post Rotate Api Key","operationId":"rotate_api_key","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^key_[0-9a-f]{32}$","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/api-keys/{key_id}/test-tokens":{"post":{"tags":["API v1 Runtime"],"summary":"Post Api Key Test Token","operationId":"create_api_key_test_token","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","pattern":"^key_[0-9a-f]{32}$","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeSessionCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/portal-preview-sessions":{"post":{"tags":["API v1 Runtime"],"summary":"Post Portal Runtime Preview Session","operationId":"create_portal_runtime_preview_session","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalRuntimePreviewRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/sessions":{"post":{"tags":["API v1 Runtime"],"summary":"Post Runtime Session","operationId":"create_runtime_session","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeSessionCreateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/catalog":{"get":{"tags":["API v1 Runtime"],"summary":"Get Runtime Catalog","operationId":"list_runtime_catalog","parameters":[{"name":"visibility","in":"query","required":false,"schema":{"enum":["all","public","private"],"type":"string","default":"all","title":"Visibility"}},{"name":"orientation","in":"query","required":false,"schema":{"enum":["all","landscape","portrait"],"type":"string","default":"all","title":"Orientation"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{12}$"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/catalog/media/{avatar_id}":{"get":{"tags":["API v1 Runtime"],"summary":"Get Runtime Catalog Media","operationId":"get_runtime_catalog_media","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"}},{"name":"kind","in":"query","required":true,"schema":{"enum":["portrait","full_body","template_thumbnail","template_image"],"type":"string","title":"Kind"}},{"name":"template_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{3}$"},{"type":"null"}],"title":"Template Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/manifest":{"get":{"tags":["API v1 Runtime"],"summary":"Get Runtime Manifest","operationId":"get_runtime_manifest","parameters":[{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/sessions/end":{"post":{"tags":["API v1 Runtime"],"summary":"Post Runtime End","operationId":"end_runtime_session","parameters":[{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/assets/{artifact_id}":{"get":{"tags":["API v1 Runtime"],"summary":"Get Runtime Asset","operationId":"get_runtime_asset","parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Artifact Id"}},{"name":"session_id","in":"query","required":true,"schema":{"type":"string","pattern":"^rts_[0-9a-f]{32}$","title":"Session Id"}},{"name":"expires","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Expires"}},{"name":"signature","in":"query","required":true,"schema":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Signature"}},{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/events":{"post":{"tags":["API v1 Usage"],"summary":"Post Runtime Events","operationId":"post_runtime_events","parameters":[{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RuntimeUsageBatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/summary":{"get":{"tags":["API v1 Usage"],"summary":"Get Usage Summary","operationId":"get_usage_summary","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"key_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"}},{"name":"avatar_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/timeseries":{"get":{"tags":["API v1 Usage"],"summary":"Get Usage Timeseries","operationId":"get_usage_timeseries","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"key_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Id"}},{"name":"avatar_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/by-key":{"get":{"tags":["API v1 Usage"],"summary":"Get Usage By Key","operationId":"get_usage_by_key","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/usage/by-avatar":{"get":{"tags":["API v1 Usage"],"summary":"Get Usage By Avatar","operationId":"get_usage_by_avatar","parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/catalog":{"get":{"tags":["API v1 Billing"],"summary":"Get Billing Catalog","operationId":"get_billing_catalog","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/billing/status":{"get":{"tags":["API v1 Billing"],"summary":"Get Billing Status","operationId":"get_billing_status","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"order_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Order Id"}},{"name":"pack_offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Pack Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/checkout-sessions":{"post":{"tags":["API v1 Billing"],"summary":"Post Checkout","operationId":"create_billing_checkout","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/portal-sessions":{"post":{"tags":["API v1 Billing"],"summary":"Post Portal","operationId":"create_billing_portal","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"title":"Idempotency-Key"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/stripe":{"post":{"tags":["API v1 Billing"],"summary":"Post Stripe Webhook","operationId":"post_stripe_webhook","parameters":[{"name":"Stripe-Signature","in":"header","required":true,"schema":{"type":"string","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/me":{"get":{"tags":["API v1 Admin"],"summary":"Get Me","operationId":"get_admin_identity","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/dashboard":{"get":{"tags":["API v1 Admin"],"summary":"Get Dashboard","operationId":"get_admin_dashboard","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/users":{"get":{"tags":["API v1 Admin"],"summary":"Get Users","operationId":"list_admin_users","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/status":{"patch":{"tags":["API v1 Admin"],"summary":"Patch User Status","operationId":"update_admin_user_status","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminUserStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars":{"get":{"tags":["API v1 Admin"],"summary":"Get Avatars","operationId":"list_admin_avatars","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/archives":{"get":{"tags":["API v1 Admin"],"summary":"Get Avatar Archives","operationId":"list_admin_avatar_archives","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}/archive":{"post":{"tags":["API v1 Admin"],"summary":"Post Avatar Archive","operationId":"archive_admin_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}/restore":{"post":{"tags":["API v1 Admin"],"summary":"Post Avatar Restore","operationId":"restore_admin_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}":{"delete":{"tags":["API v1 Admin"],"summary":"Delete Avatar","operationId":"delete_admin_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["API v1 Admin"],"summary":"Patch Avatar","operationId":"update_admin_avatar","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminAvatarUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}/templates/{template_code}/archive":{"post":{"tags":["API v1 Admin"],"summary":"Post Avatar Template Archive","operationId":"archive_admin_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}/templates/{template_code}/restore":{"post":{"tags":["API v1 Admin"],"summary":"Post Avatar Template Restore","operationId":"restore_admin_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/avatars/{avatar_id}/templates/{template_code}":{"delete":{"tags":["API v1 Admin"],"summary":"Delete Avatar Template","operationId":"delete_admin_avatar_template","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}},{"name":"template_code","in":"path","required":true,"schema":{"type":"string","title":"Template Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/training/jobs":{"get":{"tags":["API v1 Admin"],"summary":"Get Training","operationId":"list_admin_training_jobs","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/training/workers":{"get":{"tags":["API v1 Admin"],"summary":"Get Training Workers","operationId":"list_admin_training_workers","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/training/workers/{worker_id}":{"patch":{"tags":["API v1 Admin"],"summary":"Patch Training Worker","operationId":"update_admin_training_worker","parameters":[{"name":"worker_id","in":"path","required":true,"schema":{"type":"string","title":"Worker Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminWorkerUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/training/jobs/{job_id}":{"patch":{"tags":["API v1 Admin"],"summary":"Patch Training","operationId":"update_admin_training_job","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminTrainingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/api-keys":{"get":{"tags":["API v1 Admin"],"summary":"Get Keys","operationId":"list_admin_api_keys","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/api-keys/{key_id}/revoke":{"post":{"tags":["API v1 Admin"],"summary":"Post Revoke Key","operationId":"revoke_admin_api_key","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/entitlements":{"get":{"tags":["API v1 Admin"],"summary":"Get Entitlements","operationId":"list_admin_entitlements","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/entitlements/adjustments":{"post":{"tags":["API v1 Admin"],"summary":"Post Adjustment","operationId":"create_admin_entitlement_adjustment","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminQuotaAdjustmentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing":{"get":{"tags":["API v1 Admin"],"summary":"Get Billing","operationId":"get_admin_billing","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/settings/billing":{"get":{"tags":["API v1 Admin"],"summary":"Get Billing Settings","operationId":"get_admin_billing_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["API v1 Admin"],"summary":"Put Billing Settings","operationId":"update_admin_billing_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminBillingSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/subscriptions/{subscription_id}":{"patch":{"tags":["API v1 Admin"],"summary":"Patch Subscription","operationId":"update_admin_subscription","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","pattern":"^sub_[A-Za-z0-9_]+$","title":"Subscription Id"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSubscriptionUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/audit-logs":{"get":{"tags":["API v1 Admin"],"summary":"Get Audits","operationId":"list_admin_audit_logs","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/legacy-traffic":{"get":{"tags":["API v1 Admin"],"summary":"Get Legacy Traffic","operationId":"list_admin_legacy_traffic","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/settings/email":{"get":{"tags":["API v1 Admin"],"summary":"Get Email Settings","operationId":"get_admin_email_settings","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["API v1 Admin"],"summary":"Put Email Settings","operationId":"update_admin_email_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEmailSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/settings/email/test":{"post":{"tags":["API v1 Admin"],"summary":"Post Email Test","operationId":"test_admin_email_settings","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEmailTestRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/grants":{"get":{"tags":["API v1 Admin"],"summary":"Get Grants","operationId":"list_admin_grants","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["API v1 Admin"],"summary":"Post Grant","operationId":"create_admin_grant","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminGrantRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/grants/{user_id}/revoke":{"post":{"tags":["API v1 Admin"],"summary":"Post Revoke Grant","operationId":"revoke_admin_grant","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReasonRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mcp/rpc":{"post":{"tags":["API v1 Agent MCP"],"summary":"Mcp Rpc","operationId":"post_mcp_rpc","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/runtime/commands":{"get":{"tags":["API v1 Agent MCP"],"summary":"Get Commands","operationId":"poll_runtime_commands","parameters":[{"name":"after","in":"query","required":false,"schema":{"type":"integer","minimum":-1,"default":-1,"title":"After"}},{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/runtime/commands/{command_id}/ack":{"post":{"tags":["API v1 Agent MCP"],"summary":"Post Ack","operationId":"acknowledge_runtime_command","parameters":[{"name":"command_id","in":"path","required":true,"schema":{"type":"string","title":"Command Id"}},{"name":"Origin","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CommandResult"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin List","operationId":"admin_list_api_v1_admin_portal_content_get","parameters":[{"name":"kind","in":"query","required":false,"schema":{"anyOf":[{"enum":["page","doc","blog","release"],"type":"string"},{"type":"null"}],"title":"Kind"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string"},{"type":"null"}],"title":"Locale"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/coverage":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Coverage","operationId":"admin_coverage_api_v1_admin_portal_content_coverage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/portal/content/starter":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Starter","operationId":"admin_starter_api_v1_admin_portal_content_starter_get","parameters":[{"name":"kind","in":"query","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"query","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"query","required":false,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","default":"zh","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/draft":{"put":{"tags":["API v1 Portal CMS"],"summary":"Admin Draft","operationId":"admin_draft_api_v1_admin_portal_content_draft_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/llm-status":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Llm Status","operationId":"admin_llm_status_api_v1_admin_portal_content_llm_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/portal/content/integrations":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Integrations","operationId":"admin_integrations_api_v1_admin_portal_content_integrations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"tags":["API v1 Portal CMS"],"summary":"Admin Update Integrations","operationId":"admin_update_integrations_api_v1_admin_portal_content_integrations_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalIntegrationSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/translate":{"post":{"tags":["API v1 Portal CMS"],"summary":"Admin Translate","operationId":"admin_translate_api_v1_admin_portal_content_translate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalTranslateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/preview":{"post":{"tags":["API v1 Portal CMS"],"summary":"Admin Preview","operationId":"admin_preview_api_v1_admin_portal_content_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/{kind}/{slug}/{locale}":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Get","operationId":"admin_get_api_v1_admin_portal_content__kind___slug___locale__get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"path","required":true,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/{kind}/{slug}/{locale}/revisions":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Revisions","operationId":"admin_revisions_api_v1_admin_portal_content__kind___slug___locale__revisions_get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"path","required":true,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/{kind}/{slug}/{locale}/revisions/{revision}":{"get":{"tags":["API v1 Portal CMS"],"summary":"Admin Revision","operationId":"admin_revision_api_v1_admin_portal_content__kind___slug___locale__revisions__revision__get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"path","required":true,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","title":"Locale"}},{"name":"revision","in":"path","required":true,"schema":{"type":"integer","title":"Revision"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/{kind}/{slug}/{locale}/publish":{"post":{"tags":["API v1 Portal CMS"],"summary":"Admin Publish","operationId":"admin_publish_api_v1_admin_portal_content__kind___slug___locale__publish_post","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"path","required":true,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","title":"Locale"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalPublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/content/{kind}/{slug}/{locale}/unpublish":{"post":{"tags":["API v1 Portal CMS"],"summary":"Admin Unpublish","operationId":"admin_unpublish_api_v1_admin_portal_content__kind___slug___locale__unpublish_post","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"path","required":true,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","title":"Locale"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalUnpublishRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/media":{"get":{"tags":["API v1 Portal Media"],"summary":"Admin Media List","operationId":"admin_media_list_api_v1_admin_portal_media_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["API v1 Portal Media"],"summary":"Admin Media Upload","operationId":"admin_media_upload_api_v1_admin_portal_media_post","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":120,"title":"Name"}},{"name":"alt_text","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Alt Text"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/media/{media_id}/file":{"get":{"tags":["API v1 Portal Media"],"summary":"Admin Media File","operationId":"admin_media_file_api_v1_admin_portal_media__media_id__file_get","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/media/{media_id}":{"patch":{"tags":["API v1 Portal Media"],"summary":"Admin Media Update","operationId":"admin_media_update_api_v1_admin_portal_media__media_id__patch","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMediaMetadataRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/media/{media_id}/publish":{"post":{"tags":["API v1 Portal Media"],"summary":"Admin Media Publish","operationId":"admin_media_publish_api_v1_admin_portal_media__media_id__publish_post","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMediaStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/portal/media/{media_id}/disable":{"post":{"tags":["API v1 Portal Media"],"summary":"Admin Media Disable","operationId":"admin_media_disable_api_v1_admin_portal_media__media_id__disable_post","parameters":[{"name":"media_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Media Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMediaStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/content":{"get":{"tags":["API v1 Portal Content"],"summary":"Public List","operationId":"public_list_api_v1_portal_content_get","parameters":[{"name":"kind","in":"query","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"locale","in":"query","required":false,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","default":"zh","title":"Locale"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/content/{kind}/{slug}":{"get":{"tags":["API v1 Portal Content"],"summary":"Public Get","operationId":"public_get_api_v1_portal_content__kind___slug__get","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["page","doc","blog","release"],"type":"string","title":"Kind"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"locale","in":"query","required":false,"schema":{"enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"type":"string","default":"zh","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat/chat_stream":{"post":{"tags":["Chat"],"summary":"Chat Stream","operationId":"chat_stream_chat_chat_stream_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/update_role":{"post":{"tags":["Authentication"],"summary":"Update Role","operationId":"update_role_auth_update_role_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/apply_new_role":{"post":{"tags":["Authentication"],"summary":"Apply New Role","operationId":"apply_new_role_auth_apply_new_role_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/handle_new_role2":{"post":{"tags":["Authentication"],"summary":"Handle New Role2","operationId":"handle_new_role2_auth_handle_new_role2_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_handle_new_role2_auth_handle_new_role2_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/remove_role":{"post":{"tags":["Authentication"],"summary":"Remove Role","operationId":"remove_role_auth_remove_role_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/check_role_status":{"post":{"tags":["Authentication"],"summary":"Check Role Status","operationId":"check_role_status_auth_check_role_status_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/login":{"post":{"tags":["Authentication"],"summary":"Admin Login","operationId":"admin_login_auth_admin_login_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/change_password":{"post":{"tags":["Authentication"],"summary":"Admin Change Password","operationId":"admin_change_password_auth_admin_change_password_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/settings":{"get":{"tags":["Authentication"],"summary":"Admin Get Settings","operationId":"admin_get_settings_auth_admin_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["Authentication"],"summary":"Admin Save Settings","operationId":"admin_save_settings_auth_admin_settings_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/customers":{"get":{"tags":["Authentication"],"summary":"Admin List Customers","operationId":"admin_list_customers_auth_admin_customers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/admin/customer/create":{"post":{"tags":["Authentication"],"summary":"Admin Create Customer","operationId":"admin_create_customer_auth_admin_customer_create_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/customer/update":{"post":{"tags":["Authentication"],"summary":"Admin Update Customer","operationId":"admin_update_customer_auth_admin_customer_update_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/customer/regenerate_key":{"post":{"tags":["Authentication"],"summary":"Admin Regenerate Key","operationId":"admin_regenerate_key_auth_admin_customer_regenerate_key_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/customer/delete":{"post":{"tags":["Authentication"],"summary":"Admin Delete Customer","operationId":"admin_delete_customer_auth_admin_customer_delete_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/avatar/delete":{"post":{"tags":["Authentication"],"summary":"Admin Delete Avatar","operationId":"admin_delete_avatar_auth_admin_avatar_delete_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/avatar/save_config":{"post":{"tags":["Authentication"],"summary":"Admin Save Avatar Config","operationId":"admin_save_avatar_config_auth_admin_avatar_save_config_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/admin/statistics":{"get":{"tags":["Authentication"],"summary":"Admin Get Statistics","operationId":"admin_get_statistics_auth_admin_statistics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/verify_client":{"get":{"tags":["Authentication"],"summary":"Verify Client","operationId":"verify_client_auth_verify_client_get","parameters":[{"name":"customer_id","in":"query","required":true,"schema":{"type":"string","title":"Customer Id"}},{"name":"key","in":"query","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/generate_temp_token":{"post":{"tags":["Authentication"],"summary":"Generate Temp Token","description":"商户服务端通过 customer_id 和 key 换取临时的 Session Token","operationId":"generate_temp_token_auth_generate_temp_token_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/get_webrtc_token":{"post":{"tags":["Authentication"],"summary":"Get Webrtc Token","description":"客户端（浏览器）使用 Session Token 获取 WebRTC 令牌","operationId":"get_webrtc_token_auth_get_webrtc_token_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/avatars/list":{"get":{"tags":["Authentication"],"summary":"List Avatars","operationId":"list_avatars_auth_api_avatars_list_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/train/upload_template":{"post":{"tags":["Authentication"],"summary":"Upload Template","operationId":"upload_template_auth_api_train_upload_template_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_template_auth_api_train_upload_template_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/train/poll_queue":{"get":{"tags":["Authentication"],"summary":"Poll Queue","operationId":"poll_queue_auth_api_train_poll_queue_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/api/train/complete_task":{"post":{"tags":["Authentication"],"summary":"Complete Task","operationId":"complete_task_auth_api_train_complete_task_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_complete_task_auth_api_train_complete_task_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/train/queue_logs":{"get":{"tags":["Authentication"],"summary":"Get Queue Logs","operationId":"get_queue_logs_auth_api_train_queue_logs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/api/quota":{"get":{"tags":["Authentication"],"summary":"Get Quota","operationId":"get_quota_auth_api_quota_get","parameters":[{"name":"customer_id","in":"query","required":true,"schema":{"type":"string","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Authentication"],"summary":"Save Quota","operationId":"save_quota_auth_api_quota_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/setting":{"get":{"tags":["Authentication"],"summary":"Get System Setting","operationId":"get_system_setting_auth_api_setting_get","parameters":[{"name":"key","in":"query","required":true,"schema":{"type":"string","title":"Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Authentication"],"summary":"Save System Setting","operationId":"save_system_setting_auth_api_setting_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/api/admin_generate_token":{"get":{"tags":["Authentication"],"summary":"Admin Generate Token","operationId":"admin_generate_token_auth_api_admin_generate_token_get","parameters":[{"name":"customer_id","in":"query","required":true,"schema":{"type":"string","title":"Customer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/guest_token":{"post":{"tags":["Authentication"],"summary":"Generate Guest Token","operationId":"generate_guest_token_auth_guest_token_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/voice/apply_new_voice":{"post":{"tags":["Voice"],"summary":"Apply New Voice","operationId":"apply_new_voice_voice_apply_new_voice_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/voice/handle_new_voice":{"post":{"tags":["Voice"],"summary":"Handle New Voice","operationId":"handle_new_voice_voice_handle_new_voice_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/voice/check_voice_status":{"post":{"tags":["Voice"],"summary":"Check Voice Status","operationId":"check_voice_status_voice_check_voice_status_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/voice/delete_voice":{"post":{"tags":["Voice"],"summary":"Delete Voice","operationId":"delete_voice_voice_delete_voice_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/create_local_role":{"post":{"tags":["CustomAvatar"],"summary":"Create Local Role","description":"Reject the retired multipart fine-tuning endpoint deterministically.","operationId":"create_local_role_auth_create_local_role_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_local_role_auth_create_local_role_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/check_local_role_status":{"get":{"tags":["CustomAvatar"],"summary":"Check Local Role Status","operationId":"check_local_role_status_auth_check_local_role_status_get","parameters":[{"name":"avatar_id","in":"query","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/list_custom_voices":{"get":{"tags":["CustomAvatar"],"summary":"List Custom Voices","operationId":"list_custom_voices_auth_list_custom_voices_get","parameters":[{"name":"unionid","in":"query","required":false,"schema":{"type":"string","title":"Unionid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/enroll_custom_voice":{"post":{"tags":["CustomAvatar"],"summary":"Enroll Custom Voice","operationId":"enroll_custom_voice_auth_enroll_custom_voice_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_enroll_custom_voice_auth_enroll_custom_voice_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/design_custom_voice":{"post":{"tags":["CustomAvatar"],"summary":"Design Custom Voice","operationId":"design_custom_voice_auth_design_custom_voice_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_design_custom_voice_auth_design_custom_voice_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/delete_custom_voice":{"post":{"tags":["CustomAvatar"],"summary":"Delete Custom Voice","operationId":"delete_custom_voice_auth_delete_custom_voice_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_delete_custom_voice_auth_delete_custom_voice_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/rpc":{"post":{"tags":["MCP"],"summary":"Mcp Rpc","description":"Standard Model Context Protocol (MCP) JSON-RPC 2.0 gateway.","operationId":"mcp_rpc_mcp_rpc_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/runtime-telemetry":{"post":{"tags":["runtime-telemetry"],"summary":"Ingest Runtime Telemetry","operationId":"ingest_runtime_telemetry_api_runtime_telemetry_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/runtime-telemetry/summary":{"get":{"tags":["runtime-telemetry"],"summary":"Runtime Telemetry Summary","operationId":"runtime_telemetry_summary_api_runtime_telemetry_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Read Index","operationId":"read_index__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/assets/{avatar_id}/memory.bin":{"put":{"summary":"Upload Memory Bin","operationId":"upload_memory_bin_api_assets__avatar_id__memory_bin_put","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"Download Memory Bin","operationId":"download_memory_bin_api_assets__avatar_id__memory_bin_get","parameters":[{"name":"avatar_id","in":"path","required":true,"schema":{"type":"string","title":"Avatar Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/login":{"post":{"summary":"Login","description":"登录接口，接收unionid并返回角色和音色列表","operationId":"login_login_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/generate_temp_token":{"post":{"summary":"Generate Temp Token","description":"生成临时访问令牌\n返回格式: { \"token\": \"st-****\", \"expires_at\": 1744080369 }","operationId":"generate_temp_token_generate_temp_token_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdminAvatarUpdateRequest":{"properties":{"visibility":{"anyOf":[{"type":"string","enum":["private","public"]},{"type":"null"}],"title":"Visibility"},"status":{"anyOf":[{"type":"string","enum":["draft","active","archived"]},{"type":"null"}],"title":"Status"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"AdminAvatarUpdateRequest"},"AdminBillingSettingsRequest":{"properties":{"currency":{"type":"string","pattern":"^[A-Za-z]{3}$","title":"Currency","default":"usd"},"secret_key":{"anyOf":[{"type":"string","maxLength":255,"minLength":8},{"type":"null"}],"title":"Secret Key"},"webhook_secret":{"anyOf":[{"type":"string","maxLength":255,"minLength":8},{"type":"null"}],"title":"Webhook Secret"},"clear_secret_key":{"type":"boolean","title":"Clear Secret Key","default":false},"clear_webhook_secret":{"type":"boolean","title":"Clear Webhook Secret","default":false},"runtime_enabled":{"type":"boolean","title":"Runtime Enabled","default":false},"runtime_price_id":{"anyOf":[{"type":"string","maxLength":128,"pattern":"^price_[A-Za-z0-9_]+$"},{"type":"null"}],"title":"Runtime Price Id"},"runtime_minutes":{"type":"integer","maximum":10000000.0,"minimum":1.0,"title":"Runtime Minutes","default":60},"runtime_amount":{"type":"integer","maximum":2000000000.0,"minimum":0.0,"title":"Runtime Amount","default":0},"geometry_enabled":{"type":"boolean","title":"Geometry Enabled","default":false},"geometry_price_id":{"anyOf":[{"type":"string","maxLength":128,"pattern":"^price_[A-Za-z0-9_]+$"},{"type":"null"}],"title":"Geometry Price Id"},"geometry_units":{"type":"integer","maximum":1000000.0,"minimum":1.0,"title":"Geometry Units","default":1},"geometry_amount":{"type":"integer","maximum":2000000000.0,"minimum":0.0,"title":"Geometry Amount","default":0},"concurrency_enabled":{"type":"boolean","title":"Concurrency Enabled","default":false},"concurrency_price_id":{"anyOf":[{"type":"string","maxLength":128,"pattern":"^price_[A-Za-z0-9_]+$"},{"type":"null"}],"title":"Concurrency Price Id"},"concurrency_units":{"type":"integer","maximum":100000.0,"minimum":1.0,"title":"Concurrency Units","default":20},"concurrency_amount":{"type":"integer","maximum":2000000000.0,"minimum":0.0,"title":"Concurrency Amount","default":0},"runtime_pack_price_ids":{"additionalProperties":{"type":"string"},"type":"object","title":"Runtime Pack Price Ids"},"geometry_pack_price_ids":{"additionalProperties":{"type":"string"},"type":"object","title":"Geometry Pack Price Ids"}},"additionalProperties":false,"type":"object","title":"AdminBillingSettingsRequest"},"AdminEmailSettingsRequest":{"properties":{"host":{"type":"string","maxLength":255,"minLength":1,"title":"Host"},"port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Port"},"security":{"type":"string","enum":["starttls","ssl"],"title":"Security","default":"starttls"},"username":{"anyOf":[{"type":"string","maxLength":320},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Password"},"from_address":{"type":"string","format":"email","title":"From Address"}},"type":"object","required":["host","port","from_address"],"title":"AdminEmailSettingsRequest"},"AdminEmailTestRequest":{"properties":{"recipient":{"type":"string","format":"email","title":"Recipient"}},"type":"object","required":["recipient"],"title":"AdminEmailTestRequest"},"AdminGrantRequest":{"properties":{"user_id":{"type":"string","pattern":"^[0-9a-fA-F-]{36}$","title":"User Id"},"role":{"type":"string","enum":["superadmin","operator","support","billing","auditor"],"title":"Role"}},"type":"object","required":["user_id","role"],"title":"AdminGrantRequest"},"AdminQuotaAdjustmentRequest":{"properties":{"workspace_id":{"type":"string","pattern":"^[0-9a-fA-F-]{36}$","title":"Workspace Id"},"resource":{"type":"string","enum":["runtime_seconds","geometry_templates","runtime_concurrency"],"title":"Resource"},"delta_units":{"anyOf":[{"type":"integer","maximum":100000000.0,"minimum":-100000000.0},{"type":"null"}],"title":"Delta Units"},"delta_minutes":{"anyOf":[{"type":"integer","maximum":1666666.0,"minimum":-1666666.0},{"type":"null"}],"title":"Delta Minutes"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"},"idempotency_key":{"type":"string","maxLength":128,"minLength":8,"pattern":"^[A-Za-z0-9._:-]+$","title":"Idempotency Key"}},"type":"object","required":["workspace_id","resource","reason","idempotency_key"],"title":"AdminQuotaAdjustmentRequest"},"AdminReasonRequest":{"properties":{"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"AdminReasonRequest"},"AdminSubscriptionUpdateRequest":{"properties":{"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["cancel_at_period_end","reason"],"title":"AdminSubscriptionUpdateRequest"},"AdminTrainingRequest":{"properties":{"action":{"type":"string","enum":["set_priority","cancel"],"title":"Action"},"priority":{"anyOf":[{"type":"integer","maximum":10.0,"minimum":-10.0},{"type":"null"}],"title":"Priority"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["action","reason"],"title":"AdminTrainingRequest"},"AdminUserStatusRequest":{"properties":{"status":{"type":"string","enum":["active","disabled"],"title":"Status"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["status","reason"],"title":"AdminUserStatusRequest"},"AdminWorkerUpdateRequest":{"properties":{"status":{"anyOf":[{"type":"string","enum":["active","draining","disabled"]},{"type":"null"}],"title":"Status"},"max_concurrency":{"anyOf":[{"type":"integer","maximum":32.0,"minimum":1.0},{"type":"null"}],"title":"Max Concurrency"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"type":"object","required":["reason"],"title":"AdminWorkerUpdateRequest"},"ApiKeyCreateRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"environment":{"type":"string","enum":["live","test"],"title":"Environment","default":"live"},"origins":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Origins"},"runtime_concurrency_limit":{"type":"integer","maximum":100000.0,"minimum":0.0,"title":"Runtime Concurrency Limit","default":20}},"type":"object","required":["name","origins"],"title":"ApiKeyCreateRequest"},"ApiKeyUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"origins":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1},{"type":"null"}],"title":"Origins"},"runtime_concurrency_limit":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":0.0},{"type":"null"}],"title":"Runtime Concurrency Limit"}},"type":"object","title":"ApiKeyUpdateRequest"},"AssetUploadCompleteRequest":{"properties":{"upload_id":{"type":"string","pattern":"^[0-9a-fA-F-]{36}$","title":"Upload Id"}},"type":"object","required":["upload_id"],"title":"AssetUploadCompleteRequest"},"AssetUploadCreateRequest":{"properties":{"kind":{"type":"string","enum":["portrait","full_body","template_image"],"title":"Kind"},"file_name":{"type":"string","maxLength":160,"minLength":1,"pattern":"^[^/\\\\]+\\.[A-Za-z0-9]+$","title":"File Name"},"content_type":{"type":"string","enum":["image/jpeg","image/png"],"title":"Content Type"},"size_bytes":{"type":"integer","maximum":20971520.0,"exclusiveMinimum":0.0,"title":"Size Bytes"},"sha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}],"title":"Sha256"}},"type":"object","required":["kind","file_name","content_type","size_bytes"],"title":"AssetUploadCreateRequest"},"AvatarCreateRequest":{"properties":{"width":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Height"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"template_name":{"type":"string","maxLength":100,"minLength":1,"title":"Template Name"},"background_mode":{"type":"string","enum":["original","transparent"],"title":"Background Mode","default":"original"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"}},"type":"object","required":["name","template_name"],"title":"AvatarCreateRequest"},"AvatarUpdateRequest":{"properties":{"width":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Height"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"}},"type":"object","title":"AvatarUpdateRequest"},"Body_complete_task_auth_api_train_complete_task_post":{"properties":{"task_id":{"type":"string","title":"Task Id"},"avatar_id":{"type":"string","title":"Avatar Id"},"customer_id":{"type":"string","title":"Customer Id"},"avatar_name":{"type":"string","title":"Avatar Name"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["task_id","avatar_id","customer_id","avatar_name","file"],"title":"Body_complete_task_auth_api_train_complete_task_post"},"Body_create_local_role_auth_create_local_role_post":{"properties":{"unionid":{"type":"string","title":"Unionid"},"avatar_name":{"type":"string","title":"Avatar Name"},"cosyvoice_id":{"type":"string","title":"Cosyvoice Id","default":"longhua"},"system_prompt":{"type":"string","title":"System Prompt","default":""},"epochs":{"type":"integer","title":"Epochs"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"thumbnail_file":{"type":"string","contentMediaType":"application/octet-stream","title":"Thumbnail File"}},"type":"object","required":["unionid","avatar_name","file"],"title":"Body_create_local_role_auth_create_local_role_post"},"Body_delete_custom_voice_auth_delete_custom_voice_post":{"properties":{"voice_id":{"type":"string","title":"Voice Id"}},"type":"object","required":["voice_id"],"title":"Body_delete_custom_voice_auth_delete_custom_voice_post"},"Body_design_custom_voice_auth_design_custom_voice_post":{"properties":{"unionid":{"type":"string","title":"Unionid"},"voice_name":{"type":"string","title":"Voice Name"},"gender":{"type":"string","title":"Gender","default":"female"},"age_group":{"type":"string","title":"Age Group","default":"adult"},"voice_attributes":{"type":"string","title":"Voice Attributes","default":""},"pitch":{"type":"number","title":"Pitch","default":0},"speed":{"type":"number","title":"Speed","default":0}},"type":"object","required":["unionid","voice_name"],"title":"Body_design_custom_voice_auth_design_custom_voice_post"},"Body_enroll_custom_voice_auth_enroll_custom_voice_post":{"properties":{"unionid":{"type":"string","title":"Unionid"},"voice_name":{"type":"string","title":"Voice Name"},"reference_text":{"type":"string","title":"Reference Text"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["unionid","voice_name","reference_text","file"],"title":"Body_enroll_custom_voice_auth_enroll_custom_voice_post"},"Body_handle_new_role2_auth_handle_new_role2_post":{"properties":{"unionid":{"type":"string","title":"Unionid"},"avatar_id":{"type":"string","title":"Avatar Id"},"avatar_name":{"type":"string","title":"Avatar Name"},"matting":{"type":"boolean","title":"Matting","default":false},"keepsize":{"type":"boolean","title":"Keepsize","default":false},"reverse":{"type":"boolean","title":"Reverse","default":false},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"thumbnail_file":{"type":"string","contentMediaType":"application/octet-stream","title":"Thumbnail File"}},"type":"object","required":["unionid","avatar_id","avatar_name","file"],"title":"Body_handle_new_role2_auth_handle_new_role2_post"},"Body_upload_template_auth_api_train_upload_template_post":{"properties":{"avatar_name":{"type":"string","title":"Avatar Name"},"video_file":{"type":"string","contentMediaType":"application/octet-stream","title":"Video File"}},"type":"object","required":["avatar_name","video_file"],"title":"Body_upload_template_auth_api_train_upload_template_post"},"CheckoutCreateRequest":{"properties":{"price_code":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[a-z0-9][a-z0-9_-]*$","title":"Price Code"}},"type":"object","required":["price_code"],"title":"CheckoutCreateRequest"},"CommandResult":{"properties":{"status":{"type":"string","title":"Status","default":"acknowledged"},"error_code":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Error Code"}},"type":"object","title":"CommandResult"},"EmailCodeRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","pattern":"^\\d{6}$","title":"Code"}},"type":"object","required":["email","code"],"title":"EmailCodeRequest"},"EmailOnlyRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"EmailOnlyRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LicenseGrantRequest":{"properties":{"package_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Package Sha256"},"client_public_key":{"type":"string","maxLength":160,"minLength":80,"title":"Client Public Key"},"challenge":{"type":"string","pattern":"^[a-f0-9]{64}$","title":"Challenge"}},"additionalProperties":false,"type":"object","required":["package_sha256","client_public_key","challenge"],"title":"LicenseGrantRequest"},"LoginRequest":{"properties":{"identifier":{"type":"string","maxLength":320,"minLength":3,"title":"Identifier"},"password":{"type":"string","maxLength":128,"minLength":1,"title":"Password"}},"type":"object","required":["identifier","password"],"title":"LoginRequest"},"MouthParameters":{"properties":{"teeth_scale":{"type":"number","maximum":1.5,"minimum":0.0,"title":"Teeth Scale","description":"3D teeth size multiplier","default":1.0},"mask_offset":{"type":"number","maximum":0.5,"minimum":-0.2,"title":"Mask Offset","description":"Mouth edge leak-prevention mask offset","default":0.0},"openness_scale":{"type":"number","maximum":2.0,"minimum":0.5,"title":"Openness Scale","description":"Vertical mouth opening multiplier","default":1.0},"width_scale":{"type":"number","maximum":2.0,"minimum":0.5,"title":"Width Scale","description":"Horizontal mouth width multiplier","default":1.0},"left_openness_scale":{"type":"number","maximum":2.0,"minimum":0.5,"title":"Left Openness Scale","description":"Left-side opening multiplier","default":1.0},"left_width_scale":{"type":"number","maximum":2.0,"minimum":0.5,"title":"Left Width Scale","description":"Left-side width multiplier","default":1.0}},"additionalProperties":false,"type":"object","title":"MouthParameters"},"PasswordChangeRequest":{"properties":{"current_password":{"type":"string","maxLength":128,"minLength":1,"title":"Current Password"},"password":{"type":"string","title":"Password"},"password_confirmation":{"type":"string","title":"Password Confirmation"}},"type":"object","required":["current_password","password","password_confirmation"],"title":"PasswordChangeRequest"},"PasswordResetRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","pattern":"^\\d{6}$","title":"Code"},"password":{"type":"string","title":"Password"},"password_confirmation":{"type":"string","title":"Password Confirmation"}},"type":"object","required":["email","code","password","password_confirmation"],"title":"PasswordResetRequest"},"PortalDraftRequest":{"properties":{"kind":{"type":"string","enum":["page","doc","blog","release"],"title":"Kind"},"slug":{"type":"string","maxLength":96,"minLength":1,"pattern":"^[a-z0-9][a-z0-9.-]*$","title":"Slug"},"locale":{"type":"string","enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"title":"Locale"},"title":{"type":"string","maxLength":200,"minLength":1,"title":"Title"},"summary":{"type":"string","maxLength":1000,"title":"Summary","default":""},"body_markdown":{"type":"string","maxLength":120000,"title":"Body Markdown","default":""},"media_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Media Id"},"expected_revision":{"type":"integer","minimum":0.0,"title":"Expected Revision"}},"additionalProperties":false,"type":"object","required":["kind","slug","locale","title","expected_revision"],"title":"PortalDraftRequest"},"PortalIntegrationSettingsRequest":{"properties":{"contact_recipient":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Contact Recipient"},"examples_repository_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Examples Repository Url"},"llm_endpoint":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Llm Endpoint"},"llm_model":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Llm Model"},"llm_api_key":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Llm Api Key"},"clear_llm_api_key":{"type":"boolean","title":"Clear Llm Api Key","default":false}},"additionalProperties":false,"type":"object","title":"PortalIntegrationSettingsRequest"},"PortalMediaMetadataRequest":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"alt_text":{"type":"string","maxLength":200,"minLength":1,"title":"Alt Text"}},"additionalProperties":false,"type":"object","required":["name","alt_text"],"title":"PortalMediaMetadataRequest"},"PortalMediaStatusRequest":{"properties":{"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"PortalMediaStatusRequest"},"PortalPublishRequest":{"properties":{"revision":{"type":"integer","minimum":1.0,"title":"Revision"},"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["revision","reason"],"title":"PortalPublishRequest"},"PortalRuntimePreviewRequest":{"properties":{"avatar_id":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"},"template_code":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"},"output_mode":{"anyOf":[{"type":"string","enum":["original","transparent"]},{"type":"null"}],"title":"Output Mode"}},"type":"object","required":["avatar_id","template_code"],"title":"PortalRuntimePreviewRequest"},"PortalTranslateRequest":{"properties":{"kind":{"type":"string","enum":["page","doc","blog","release"],"title":"Kind"},"slug":{"type":"string","maxLength":96,"minLength":1,"pattern":"^[a-z0-9][a-z0-9.-]*$","title":"Slug"},"source_locale":{"type":"string","enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"title":"Source Locale"},"target_locale":{"type":"string","enum":["zh","en","fr","de","ru","es","it","ar","ja","ko","th","ms","vi","hi","id"],"title":"Target Locale"}},"additionalProperties":false,"type":"object","required":["kind","slug","source_locale","target_locale"],"title":"PortalTranslateRequest"},"PortalUnpublishRequest":{"properties":{"reason":{"type":"string","maxLength":300,"minLength":3,"title":"Reason"}},"additionalProperties":false,"type":"object","required":["reason"],"title":"PortalUnpublishRequest"},"ProfileUpdateRequest":{"properties":{"nickname":{"type":"string","maxLength":80,"minLength":1,"title":"Nickname"}},"type":"object","required":["nickname"],"title":"ProfileUpdateRequest"},"RegisterRequest":{"properties":{"username":{"type":"string","title":"Username"},"nickname":{"type":"string","maxLength":80,"minLength":1,"title":"Nickname"},"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"password_confirmation":{"type":"string","title":"Password Confirmation"}},"type":"object","required":["username","nickname","email","password","password_confirmation"],"title":"RegisterRequest"},"RuntimeClientContract":{"properties":{"sdk_version":{"type":"string","pattern":"^\\d+\\.\\d+\\.\\d+$","title":"Sdk Version","default":"2.1.0"},"protocol":{"type":"string","maxLength":64,"title":"Protocol","default":"kasamila-runtime-v1"},"geometry_contract":{"type":"string","maxLength":64,"title":"Geometry Contract","default":"kasamila-geometry-track-v2"},"update_policy":{"type":"string","enum":["pinned","stable","preview"],"title":"Update Policy","default":"pinned"},"required_capabilities":{"items":{"type":"string"},"type":"array","maxItems":16,"title":"Required Capabilities"}},"additionalProperties":false,"type":"object","title":"RuntimeClientContract"},"RuntimeSessionCreateRequest":{"properties":{"avatar_id":{"type":"string","pattern":"^\\d{12}$","title":"Avatar Id"},"template_code":{"type":"string","pattern":"^\\d{3}$","title":"Template Code"},"origin":{"type":"string","maxLength":320,"minLength":1,"title":"Origin"},"input_modes":{"items":{"type":"string","enum":["file","audio_url","microphone","pcm_stream","tts_stream","rtc"]},"type":"array","maxItems":6,"minItems":1,"title":"Input Modes"},"output_mode":{"anyOf":[{"type":"string","enum":["original","transparent"]},{"type":"null"}],"title":"Output Mode"},"max_duration_seconds":{"type":"integer","maximum":900.0,"minimum":60.0,"title":"Max Duration Seconds","default":600},"client":{"$ref":"#/components/schemas/RuntimeClientContract"}},"type":"object","required":["avatar_id","template_code","origin","input_modes"],"title":"RuntimeSessionCreateRequest"},"RuntimeUsageBatchRequest":{"properties":{"events":{"items":{"$ref":"#/components/schemas/RuntimeUsageEventRequest"},"type":"array","maxItems":20,"minItems":1,"title":"Events"}},"type":"object","required":["events"],"title":"RuntimeUsageBatchRequest"},"RuntimeUsageEventRequest":{"properties":{"event_id":{"type":"string","pattern":"^evt_[0-9a-f]{32}$","title":"Event Id"},"sequence":{"type":"integer","maximum":1000000.0,"minimum":0.0,"title":"Sequence"},"type":{"type":"string","enum":["start","heartbeat","end"],"title":"Type"},"input_mode":{"type":"string","enum":["unknown","file","audio_url","microphone","pcm_stream","tts_stream","rtc"],"title":"Input Mode","default":"unknown"}},"type":"object","required":["event_id","sequence","type"],"title":"RuntimeUsageEventRequest"},"TemplateCreateRequest":{"properties":{"width":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Height"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"background_mode":{"type":"string","enum":["original","transparent"],"title":"Background Mode","default":"original"},"mouth_profile":{"type":"string","enum":["C","G","H"],"title":"Mouth Profile","description":"Authoritative browser mouth-drive profile","default":"C"},"mouth_parameters":{"$ref":"#/components/schemas/MouthParameters","description":"Authoritative per-template browser mouth calibration"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"}},"type":"object","required":["name"],"title":"TemplateCreateRequest"},"TemplateUpdateRequest":{"properties":{"width":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":8192.0,"minimum":16.0},{"type":"null"}],"title":"Height"},"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"background_mode":{"type":"string","enum":["original","transparent"],"title":"Background Mode"},"mouth_profile":{"type":"string","enum":["C","G","H","I"],"title":"Mouth Profile","description":"New authoritative browser mouth-drive profile; explicit null is rejected"},"mouth_parameters":{"$ref":"#/components/schemas/MouthParameters","title":"Mouth Parameters","description":"Partial calibration patch; omitted properties preserve their current values and explicit null is rejected"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"preview_video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Video Url"}},"type":"object","title":"TemplateUpdateRequest"},"TrainingCreateRequest":{"properties":{"upload_id":{"type":"string","pattern":"^[0-9a-fA-F-]{36}$","title":"Upload Id"},"background_mode_confirmation":{"type":"string","enum":["original","transparent"],"title":"Background Mode Confirmation"},"build_mode":{"type":"string","const":"geometry","title":"Build Mode","default":"geometry"},"epochs":{"type":"integer","maximum":300.0,"minimum":1.0,"title":"Epochs","default":1},"priority":{"type":"integer","maximum":10.0,"minimum":-10.0,"title":"Priority","default":0},"max_retries":{"type":"integer","maximum":10.0,"minimum":0.0,"title":"Max Retries","default":2}},"type":"object","required":["upload_id","background_mode_confirmation"],"title":"TrainingCreateRequest"},"UploadCompleteRequest":{"properties":{"upload_id":{"type":"string","pattern":"^[0-9a-fA-F-]{36}$","title":"Upload Id"},"width":{"anyOf":[{"type":"integer","maximum":4096.0,"minimum":320.0},{"type":"null"}],"title":"Width"},"height":{"anyOf":[{"type":"integer","maximum":4096.0,"minimum":320.0},{"type":"null"}],"title":"Height"},"duration_ms":{"anyOf":[{"type":"integer","maximum":1800000.0,"minimum":1000.0},{"type":"null"}],"title":"Duration Ms"},"fps":{"anyOf":[{"type":"number","maximum":120.0,"minimum":1.0},{"type":"null"}],"title":"Fps"}},"type":"object","required":["upload_id"],"title":"UploadCompleteRequest"},"UploadCreateRequest":{"properties":{"file_name":{"type":"string","maxLength":160,"minLength":1,"pattern":"^[^/\\\\]+\\.mp4$","title":"File Name"},"content_type":{"type":"string","const":"video/mp4","title":"Content Type","default":"video/mp4"},"size_bytes":{"type":"integer","maximum":2147483648.0,"exclusiveMinimum":0.0,"title":"Size Bytes"},"sha256":{"anyOf":[{"type":"string","pattern":"^[0-9a-f]{64}$"},{"type":"null"}],"title":"Sha256"}},"type":"object","required":["file_name","size_bytes"],"title":"UploadCreateRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkerArtifactEntry":{"properties":{"kind":{"type":"string","enum":["preview_video","preview_video_matte","preview_video_alpha","mesh","geometry_track_index","geometry_track_bundle","thumbnail","config","oral_observations","oral_calibration","oral_masks","oral_segmentation"],"title":"Kind"},"content_type":{"type":"string","maxLength":128,"minLength":1,"title":"Content Type"},"size_bytes":{"type":"integer","maximum":2147483648.0,"exclusiveMinimum":0.0,"title":"Size Bytes"},"sha256":{"type":"string","pattern":"^[0-9a-f]{64}$","title":"Sha256"}},"type":"object","required":["kind","content_type","size_bytes","sha256"],"title":"WorkerArtifactEntry"},"WorkerCompleteRequest":{"properties":{"artifacts":{"items":{"$ref":"#/components/schemas/WorkerArtifactEntry"},"type":"array","maxItems":12,"minItems":4,"title":"Artifacts"}},"type":"object","required":["artifacts"],"title":"WorkerCompleteRequest"},"WorkerFailRequest":{"properties":{"error_code":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[a-z0-9_]+$","title":"Error Code"},"message":{"type":"string","maxLength":500,"title":"Message","default":"Training failed"},"retryable":{"type":"boolean","title":"Retryable","default":true},"log_uri":{"anyOf":[{"type":"string","maxLength":1024},{"type":"null"}],"title":"Log Uri"}},"type":"object","required":["error_code"],"title":"WorkerFailRequest"},"WorkerHeartbeatRequest":{"properties":{"stage":{"type":"string","enum":["preprocessing","training","validating"],"title":"Stage"},"progress":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Progress","default":0}},"type":"object","required":["stage"],"title":"WorkerHeartbeatRequest"},"WorkerLeaseRequest":{"properties":{"capabilities":{"items":{"type":"string"},"type":"array","maxItems":32,"title":"Capabilities"},"worker_version":{"type":"string","maxLength":32,"minLength":1,"pattern":"^[0-9A-Za-z._-]+$","title":"Worker Version","default":"legacy"},"artifact_schema_version":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Artifact Schema Version","default":1}},"type":"object","title":"WorkerLeaseRequest"}}}}