{"openapi":"3.1.0","info":{"title":"Gritiva Docs CMS","version":"0.1.0"},"paths":{"/api/time":{"get":{"summary":"Time Now","operationId":"time_now_api_time_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/send-code":{"post":{"summary":"Send Verification Code","operationId":"send_verification_code_auth_send_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/verify-code":{"post":{"summary":"Verify Code Endpoint","operationId":"verify_code_endpoint_auth_verify_code_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CodeVerify"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"summary":"Login","operationId":"login_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserLogin"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/refresh":{"post":{"summary":"Refresh Token","operationId":"refresh_token_auth_refresh_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/register":{"post":{"summary":"Register","operationId":"register_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/me":{"get":{"summary":"Get Me","operationId":"get_me_auth_me_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserMeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/sso-callback":{"get":{"tags":["Internal SSO"],"summary":"Internal SSO callback — exchanges bridge token for local session","operationId":"sso_callback_api_auth_sso_callback_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"HMAC bridge JWT signed by main backend","title":"Token"},"description":"HMAC bridge JWT signed by main backend"},{"name":"next","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Post-login redirect","title":"Next"},"description":"Post-login redirect"}],"responses":{"307":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/sso-health":{"get":{"tags":["Internal SSO"],"summary":"Check whether internal SSO is configured (no secrets returned)","operationId":"sso_health_api_auth_sso_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/dataroom/dataroom/":{"get":{"tags":["Dataroom"],"summary":"Dataroom Welcome Message","description":"این اندپوینت پیام خوشامدگویی به بخش دیتاروم را برمی‌گرداند.\n    مسیر این اندپوینت `/dataroom/` است.","operationId":"dataroom_index_dataroom_dataroom__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Dataroom Index Dataroom Dataroom  Get"}}}}}}},"/docs/dashboard":{"get":{"tags":["Dashboard"],"summary":"Get Dashboard Data","operationId":"get_dashboard_data_docs_dashboard_get","parameters":[{"name":"recent_limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":5,"title":"Recent Limit"}},{"name":"top_limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":5,"title":"Top Limit"}},{"name":"top_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Top Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Dashboard Data Docs Dashboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/":{"get":{"tags":["Documents"],"summary":"List public documents","operationId":"list_public_docs_api_docs__get","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":{"type":"array","items":{"$ref":"#/components/schemas/DocumentListOut"},"title":"Response List Public Docs Api Docs  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Documents"],"summary":"Create a new document","operationId":"create_doc_api_docs__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs":{"get":{"tags":["Documents"],"summary":"List Public Docs","operationId":"list_public_docs_api_docs_get","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/docs/{doc_id}/pin":{"post":{"tags":["Documents"],"summary":"Pin a document","operationId":"pin_doc_api_docs__doc_id__pin_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/{doc_id}/unpin":{"post":{"tags":["Documents"],"summary":"Unpin a document","operationId":"unpin_doc_api_docs__doc_id__unpin_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/private":{"get":{"tags":["Documents"],"summary":"List documents accessible to current user","operationId":"list_accessible_docs_api_docs_private_get","security":[{"OAuth2PasswordBearer":[]}],"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"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentListOut"},"title":"Response List Accessible Docs Api Docs Private Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/tree":{"get":{"tags":["Documents"],"summary":"Sidebar tree for guests (public only)","operationId":"document_tree_api_docs_tree_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Document Tree Api Docs Tree Get"}}}}}}},"/api/docs/tree/me":{"get":{"tags":["Documents"],"summary":"Sidebar tree for current user (ACL-aware)","operationId":"document_tree_for_user_api_docs_tree_me_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Document Tree For User Api Docs Tree Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/search":{"get":{"tags":["Documents"],"summary":"Search documents (ACL-aware)","operationId":"search_docs_api_docs_search_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentListOut"},"title":"Response Search Docs Api Docs Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/suggest/full":{"get":{"tags":["Documents"],"summary":"Structured suggestions with slug (ACL-aware)","operationId":"suggest_full_api_docs_suggest_full_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":8,"title":"Limit"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentSearchOut"},"title":"Response Suggest Full Api Docs Suggest Full Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/suggest":{"get":{"tags":["Documents"],"summary":"Suggest titles (ACL-aware)","operationId":"suggest_titles_api_docs_suggest_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":8,"title":"Limit"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response Suggest Titles Api Docs Suggest Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/{slug}":{"get":{"tags":["Documents"],"summary":"Get document by slug (ACL-aware)","operationId":"get_doc_by_slug_api_docs__slug__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/{doc_id}":{"put":{"tags":["Documents"],"summary":"Update a document","operationId":"update_doc_api_docs__doc_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Documents"],"summary":"Delete a document","operationId":"delete_doc_api_docs__doc_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/":{"get":{"tags":["Admin Categories"],"summary":"List all categories (flat)","operationId":"list_categories_api_admin_categories__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryOut"},"title":"Response List Categories Api Admin Categories  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Admin Categories"],"summary":"Create category","operationId":"create_category_api_admin_categories__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/tree":{"get":{"tags":["Admin Categories"],"summary":"Get category tree","operationId":"get_category_tree_api_admin_categories_tree_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CategoryOut"},"title":"Response Get Category Tree Api Admin Categories Tree Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/{category_id}":{"get":{"tags":["Admin Categories"],"summary":"Get category by id","operationId":"get_category_api_admin_categories__category_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"integer","title":"Category Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Admin Categories"],"summary":"Update category","operationId":"update_category_api_admin_categories__category_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"integer","title":"Category Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin Categories"],"summary":"Delete category","operationId":"delete_category_api_admin_categories__category_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"integer","title":"Category Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/{category_id}/move":{"post":{"tags":["Admin Categories"],"summary":"Move category among its siblings (up/down)","operationId":"move_category_api_admin_categories__category_id__move_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"integer","title":"Category Id"}},{"name":"direction","in":"query","required":true,"schema":{"enum":["up","down"],"type":"string","description":"Move direction: up or down","title":"Direction"},"description":"Move direction: up or down"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/reorder":{"post":{"tags":["Admin Categories"],"summary":"Bulk reorder siblings under a parent","operationId":"bulk_reorder_api_admin_categories_reorder_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/categories/{category_id}/parent":{"patch":{"tags":["Admin Categories"],"summary":"Change a category's parent","operationId":"change_parent_api_admin_categories__category_id__parent_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category_id","in":"path","required":true,"schema":{"type":"integer","title":"Category Id"}},{"name":"new_parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"New parent id; omit for root","title":"New Parent Id"},"description":"New parent id; omit for root"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/buckets/counts":{"get":{"tags":["Admin Documents"],"summary":"Counts per bucket (empty/queued/processing/approved/failed)","operationId":"get_bucket_counts_v2_api_admin_docs_buckets_counts_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"propertyNames":{"enum":["empty","queued","processing","approved","failed"]},"title":"Response Get Bucket Counts V2 Api Admin Docs Buckets Counts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/buckets/{bucket}":{"get":{"tags":["Admin Documents"],"summary":"List documents by bucket with search & pagination","operationId":"list_documents_by_bucket_v2_api_admin_docs_buckets__bucket__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"bucket","in":"path","required":true,"schema":{"enum":["empty","queued","processing","approved","failed"],"type":"string","title":"Bucket"}},{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"search in title/slug/category","default":"","title":"Q"},"description":"search in title/slug/category"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":30,"title":"Page Size"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Documents By Bucket V2 Api Admin Docs Buckets  Bucket  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/":{"get":{"tags":["Admin Documents"],"summary":"List all documents (no ACL filter)","operationId":"list_all_documents_api_admin_docs__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"offset","default":0,"title":"Skip"},"description":"offset"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"page size","default":50,"title":"Limit"},"description":"page size"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DocumentListOut"},"title":"Response List All Documents Api Admin Docs  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Admin Documents"],"summary":"Create a new document","operationId":"create_document_api_admin_docs__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/{doc_id}":{"put":{"tags":["Admin Documents"],"summary":"Update a document","operationId":"update_document_api_admin_docs__doc_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"description":"Document ID","title":"Doc Id"},"description":"Document ID"},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin Documents"],"summary":"Delete a document","operationId":"delete_document_api_admin_docs__doc_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Admin Documents"],"summary":"Get a document by id (full payload)","operationId":"get_document_api_admin_docs__doc_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/{doc_id}/pin":{"post":{"tags":["Admin Documents"],"summary":"Pin a document","operationId":"admin_pin_document_api_admin_docs__doc_id__pin_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/docs/{doc_id}/unpin":{"post":{"tags":["Admin Documents"],"summary":"Unpin a document","operationId":"admin_unpin_document_api_admin_docs__doc_id__unpin_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Doc Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/roles":{"get":{"tags":["admin"],"summary":"List Roles Endpoint","operationId":"list_roles_endpoint_admin_roles_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/RoleOut"},"title":"Response List Roles Endpoint Admin Roles Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/roles/names":{"get":{"tags":["admin"],"summary":"List Role Names Endpoint","operationId":"list_role_names_endpoint_admin_roles_names_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"auth_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},{"name":"token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"},"title":"Response List Role Names Endpoint Admin Roles Names Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/procs":{"get":{"tags":["admin-celery"],"summary":"Get Procs","operationId":"get_procs_api_admin_celery_procs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Response Get Procs Api Admin Celery Procs Get"}}}}}}},"/api/admin/celery/worker/start":{"post":{"tags":["admin-celery"],"summary":"Api Start Worker","operationId":"api_start_worker_api_admin_celery_worker_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerCreateIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/beat/start":{"post":{"tags":["admin-celery"],"summary":"Api Start Beat","operationId":"api_start_beat_api_admin_celery_beat_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeatStartIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/proc/{proc_id}/stop":{"post":{"tags":["admin-celery"],"summary":"Api Stop Proc","operationId":"api_stop_proc_api_admin_celery_proc__proc_id__stop_post","parameters":[{"name":"proc_id","in":"path","required":true,"schema":{"type":"integer","title":"Proc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/proc/{proc_id}/restart":{"post":{"tags":["admin-celery"],"summary":"Api Restart Proc","operationId":"api_restart_proc_api_admin_celery_proc__proc_id__restart_post","parameters":[{"name":"proc_id","in":"path","required":true,"schema":{"type":"integer","title":"Proc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/proc/{proc_id}":{"delete":{"tags":["admin-celery"],"summary":"Api Delete Proc","operationId":"api_delete_proc_api_admin_celery_proc__proc_id__delete","parameters":[{"name":"proc_id","in":"path","required":true,"schema":{"type":"integer","title":"Proc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/refresh":{"post":{"tags":["admin-celery"],"summary":"Api Refresh","operationId":"api_refresh_api_admin_celery_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/celery/proc/{proc_id}/log":{"get":{"tags":["admin-celery"],"summary":"Api Proc Log","operationId":"api_proc_log_api_admin_celery_proc__proc_id__log_get","parameters":[{"name":"proc_id","in":"path","required":true,"schema":{"type":"integer","title":"Proc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/celery/proc/{proc_id}/log/tail":{"get":{"tags":["admin-celery"],"summary":"Api Proc Log Tail","operationId":"api_proc_log_tail_api_admin_celery_proc__proc_id__log_tail_get","parameters":[{"name":"proc_id","in":"path","required":true,"schema":{"type":"integer","title":"Proc Id"}},{"name":"lines","in":"query","required":false,"schema":{"type":"integer","maximum":5000,"minimum":1,"description":"Number of last lines to return","default":200,"title":"Lines"},"description":"Number of last lines to return"}],"responses":{"200":{"description":"Successful Response","content":{"text/plain":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/enqueue":{"post":{"tags":["docs-pipeline"],"summary":"Enqueue","operationId":"enqueue_api_pipeline_docs_enqueue_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueueIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueueOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/status/{job_id}":{"get":{"tags":["docs-pipeline"],"summary":"Status","operationId":"status_api_pipeline_docs_status__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/questions/{question_id}/answer":{"post":{"tags":["docs-pipeline"],"summary":"Answer Question","operationId":"answer_question_api_pipeline_docs_iterations__iteration_id__questions__question_id__answer_post","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}},{"name":"question_id","in":"path","required":true,"schema":{"type":"integer","title":"Question Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/redraft":{"post":{"tags":["docs-pipeline"],"summary":"Redraft","description":"ری‌درفت: کاربر نوت جدید داده؛ ما یک Job تازه می‌سازیم، Iteration جدید با planning\nو extracted را با notes + previous_draft + qas + actions + related پر می‌کنیم\nتا پایپلاین دوباره از اول برود و در Drafting از این سیگنال‌ها استفاده شود.","operationId":"redraft_api_pipeline_docs_iterations__iteration_id__redraft_post","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedraftIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedraftOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/approve":{"post":{"tags":["docs-pipeline"],"summary":"Approve","operationId":"approve_api_pipeline_docs_iterations__iteration_id__approve_post","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/backlog":{"get":{"tags":["docs-pipeline"],"summary":"Backlog","operationId":"backlog_api_pipeline_docs_backlog_get","parameters":[{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BacklogDocOut"},"title":"Response Backlog Api Pipeline Docs Backlog Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/job/{job_id}":{"get":{"tags":["docs-pipeline"],"summary":"Job Detail","operationId":"job_detail_api_pipeline_docs_job__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobDetailOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/enqueue_many":{"post":{"tags":["docs-pipeline"],"summary":"Enqueue Many","operationId":"enqueue_many_api_pipeline_docs_enqueue_many_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueueManyIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnqueueManyOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/actions":{"get":{"tags":["docs-pipeline"],"summary":"List Actions","operationId":"list_actions_api_pipeline_docs_iterations__iteration_id__actions_get","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ActionOut"},"title":"Response List Actions Api Pipeline Docs Iterations  Iteration Id  Actions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/actions/{action_id}/answer":{"post":{"tags":["docs-pipeline"],"summary":"Answer Action","operationId":"answer_action_api_pipeline_docs_iterations__iteration_id__actions__action_id__answer_post","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}},{"name":"action_id","in":"path","required":true,"schema":{"type":"integer","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionAnswerIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/iterations/{iteration_id}/actions/{action_id}/resolve":{"post":{"tags":["docs-pipeline"],"summary":"Resolve Action","operationId":"resolve_action_api_pipeline_docs_iterations__iteration_id__actions__action_id__resolve_post","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}},{"name":"action_id","in":"path","required":true,"schema":{"type":"integer","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResolveIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/{document_id}/blocks":{"get":{"tags":["docs-blocks"],"summary":"Get Blocks","operationId":"get_blocks_api_docs__document_id__blocks_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlocksPayload"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["docs-blocks"],"summary":"Put Blocks","operationId":"put_blocks_api_docs__document_id__blocks_put","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlocksPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlocksPayload"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/docs/iterations/{iteration_id}/draft":{"put":{"tags":["docs-blocks"],"summary":"Set Iteration Draft","operationId":"set_iteration_draft_api_docs_iterations__iteration_id__draft_put","parameters":[{"name":"iteration_id","in":"path","required":true,"schema":{"type":"integer","title":"Iteration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftSetPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/pipeline/docs/job/{job_id}/events":{"get":{"tags":["docs-pipeline"],"summary":"Job Events","operationId":"job_events_api_pipeline_docs_job__job_id__events_get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EventOut"},"title":"Response Job Events Api Pipeline Docs Job  Job Id  Events Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ActionAnswerIn":{"properties":{"answer":{"type":"string","minLength":1,"title":"Answer"}},"type":"object","required":["answer"],"title":"ActionAnswerIn"},"ActionOut":{"properties":{"id":{"type":"integer","title":"Id"},"kind":{"type":"string","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"body":{"type":"string","title":"Body"},"meta":{"additionalProperties":true,"type":"object","title":"Meta"},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer"},"resolved":{"type":"boolean","title":"Resolved"},"resolved_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resolved At"}},"type":"object","required":["id","kind","body","resolved"],"title":"ActionOut"},"ActionResolveIn":{"properties":{"resolved":{"type":"boolean","title":"Resolved","default":true}},"type":"object","title":"ActionResolveIn"},"AnswerIn":{"properties":{"answer":{"type":"string","minLength":1,"title":"Answer"}},"type":"object","required":["answer"],"title":"AnswerIn"},"ApproveOut":{"properties":{"ok":{"type":"boolean","title":"Ok"},"job_id":{"type":"integer","title":"Job Id"},"document_id":{"type":"integer","title":"Document Id"}},"type":"object","required":["ok","job_id","document_id"],"title":"ApproveOut"},"AttachmentOut":{"properties":{"id":{"type":"integer","title":"Id"},"filename":{"type":"string","title":"Filename"},"filetype":{"type":"string","title":"Filetype"},"url":{"type":"string","title":"Url"},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["id","filename","filetype","url","size","description"],"title":"AttachmentOut"},"BacklogDocOut":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Name"},"category_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Slug"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","title","slug","updated_at"],"title":"BacklogDocOut"},"BeatStartIn":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","default":"beat@%h"},"level":{"type":"string","pattern":"^(debug|info|warning|error)$","title":"Level","default":"info"}},"type":"object","title":"BeatStartIn"},"BlocksPayload":{"properties":{"blocks":{"items":{"anyOf":[{"$ref":"#/components/schemas/ContentBlock"},{"$ref":"#/components/schemas/ChartBlock"},{"$ref":"#/components/schemas/VideoBlock"},{"$ref":"#/components/schemas/LiveDataBlock"},{"$ref":"#/components/schemas/DashboardBlock"},{"$ref":"#/components/schemas/GalleryBlock"},{"$ref":"#/components/schemas/FileBlock"},{"$ref":"#/components/schemas/CalloutBlock"}]},"type":"array","title":"Blocks"}},"type":"object","title":"BlocksPayload"},"CalloutBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"callout","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"variant":{"anyOf":[{"type":"string","enum":["note","tip","warn","danger"]},{"type":"null"}],"title":"Variant","default":"note"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"}},"type":"object","required":["kind"],"title":"CalloutBlock"},"CategoryCreate":{"properties":{"name":{"type":"string","minLength":1,"title":"Name","description":"Category display name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug","description":"URL-safe slug; generated from name if missing"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"Parent category id (null for root)"},"order":{"type":"integer","minimum":0.0,"title":"Order","description":"Sort order among siblings (0..n)","default":0}},"type":"object","required":["name"],"title":"CategoryCreate"},"CategoryOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"order":{"type":"integer","title":"Order","default":0},"children":{"items":{"$ref":"#/components/schemas/CategoryOut"},"type":"array","title":"Children"}},"type":"object","required":["id","name","slug"],"title":"CategoryOut"},"CategorySimpleOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"}},"type":"object","required":["id","name","slug"],"title":"CategorySimpleOut"},"CategoryUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Order"}},"type":"object","title":"CategoryUpdate"},"ChartBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"chart","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"chartKind":{"anyOf":[{"type":"string","enum":["line","bar","area"]},{"type":"null"}],"title":"Chartkind","default":"line"},"series":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChartSeries"},"type":"array"},{"type":"null"}],"title":"Series"},"data":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Data"},"xKey":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Xkey"},"yKeys":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ykeys"},"csv":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csv"},"tsv":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tsv"},"dataUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dataurl"},"xLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Xlabel"},"yLabel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ylabel"},"yFmt":{"anyOf":[{},{"type":"null"}],"title":"Yfmt"}},"type":"object","required":["kind"],"title":"ChartBlock"},"ChartSeries":{"properties":{"name":{"type":"string","title":"Name"},"data":{"items":{"$ref":"#/components/schemas/ChartSeriesPoint"},"type":"array","title":"Data"}},"type":"object","required":["name"],"title":"ChartSeries"},"ChartSeriesPoint":{"properties":{"x":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"X"},"y":{"anyOf":[{"type":"number"},{"type":"integer"},{"type":"null"}],"title":"Y"}},"type":"object","required":["x","y"],"title":"ChartSeriesPoint"},"CodeRequest":{"properties":{"identifier":{"type":"string","title":"Identifier"},"method":{"$ref":"#/components/schemas/VerificationMethod"}},"type":"object","required":["identifier","method"],"title":"CodeRequest"},"CodeVerify":{"properties":{"identifier":{"type":"string","title":"Identifier"},"method":{"$ref":"#/components/schemas/VerificationMethod"},"code":{"type":"string","title":"Code"},"password":{"type":"string","title":"Password"}},"type":"object","required":["identifier","method","code","password"],"title":"CodeVerify"},"ContentBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"content","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"format":{"anyOf":[{"type":"string","enum":["markdown","html","plaintext"]},{"type":"null"}],"title":"Format","default":"markdown"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body","default":""}},"type":"object","required":["kind"],"title":"ContentBlock"},"DashboardBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"dashboard","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"embedUrl":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Embedurl"}},"type":"object","required":["kind"],"title":"DashboardBlock"},"DocumentAccessLevel":{"type":"string","enum":["public","internal","restricted","admin_only"],"title":"DocumentAccessLevel"},"DocumentCreate":{"properties":{"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"type":{"$ref":"#/components/schemas/DocumentType","default":"article"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"meta":{"additionalProperties":true,"type":"object","title":"Meta"},"access_level":{"$ref":"#/components/schemas/DocumentAccessLevel","default":"public"},"allowed_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Roles"},"pinned":{"type":"boolean","title":"Pinned","default":false},"is_private":{"type":"boolean","title":"Is Private","default":false}},"type":"object","required":["title","slug"],"title":"DocumentCreate"},"DocumentListOut":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"type":{"$ref":"#/components/schemas/DocumentType"},"access_level":{"$ref":"#/components/schemas/DocumentAccessLevel"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"category":{"anyOf":[{"$ref":"#/components/schemas/CategorySimpleOut"},{"type":"null"}]},"pinned":{"type":"boolean","title":"Pinned","default":false}},"type":"object","required":["id","title","slug","type","access_level","updated_at"],"title":"DocumentListOut"},"DocumentOut":{"properties":{"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"type":{"$ref":"#/components/schemas/DocumentType","default":"article"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"meta":{"additionalProperties":true,"type":"object","title":"Meta"},"access_level":{"$ref":"#/components/schemas/DocumentAccessLevel","default":"public"},"allowed_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Roles"},"pinned":{"type":"boolean","title":"Pinned","default":false},"is_private":{"type":"boolean","title":"Is Private","default":false},"id":{"type":"integer","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"category":{"anyOf":[{"$ref":"#/components/schemas/CategorySimpleOut"},{"type":"null"}]},"attachments":{"items":{"$ref":"#/components/schemas/AttachmentOut"},"type":"array","title":"Attachments"}},"type":"object","required":["title","slug","id","created_at","updated_at"],"title":"DocumentOut"},"DocumentSearchOut":{"properties":{"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"type":{"$ref":"#/components/schemas/DocumentType"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","required":["title","slug","type"],"title":"DocumentSearchOut"},"DocumentType":{"type":"string","enum":["article","video","file","live_data","chart","dashboard","gallery","code"],"title":"DocumentType"},"DocumentUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"type":{"anyOf":[{"$ref":"#/components/schemas/DocumentType"},{"type":"null"}]},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"},"access_level":{"anyOf":[{"$ref":"#/components/schemas/DocumentAccessLevel"},{"type":"null"}]},"allowed_roles":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Roles"},"pinned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pinned"},"is_private":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Private"}},"type":"object","title":"DocumentUpdate"},"DraftSetPayload":{"properties":{"draft":{"type":"string","title":"Draft","description":"Either full markdown string OR a JSON string like {\"blocks\":[...]}"}},"type":"object","required":["draft"],"title":"DraftSetPayload"},"EnqueueIn":{"properties":{"document_id":{"type":"integer","minimum":1.0,"title":"Document Id"}},"type":"object","required":["document_id"],"title":"EnqueueIn"},"EnqueueManyIn":{"properties":{"document_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Document Ids"}},"type":"object","title":"EnqueueManyIn"},"EnqueueManyOut":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EnqueueManyOutItem"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"EnqueueManyOut"},"EnqueueManyOutItem":{"properties":{"doc_id":{"type":"integer","title":"Doc Id"},"job_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Job Id"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"dedup":{"type":"boolean","title":"Dedup","default":false},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["doc_id"],"title":"EnqueueManyOutItem"},"EnqueueOut":{"properties":{"job_id":{"type":"integer","title":"Job Id"},"status":{"type":"string","title":"Status"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"dedup":{"type":"boolean","title":"Dedup","default":false}},"type":"object","required":["job_id","status"],"title":"EnqueueOut"},"EventOut":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"type":"string","title":"Type"},"iteration_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Iteration Id"},"payload":{"anyOf":[{},{"type":"null"}],"title":"Payload"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","type","created_at"],"title":"EventOut"},"FileBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"file","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}},"type":"object","required":["kind"],"title":"FileBlock"},"GalleryBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"gallery","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"images":{"items":{"$ref":"#/components/schemas/GalleryImage"},"type":"array","title":"Images"}},"type":"object","required":["kind"],"title":"GalleryBlock"},"GalleryImage":{"properties":{"src":{"type":"string","title":"Src"},"alt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alt"}},"type":"object","required":["src"],"title":"GalleryImage"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IterationDetailOut":{"properties":{"id":{"type":"integer","title":"Id"},"status":{"type":"string","title":"Status"},"draft":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Draft"},"progress":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Progress"},"needs":{"additionalProperties":true,"type":"object","title":"Needs"},"repo_map":{"additionalProperties":true,"type":"object","title":"Repo Map"},"extracted":{"additionalProperties":true,"type":"object","title":"Extracted"},"questions":{"items":{"$ref":"#/components/schemas/IterationQuestion"},"type":"array","title":"Questions"},"actions":{"items":{"$ref":"#/components/schemas/ActionOut"},"type":"array","title":"Actions"}},"type":"object","required":["id","status"],"title":"IterationDetailOut"},"IterationQuestion":{"properties":{"id":{"type":"integer","title":"Id"},"question":{"type":"string","title":"Question"},"answer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Answer"}},"type":"object","required":["id","question"],"title":"IterationQuestion"},"JobDetailOut":{"properties":{"job_id":{"type":"integer","title":"Job Id"},"document_id":{"type":"integer","title":"Document Id"},"document_title":{"type":"string","title":"Document Title"},"status":{"type":"string","title":"Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"latest_iteration":{"anyOf":[{"$ref":"#/components/schemas/IterationDetailOut"},{"type":"null"}]}},"type":"object","required":["job_id","document_id","document_title","status"],"title":"JobDetailOut"},"LiveDataBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"live_data","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"method":{"anyOf":[{"type":"string","enum":["GET","POST"]},{"type":"null"}],"title":"Method","default":"GET"},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"},"intervalMs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Intervalms","default":5000},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"bodyJson":{"anyOf":[{},{"type":"null"}],"title":"Bodyjson"}},"type":"object","required":["kind"],"title":"LiveDataBlock"},"RedraftIn":{"properties":{"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"RedraftIn"},"RedraftOut":{"properties":{"iteration_id":{"type":"integer","title":"Iteration Id"},"job_id":{"type":"integer","title":"Job Id"},"status":{"type":"string","title":"Status"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}},"type":"object","required":["iteration_id","job_id","status"],"title":"RedraftOut"},"RoleOut":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"}},"type":"object","required":["id","name"],"title":"RoleOut"},"StatusOut":{"properties":{"job_id":{"type":"integer","title":"Job Id"},"status":{"type":"string","title":"Status"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"latest_iteration":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Iteration"},"iteration_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Iteration Status"}},"type":"object","required":["job_id","status"],"title":"StatusOut"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"}},"type":"object","required":["access_token","token_type"],"title":"Token"},"UserCreate":{"properties":{"identifier":{"type":"string","title":"Identifier"},"password":{"type":"string","title":"Password"},"role":{"$ref":"#/components/schemas/UserRole","default":"viewer"},"code":{"type":"string","title":"Code"}},"type":"object","required":["identifier","password","code"],"title":"UserCreate"},"UserLogin":{"properties":{"identifier":{"type":"string","title":"Identifier"},"password":{"type":"string","title":"Password"}},"type":"object","required":["identifier","password"],"title":"UserLogin"},"UserMeOut":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"organization":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organization"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"roles":{"items":{"type":"string"},"type":"array","title":"Roles"},"permissions":{"items":{"type":"string"},"type":"array","title":"Permissions"},"legacy_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legacy Role"}},"type":"object","required":["id","created_at"],"title":"UserMeOut"},"UserRole":{"type":"string","enum":["admin","manager","developer","collaborator","investor","viewer","banned"],"title":"UserRole"},"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"},"VerificationMethod":{"type":"string","enum":["email","sms"],"title":"VerificationMethod"},"VideoBlock":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id","description":"client-generated id"},"kind":{"type":"string","const":"video","title":"Kind"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"provider":{"anyOf":[{"type":"string","enum":["youtube","vimeo","loom","file","iframe"]},{"type":"null"}],"title":"Provider"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"}},"type":"object","required":["kind"],"title":"VideoBlock"},"WorkerCreateIn":{"properties":{"name":{"type":"string","title":"Name","examples":["worker1@%h"]},"queue":{"type":"string","title":"Queue","default":"default"},"concurrency":{"type":"integer","maximum":64.0,"minimum":1.0,"title":"Concurrency","default":1},"level":{"type":"string","pattern":"^(debug|info|warning|error)$","title":"Level","default":"info"}},"type":"object","required":["name"],"title":"WorkerCreateIn"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/auth/login"}}}}}}