{"openapi":"3.0.3","info":{"title":"Hesabix API","description":"\n        # Hesabix API\n\n        REST API برای اپ وب، اپ موبایل و یکپارچه‌سازی با سایر سرویس‌ها: احراز هویت، کسب‌وکار، اسناد مالی، انبار، اشخاص، گزارش و اعلان‌ها.\n\n        ---\n\n        ## دامنه و نسخه\n\n        - مسیر پایه نسخه فعلی: `/api/v1/...`\n        - در این محیط، آدرس سرور را از بالای صفحه (Servers) یا از آدرس بار مرورگر بردارید؛ مثال‌های `curl` فقط الگو هستند.\n\n        ---\n\n        ## احراز هویت (مهم)\n\n        سرور هدر `Authorization` را **فقط** با پیشوند **`ApiKey`** می‌پذیرد. فرمت **`Bearer`** با پیاده‌سازی فعلی کار نمی‌کند.\n\n        ```\n        Authorization: ApiKey <کلید_کامل_برگشتی_از_API>\n        ```\n\n        **انواع کلید (مطابق کد سرویس):**\n\n        | نوع | معمولاً از کجا | پیشوند نمونه در کلید |\n        |-----|------------------|----------------------|\n        | Session (ورود / ثبت‌نام) | پاسخ `POST /api/v1/auth/login` یا `POST /api/v1/auth/register` — فیلد `data.api_key` | `ak_live_` |\n        | شخصی | `POST /api/v1/auth/api-keys` (نیاز به ورود) | `hsx_` |\n\n        **Swagger UI — دکمه Authorize:** در فیلد مربوط به `Authorization`، **یک رشته‌ی کامل** وارد کنید: کلمه‌ی `ApiKey`، یک فاصله، و سپس خود کلید (مثال: `ApiKey ak_live_xxxxxxxx`).\n\n        **نمونه `curl`:**\n\n        ```bash\n        curl -s -X GET \"<BASE_URL>/api/v1/auth/me\" \\\n          -H \"Authorization: ApiKey ak_live_REPLACE_ME\" \\\n          -H \"Accept: application/json\"\n        ```\n\n        ---\n\n        ## هدرهای پرکاربرد\n\n        | هدر | الزامی | توضیح کوتاه |\n        |-----|--------|-------------|\n        | `Authorization` | برای مسیرهای محافظت‌شده | `ApiKey <کلید>` |\n        | `Accept-Language` | خیر | `fa` یا `en` (زبان پیام‌ها و در صورت امکان برچسب‌ها) |\n        | `X-Calendar-Type` | خیر | `jalali` (پیش‌فرض) یا `gregorian` — قالب تاریخ در پاسخ |\n        | `X-Timezone` | خیر | در صورت پشتیبانی، منطقه‌ی زمانی اختیاری |\n        | `X-Business-ID` | بسته به سناریو | برای زمینه‌ی کسب‌وکار؛ دسترسی واقعی با عضویت/مجوز در بک‌اند کنترل می‌شود |\n\n        ---\n\n        ## مجوزها\n\n        علاوه بر داشتن کلید معتبر، برخی مسیرها نیاز به **مجوز اپلیکیشن** یا **عضویت در کسب‌وکار** دارند (مثلاً مدیریت کاربران سطح سیستم).\n\n        نمونه‌ی فیلد `app_permissions` در مدل کاربر (مفهومی):\n\n        ```json\n        {\n          \"user_management\": true,\n          \"superadmin\": false,\n          \"business_management\": true,\n          \"system_settings\": false\n        }\n        ```\n\n        مسیرهایی مانند `/api/v1/users` معمولاً به مجوزهای مدیریتی نیاز دارند؛ جزئیات هر endpoint در همین سند OpenAPI آمده است.\n\n        ---\n\n        ## شکل پاسخ‌های موفق\n\n        بسیاری از پاسخ‌های موفق شبیه ساختار زیر هستند (`message` اختیاری است):\n\n        ```json\n        {\n          \"success\": true,\n          \"data\": { },\n          \"message\": \"پیام اختیاری\",\n          \"calendar_type\": \"jalali\"\n        }\n        ```\n\n        خطاها معمولاً با کدهای HTTP استاندارد و بدنه‌ی توضیح‌دار برمی‌گردند؛ برای جزئیات، همان operation را در لیست زیر باز کنید.\n\n        ---\n\n        ## کدهای وضعیت HTTP (خلاصه)\n\n        | کد | معنی رایج |\n        |----|-----------|\n        | 200 | موفق |\n        | 400 | درخواست نامعتبر |\n        | 401 | کلید نامعتبر یا نبودن احراز هویت |\n        | 403 | ممنوع (مجوز یا محدودیت) |\n        | 404 | یافت نشد |\n        | 422 | اعتبارسنجی بدنه/پارامتر (FastAPI/Pydantic) |\n        | 429 | محدودیت نرخ درخواست |\n        | 500 | خطای داخلی سرور |\n\n        ---\n\n        ## امنیت\n\n        - **کپچا:** `POST /api/v1/auth/captcha` — در ورود، ثبت‌نام و برخی عملیات حساس استفاده می‌شود.\n        - **رمز عبور:** با الگوریتم‌های هش امن (مانند Argon2، با پشتیبانی از رکوردهای قدیمی bcrypt).\n        - **کلید API:** فقط نسخه‌ی هش در پایگاه داده نگه داشته می‌شود.\n\n        ---\n\n        ## جریان نمونه: ورود و فراخوانی محافظت‌شده\n\n        ```bash\n        # 1) کپچا\n        curl -s -X POST \"<BASE_URL>/api/v1/auth/captcha\"\n\n        # 2) ورود — api_key را از data در پاسخ JSON بردارید\n        curl -s -X POST \"<BASE_URL>/api/v1/auth/login\" \\\n          -H \"Content-Type: application/json\" \\\n          -H \"Accept-Language: fa\" \\\n          -H \"X-Calendar-Type: jalali\" \\\n          -d '{\"identifier\":\"you@example.com\",\"password\":\"***\",\"captcha_id\":\"...\",\"captcha_code\":\"...\"}'\n\n        # 3) فراخوانی با همان کلید (پیشوند ApiKey اجباری است)\n        curl -s -X GET \"<BASE_URL>/api/v1/auth/me\" \\\n          -H \"Authorization: ApiKey ak_live_xxxx\" \\\n          -H \"Accept-Language: fa\" \\\n          -H \"X-Calendar-Type: jalali\"\n        ```\n\n        ---\n\n        ## شروع سریع\n\n        1. `POST /api/v1/auth/register` — ثبت‌نام (در صورت فعال بودن کپچا، مرحله‌ی کپچا را رعایت کنید)\n        2. `POST /api/v1/auth/login` — ورود و دریافت `data.api_key`\n        3. `GET /api/v1/auth/me` — تأیید کلید با هدر `Authorization: ApiKey ...`\n        4. `GET /api/v1/users` — فقط با مجوزهای لازم (مثلاً `user_management`)\n\n        ---\n\n        ## راهنما و تماس\n\n        - **ایمیل:** support@hesabix.ir\n        - **Swagger UI:** همین صفحه (`/docs`)\n        - **ReDoc:** `/redoc`\n        - **اسکیمای باز:** `/openapi.json`\n        ","contact":{"name":"Hesabix Team","url":"https://hesabix.ir/","email":"support@hesabix.ir"},"license":{"name":"GNU GPLv3 License","url":"https://opensource.org/licenses/GPL-3.0"},"version":"6.3.22"},"servers":[{"url":"http://localhost:8000","description":"Development server"},{"url":"https://agent.hesabix.ir","description":"Production server"}],"paths":{"/api/v1/health":{"get":{"tags":["health"],"summary":"بررسی وضعیت سرویس","description":"بررسی وضعیت کلی سرویس و در دسترس بودن آن","operationId":"health_api_v1_health_get","responses":{"200":{"description":"سرویس در دسترس است","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سرویس در دسترس است","data":{"status":"ok","timestamp":"2024-01-01T00:00:00Z"}}}}}}}},"/api/v1/health/metrics":{"get":{"tags":["health"],"summary":"دریافت Metrics عملکرد","description":"دریافت آمار عملکرد endpoint ها (نیاز به مجوز admin)","operationId":"get_metrics_api_v1_health_metrics_get","parameters":[{"name":"endpoint","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Metrics Api V1 Health Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/health/database":{"get":{"tags":["health"],"summary":"بررسی سلامت پایگاه داده","description":"بررسی سلامت پایگاه داده و Connection Pool با جزئیات کامل","operationId":"database_health_api_v1_health_database_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Database Health Api V1 Health Database Get"}}}}}}},"/api/v1/auth/captcha":{"post":{"tags":["احراز هویت"],"summary":"تولید کپچای عددی","description":"تولید کپچای عددی برای تأیید هویت در عملیات حساس","operationId":"generate_captcha_api_v1_auth_captcha_post","responses":{"200":{"description":"کپچا با موفقیت تولید شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کپچا تولید شد","data":{"captcha_id":"abc123def456","image_base64":"iVBORw0KGgoAAAANSUhEUgAA...","ttl_seconds":180}}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/public-config":{"get":{"tags":["احراز هویت"],"summary":"تنظیمات عمومی احراز هویت (مهمان)","description":"اطلاعات محدود برای صفحهٔ ورود بدون نیاز به API Key — مثلاً فعال بودن ثبت‌نام","operationId":"get_public_auth_config_api_v1_auth_public_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["احراز هویت"],"summary":"دریافت اطلاعات کاربر کنونی","description":"دریافت اطلاعات کامل کاربری که در حال حاضر وارد سیستم شده است","operationId":"get_current_user_info_api_v1_auth_me_get","responses":{"200":{"description":"اطلاعات کاربر با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"اطلاعات کاربر دریافت شد","data":{"id":1,"email":"user@example.com","mobile":"09123456789","first_name":"احمد","last_name":"احمدی","is_active":true,"referral_code":"ABC123","app_permissions":{"admin":true},"created_at":"2024-01-01T00:00:00Z","updated_at":"2024-01-01T00:00:00Z"}}}}},"401":{"description":"کاربر احراز هویت نشده است","content":{"application/json":{"example":{"success":false,"message":"احراز هویت مورد نیاز است","error_code":"UNAUTHORIZED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/activity":{"post":{"tags":["احراز هویت"],"summary":"ثبت ضربان فعالیت (آخرین فعالیت در اپ)","description":"کلاینت به‌صورت دوره‌ای (مثلاً هر یک دقیقه) این endpoint را با همان کلید ApiKey فراخوانی کند.\nسرور فیلد «آخرین فعالیت» را با به‌روزرسانی محدود (throttle پیش‌فرض ~۴۵ ثانیه) در پایگاه داده ذخیره می‌کند.\nبدون نیاز به Redis؛ برای نمایش «کاربران اخیراً فعال» در مدیریت سیستم قابل استفاده است.","operationId":"post_user_activity_api_v1_auth_activity_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/register":{"post":{"tags":["احراز هویت"],"summary":"ثبت‌نام کاربر جدید","description":"ثبت‌نام کاربر جدید در سیستم با تأیید کپچا","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterRequest"}}},"required":true},"responses":{"200":{"description":"کاربر با موفقیت ثبت‌نام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ثبت‌نام با موفقیت انجام شد","data":{"api_key":"sk_1234567890abcdef","user":{"id":1,"first_name":"احمد","last_name":"احمدی","email":"ahmad@example.com","mobile":"09123456789","referral_code":"ABC123"}}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"کپچا نامعتبر است","error_code":"INVALID_CAPTCHA"}}}},"409":{"description":"کاربر با این ایمیل یا موبایل قبلاً ثبت‌نام کرده است","content":{"application/json":{"example":{"success":false,"message":"کاربر با این ایمیل قبلاً ثبت‌نام کرده است","error_code":"USER_EXISTS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/login":{"post":{"tags":["احراز هویت"],"summary":"ورود با ایمیل یا موبایل","description":"ورود کاربر به سیستم با استفاده از ایمیل یا شماره موبایل و رمز عبور","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"ورود با موفقیت انجام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ورود با موفقیت انجام شد","data":{"api_key":"sk_1234567890abcdef","expires_at":"2024-01-02T00:00:00Z","user":{"id":1,"first_name":"احمد","last_name":"احمدی","email":"ahmad@example.com","mobile":"09123456789","referral_code":"ABC123","app_permissions":{"admin":true}}}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"کپچا نامعتبر است","error_code":"INVALID_CAPTCHA"}}}},"401":{"description":"اطلاعات ورود نامعتبر است","content":{"application/json":{"example":{"success":false,"message":"ایمیل یا رمز عبور اشتباه است","error_code":"INVALID_CREDENTIALS"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/forgot-password":{"post":{"tags":["احراز هویت"],"summary":"ایجاد توکن بازنشانی رمز عبور","description":"ایجاد توکن برای بازنشانی رمز عبور کاربر","operationId":"forgot_password_api_v1_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"توکن بازنشانی با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"توکن بازنشانی ارسال شد","data":{"ok":true,"token":"reset_token_1234567890abcdef"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"کپچا نامعتبر است","error_code":"INVALID_CAPTCHA"}}}},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر با این ایمیل یا موبایل یافت نشد","error_code":"USER_NOT_FOUND"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/reset-password":{"post":{"tags":["احراز هویت"],"summary":"بازنشانی رمز عبور با توکن","description":"بازنشانی رمز عبور کاربر با استفاده از توکن دریافتی","operationId":"reset_password_endpoint_api_v1_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"200":{"description":"رمز عبور با موفقیت بازنشانی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"رمز عبور با موفقیت تغییر کرد","data":{"ok":true}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"کپچا نامعتبر است","error_code":"INVALID_CAPTCHA"}}}},"404":{"description":"توکن نامعتبر یا منقضی شده است","content":{"application/json":{"example":{"success":false,"message":"توکن نامعتبر یا منقضی شده است","error_code":"INVALID_TOKEN"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/password-reset/send-otp":{"post":{"tags":["احراز هویت"],"summary":"ارسال OTP برای بازیابی رمز عبور","description":"ارسال کد OTP 6 رقمی به شماره موبایل برای بازیابی رمز عبور","operationId":"send_password_reset_otp_api_v1_auth_password_reset_send_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"کد OTP با موفقیت ارسال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کد بازیابی رمز عبور به شماره موبایل ارسال شد"}}}},"400":{"description":"شناسه نامعتبر یا کاربر موبایل ندارد"},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"},"503":{"description":"سرویس پیامک پیکربندی نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/password-reset/verify-otp":{"post":{"tags":["احراز هویت"],"summary":"تایید OTP بازیابی رمز عبور","description":"تایید کد OTP و دریافت token برای تغییر رمز عبور","operationId":"verify_password_reset_otp_api_v1_auth_password_reset_verify_otp_post","parameters":[{"name":"identifier","in":"query","required":true,"schema":{"type":"string","description":"ایمیل یا شماره موبایل","title":"Identifier"},"description":"ایمیل یا شماره موبایل"},{"name":"otp_code","in":"query","required":true,"schema":{"type":"string","description":"کد OTP 6 رقمی","title":"Otp Code"},"description":"کد OTP 6 رقمی"}],"responses":{"200":{"description":"OTP تایید شد و token دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":{"reset_token":"token_here"}}}}},"400":{"description":"کد OTP نامعتبر"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/api-keys":{"get":{"tags":["احراز هویت"],"summary":"لیست کلیدهای API شخصی","description":"دریافت لیست کلیدهای API شخصی کاربر","operationId":"list_keys_api_v1_auth_api_keys_get","responses":{"200":{"description":"لیست کلیدهای API با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست کلیدهای API دریافت شد","data":[{"id":1,"name":"کلید اصلی","scopes":"read,write","device_id":"device123","user_agent":"Mozilla/5.0...","ip":"192.168.1.1","last_used_at":"2024-01-01T12:00:00Z","created_at":"2024-01-01T00:00:00Z"}]}}}},"401":{"description":"کاربر احراز هویت نشده است"}},"security":[{"ApiKeyAuth":[]}]},"post":{"tags":["احراز هویت"],"summary":"ایجاد کلید API شخصی","description":"ایجاد کلید API جدید برای کاربر","operationId":"create_key_api_v1_auth_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApiKeyRequest"}}},"required":true},"responses":{"200":{"description":"کلید API با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کلید API ایجاد شد","data":{"id":1,"api_key":"sk_1234567890abcdef"}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/change-password":{"post":{"tags":["احراز هویت"],"summary":"تغییر رمز عبور","description":"تغییر رمز عبور کاربر با تأیید رمز عبور فعلی","operationId":"change_password_endpoint_api_v1_auth_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"رمز عبور با موفقیت تغییر کرد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"رمز عبور با موفقیت تغییر کرد","data":{"ok":true}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"رمز عبور فعلی اشتباه است","error_code":"INVALID_CURRENT_PASSWORD"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/api-keys/{key_id}":{"delete":{"tags":["احراز هویت"],"summary":"حذف کلید API","description":"حذف کلید API مشخص شده","operationId":"delete_key_api_v1_auth_api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"کلید API با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کلید API حذف شد","data":{"ok":true}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"کلید API یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کلید API یافت نشد","error_code":"API_KEY_NOT_FOUND"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"get":{"tags":["احراز هویت"],"summary":"دریافت جزئیات کلید API","description":"دریافت اطلاعات کامل یک کلید API","operationId":"get_key_api_v1_auth_api_keys__key_id__get","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"put":{"tags":["احراز هویت"],"summary":"ویرایش کلید API","description":"ویرایش اطلاعات یک کلید API (نام، محدوده دسترسی، تاریخ انقضا، IP whitelist)","operationId":"update_key_api_v1_auth_api_keys__key_id__put","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApiKeyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/sessions":{"get":{"tags":["احراز هویت"],"summary":"لیست سشن‌های ورود","description":"دریافت لیست تمام session های فعال کاربر","operationId":"list_sessions_api_v1_auth_sessions_get","responses":{"200":{"description":"لیست session ها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":[{"id":123,"device_name":"Chrome on Windows","device_id":"device-uuid-123","user_agent":"Mozilla/5.0...","ip":"192.168.1.100","is_current":true,"created_at":"2024-01-15T10:30:00Z","last_used_at":"2024-01-20T14:25:00Z","last_used_relative":"2 ساعت پیش","browser":"Chrome","os":"Windows","device_type":"desktop"}]}}}},"401":{"description":"کاربر احراز هویت نشده است"}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/sessions/others":{"delete":{"tags":["احراز هویت"],"summary":"حذف همه سشن‌های دیگر","description":"حذف تمام session های کاربر به جز session فعلی","operationId":"revoke_other_sessions_endpoint_api_v1_auth_sessions_others_delete","responses":{"200":{"description":"تمام session های دیگر حذف شدند","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"تمام سشن‌های دیگر حذف شدند","data":{"deleted_count":5}}}}},"401":{"description":"کاربر احراز هویت نشده است"}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/sessions/{session_id}":{"delete":{"tags":["احراز هویت"],"summary":"حذف سشن ورود","description":"حذف یک session خاص. کاربر نمی‌تواند session فعلی را حذف کند.","operationId":"revoke_session_endpoint_api_v1_auth_sessions__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}}],"responses":{"200":{"description":"Session با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سشن با موفقیت حذف شد","data":{"ok":true}}}}},"400":{"description":"نمی‌توانید session فعلی را حذف کنید"},"404":{"description":"Session یافت نشد"},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/referrals/stats":{"get":{"tags":["احراز هویت"],"summary":"آمار معرفی‌ها","description":"دریافت آمار معرفی‌های کاربر فعلی","operationId":"get_referral_stats_api_v1_auth_referrals_stats_get","parameters":[{"name":"start","in":"query","required":false,"schema":{"type":"string","description":"تاریخ شروع (ISO format)","title":"Start"},"description":"تاریخ شروع (ISO format)"},{"name":"end","in":"query","required":false,"schema":{"type":"string","description":"تاریخ پایان (ISO format)","title":"End"},"description":"تاریخ پایان (ISO format)"}],"responses":{"200":{"description":"آمار معرفی‌ها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"آمار معرفی‌ها دریافت شد","data":{"total_referrals":25,"active_referrals":20,"recent_referrals":5,"referral_rate":0.8}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/referrals/list":{"post":{"tags":["احراز هویت"],"summary":"لیست معرفی‌ها با فیلتر پیشرفته","description":"دریافت لیست معرفی‌ها با قابلیت فیلتر، جستجو، مرتب‌سازی و صفحه‌بندی","operationId":"get_referral_list_advanced_api_v1_auth_referrals_list_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}},"required":true},"responses":{"200":{"description":"لیست معرفی‌ها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست معرفی‌ها دریافت شد","data":{"items":[{"id":1,"first_name":"علی","last_name":"احمدی","email":"ali@example.com","mobile":"09123456789","created_at":"2024-01-01T00:00:00Z"}],"total":1,"page":1,"limit":10,"total_pages":1,"has_next":false,"has_prev":false}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/referrals/export/pdf":{"post":{"tags":["احراز هویت"],"summary":"خروجی PDF لیست معرفی‌ها","description":"خروجی PDF لیست معرفی‌ها با قابلیت فیلتر و انتخاب سطرهای خاص","operationId":"export_referrals_pdf_api_v1_auth_referrals_export_pdf_post","parameters":[{"name":"selected_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Selected Only"}},{"name":"selected_indices","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Indices"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"فایل PDF با موفقیت تولید شد","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/referrals/export/excel":{"post":{"tags":["احراز هویت"],"summary":"خروجی Excel لیست معرفی‌ها","description":"خروجی Excel لیست معرفی‌ها با قابلیت فیلتر و انتخاب سطرهای خاص","operationId":"export_referrals_excel_api_v1_auth_referrals_export_excel_post","parameters":[{"name":"selected_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Selected Only"}},{"name":"selected_indices","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Indices"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"فایل Excel با موفقیت تولید شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/verify-email":{"get":{"tags":["احراز هویت"],"summary":"تایید ایمیل کاربر","description":"تایید ایمیل کاربر با استفاده از token ارسال شده در ایمیل verification","operationId":"verify_email_api_v1_auth_verify_email_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"Token verification از ایمیل","title":"Token"},"description":"Token verification از ایمیل"}],"responses":{"200":{"description":"ایمیل با موفقیت تایید شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ایمیل با موفقیت تایید شد","data":{"user_id":1,"email":"user@example.com","email_verified":true}}}}},"400":{"description":"Token نامعتبر یا منقضی شده","content":{"application/json":{"example":{"success":false,"error_code":"INVALID_TOKEN","message":"Token نامعتبر یا استفاده شده است"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/resend-verification":{"post":{"tags":["احراز هویت"],"summary":"ارسال مجدد ایمیل verification","description":"ارسال مجدد ایمیل verification برای کاربر. نیاز به authentication دارد.","operationId":"resend_verification_api_v1_auth_resend_verification_post","responses":{"200":{"description":"ایمیل verification با موفقیت ارسال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ایمیل verification با موفقیت ارسال شد"}}}},"400":{"description":"ایمیل قبلاً تایید شده یا تنظیم نشده","content":{"application/json":{"example":{"success":false,"error_code":"EMAIL_ALREADY_VERIFIED","message":"ایمیل کاربر قبلاً تایید شده است"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"error_code":"RATE_LIMIT_EXCEEDED","message":"شما بیش از حد مجاز درخواست ارسال مجدد داده‌اید"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/send-mobile-verification":{"post":{"tags":["احراز هویت"],"summary":"ارسال کد تایید به شماره موبایل","description":"ارسال کد OTP 6 رقمی به شماره موبایل کاربر برای تایید","operationId":"send_mobile_verification_api_v1_auth_send_mobile_verification_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMobileVerificationRequest"}}},"required":true},"responses":{"200":{"description":"کد تایید با موفقیت ارسال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کد تایید به شماره موبایل ارسال شد"}}}},"400":{"description":"شماره موبایل نامعتبر یا SMS Provider پیکربندی نشده"},"404":{"description":"کاربر با این شماره موبایل یافت نشد"},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"},"503":{"description":"سرویس پیامک پیکربندی نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/verify-mobile":{"post":{"tags":["احراز هویت"],"summary":"تایید شماره موبایل با کد OTP","description":"تایید شماره موبایل کاربر با استفاده از کد OTP ارسال شده","operationId":"verify_mobile_api_v1_auth_verify_mobile_post","parameters":[{"name":"otp_code","in":"query","required":true,"schema":{"type":"string","description":"کد OTP 6 رقمی","title":"Otp Code"},"description":"کد OTP 6 رقمی"}],"responses":{"200":{"description":"شماره موبایل با موفقیت تایید شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"شماره موبایل با موفقیت تایید شد","data":{"user_id":1,"mobile_verified":true}}}}},"400":{"description":"کد OTP نامعتبر"},"404":{"description":"کد تایید یافت نشد یا منقضی شده است"},"429":{"description":"تعداد تلاش‌های مجاز به پایان رسیده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/resend-mobile-verification":{"post":{"tags":["احراز هویت"],"summary":"ارسال مجدد کد تایید موبایل","description":"ارسال مجدد کد OTP به شماره موبایل کاربر","operationId":"resend_mobile_verification_api_v1_auth_resend_mobile_verification_post","responses":{"200":{"description":"کد تایید مجدداً ارسال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"400":{"description":"کاربر شماره موبایل ثبت نکرده است"},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/update-mobile":{"post":{"tags":["احراز هویت"],"summary":"تغییر شماره موبایل کاربر","description":"تغییر شماره موبایل کاربر با تایید کپچا و بررسی تایید شده بودن توسط کاربر دیگر","operationId":"update_mobile_api_v1_auth_update_mobile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMobileRequest"}}},"required":true},"responses":{"200":{"description":"شماره موبایل با موفقیت به‌روزرسانی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"شماره موبایل با موفقیت به‌روزرسانی شد","data":{"mobile":"09123456789","mobile_verified":false}}}}},"400":{"description":"خطا در اعتبارسنجی یا تایید شده بودن توسط کاربر دیگر","content":{"application/json":{"example":{"success":false,"error_code":"MOBILE_IN_USE_VERIFIED","message":"این شماره موبایل قبلاً توسط کاربر دیگری ثبت و تایید شده است"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/update-email":{"post":{"tags":["احراز هویت"],"summary":"تغییر ایمیل کاربر","description":"تغییر ایمیل کاربر با تایید کپچا و بررسی تایید شده بودن توسط کاربر دیگر","operationId":"update_email_api_v1_auth_update_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateEmailRequest"}}},"required":true},"responses":{"200":{"description":"ایمیل با موفقیت به‌روزرسانی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ایمیل با موفقیت به‌روزرسانی شد","data":{"email":"newemail@example.com","email_verified":false}}}}},"400":{"description":"خطا در اعتبارسنجی یا تایید شده بودن توسط کاربر دیگر","content":{"application/json":{"example":{"success":false,"error_code":"EMAIL_IN_USE_VERIFIED","message":"این ایمیل قبلاً توسط کاربر دیگری ثبت و تایید شده است"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/login/otp-channel-status":{"get":{"tags":["احراز هویت"],"summary":"وضعیت پیکربندی کانال‌های OTP ورود","description":"نمایش اینکه هر کانال (پیامک، ایمیل، تلگرام، بله) روی سرور پیکربندی شده یا نه — بدون اطلاع از کاربر.","operationId":"get_otp_channel_status_api_v1_auth_login_otp_channel_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/login/available-channels":{"post":{"tags":["احراز هویت"],"summary":"دریافت کانال‌های در دسترس برای ورود با OTP","description":"دریافت فهرست کانال‌های اولیه (فقط SMS یا ایمیل) بر اساس فرمت شناسه، بدون افشای وجود کاربر. نیاز به کپتچای معتبر دارد.","operationId":"post_login_available_channels_api_v1_auth_login_available_channels_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailableChannelsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/login/send-otp":{"post":{"tags":["احراز هویت"],"summary":"ارسال OTP برای ورود","description":"ارسال کد OTP 6 رقمی به ایمیل، شماره موبایل یا تلگرام برای ورود بدون نیاز به رمز عبور","operationId":"send_login_otp_api_v1_auth_login_send_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendLoginOtpRequest"}}},"required":true},"responses":{"200":{"description":"کد OTP با موفقیت ارسال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":{"session_id":"session_id_here","message":"کد ورود ارسال شد","available_channels":["sms","email","telegram"]}}}}},"400":{"description":"شناسه، کانال یا کپتچا نامعتبر"},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز"},"503":{"description":"سرویس مورد نظر پیکربندی نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/auth/login/verify-otp":{"post":{"tags":["احراز هویت"],"summary":"تایید OTP و ورود","description":"تایید کد OTP و ورود کاربر به سیستم","operationId":"verify_login_otp_api_v1_auth_login_verify_otp_post","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","description":"شناسه session","title":"Session Id"},"description":"شناسه session"},{"name":"otp_code","in":"query","required":true,"schema":{"type":"string","description":"کد OTP 6 رقمی","title":"Otp Code"},"description":"کد OTP 6 رقمی"},{"name":"device_id","in":"query","required":false,"schema":{"type":"string","description":"شناسه دستگاه (اختیاری)","title":"Device Id"},"description":"شناسه دستگاه (اختیاری)"}],"responses":{"200":{"description":"ورود با موفقیت انجام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"ورود با موفقیت انجام شد","data":{"api_key":"sk_1234567890abcdef","expires_at":"2024-01-02T00:00:00Z","user":{"id":1,"first_name":"احمد","last_name":"احمدی","email":"ahmad@example.com","mobile":"09123456789"}}}}}},"400":{"description":"کد OTP نامعتبر"},"404":{"description":"Session یا کاربر یافت نشد"},"429":{"description":"تعداد تلاش‌های مجاز به پایان رسیده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/search":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"لیست کاربران با فیلتر پیشرفته","description":"دریافت لیست کاربران با قابلیت فیلتر، جستجو، مرتب‌سازی و صفحه‌بندی.\n\t\n\t### نکات:\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t- نتایج به مدت 60 ثانیه cache می‌شوند (Cache key بر اساس query parameters و user_id ایجاد می‌شود)\n\t- برای جستجوی ساده از `GET /users` استفاده کنید\n\t- حداکثر تعداد رکورد در هر صفحه: 1000 (پارامتر `take`)","operationId":"list_users_api_v1_users_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo","description":"پارامترهای جستجو، فیلتر، مرتب‌سازی و صفحه‌بندی"}}},"required":true},"responses":{"200":{"description":"لیست کاربران با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست کاربران دریافت شد","data":{"items":[{"id":1,"email":"user@example.com","mobile":"09123456789","first_name":"احمد","last_name":"احمدی","is_active":true,"referral_code":"ABC123","created_at":"2024-01-01T00:00:00Z"}],"pagination":{"total":1,"page":1,"per_page":10,"total_pages":1,"has_next":false,"has_prev":false}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز usermanager","content":{"application/json":{"example":{"success":false,"message":"Missing app permission: user_management","error_code":"FORBIDDEN"}}}},"422":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"take نمی‌تواند بیشتر از 1000 باشد","error_code":"VALIDATION_ERROR"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"لیست ساده کاربران","description":"دریافت لیست ساده کاربران با صفحه‌بندی.\n\t\n\t### Query Parameters:\n\t- **limit**: تعداد رکورد در هر صفحه (پیش‌فرض: 10، حداقل: 1، حداکثر: 100)\n\t- **offset**: تعداد رکورد صرف‌نظر شده (پیش‌فرض: 0، حداقل: 0)\n\t\n\t### نکات:\n\t- این endpoint برای دریافت لیست ساده کاربران بدون فیلتر پیشرفته است\n\t- برای جستجو و فیلتر پیشرفته از `POST /users/search` استفاده کنید\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t- حداکثر تعداد رکورد در هر صفحه: 100 (پارامتر `limit`)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X GET \"http://localhost:8000/api/v1/users?limit=20&offset=0\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"list_users_simple_api_v1_users_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"تعداد رکورد در هر صفحه (حداقل: 1، حداکثر: 100)","default":10,"title":"Limit"},"description":"تعداد رکورد در هر صفحه (حداقل: 1، حداکثر: 100)"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"تعداد رکورد صرف‌نظر شده (حداقل: 0)","default":0,"title":"Offset"},"description":"تعداد رکورد صرف‌نظر شده (حداقل: 0)"}],"responses":{"200":{"description":"لیست کاربران با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست کاربران دریافت شد","data":[{"id":1,"email":"user@example.com","mobile":"09123456789","first_name":"احمد","last_name":"احمدی","is_active":true,"referral_code":"ABC123","created_at":"2024-01-01T00:00:00Z","updated_at":"2024-01-01T00:00:00Z"}]}}}},"401":{"description":"کاربر احراز هویت نشده است","content":{"application/json":{"example":{"success":false,"message":"Unauthorized","error_code":"UNAUTHORIZED"}}}},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management","content":{"application/json":{"example":{"success":false,"message":"Missing app permission: user_management","error_code":"FORBIDDEN"}}}},"422":{"description":"خطا در اعتبارسنجی query parameters","content":{"application/json":{"example":{"success":false,"message":"limit must be between 1 and 100","error_code":"VALIDATION_ERROR"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}},"headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/me/signature":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"دریافت فایل امضای کاربر جاری","description":"بازگرداندن تصویر امضای کاربر کنونی به‌صورت فایل (برای نمایش در پروفایل یا فاکتور).\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X GET \"http://localhost:8000/api/v1/users/me/signature\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\" \\\n\t\t --output signature.png\n\t```\n\t\n\t### Response:\n\t- Content-Type: image/png (یا فرمت فایل آپلود شده)\n\t- Content-Disposition: inline; filename=\"signature.png\"","operationId":"get_my_signature_api_v1_users_me_signature_get","responses":{"200":{"description":"فایل امضا با موفقیت دریافت شد","content":{"application/json":{"schema":{}},"image/png":{"schema":{"type":"string","format":"binary"}},"image/jpeg":{"schema":{"type":"string","format":"binary"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"امضایی برای این کاربر ثبت نشده است","content":{"application/json":{"example":{"success":false,"message":"امضایی برای این کاربر ثبت نشده است","error_code":"SIGNATURE_NOT_SET"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]},"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"آپلود امضای کاربر جاری","description":"آپلود تصویر امضای کاربر و ذخیره آن در سیستم فایل.\n\t\n\t### محدودیت‌های فایل:\n\t- **فرمت‌های مجاز**: JPG, JPEG, PNG, GIF, WebP, BMP\n\t- **MIME Types**: image/jpeg, image/png, image/gif, image/webp, image/bmp\n\t- **حداکثر حجم**: بر اساس تنظیمات سیستم (پیش‌فرض: 10 مگابایت)\n\t- **ابعاد تصویر**: محدودیت خاصی ندارد (توصیه می‌شود برای بهینه‌سازی حداکثر 2000x2000 پیکسل)\n\t- **نسبت تصویر**: محدودیت خاصی ندارد\n\t- **انقضا**: فایل به مدت 10 سال (3650 روز) نگهداری می‌شود\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/me/signature\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\" \\\n\t\t -F \"file=@signature.png\"\n\t```","operationId":"upload_my_signature_api_v1_users_me_signature_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_my_signature_api_v1_users_me_signature_post"}}},"required":true},"responses":{"200":{"description":"امضا با موفقیت آپلود شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"امضا با موفقیت آپلود شد","data":{"signature_file_id":"550e8400-e29b-41d4-a716-446655440000","file":{"file_id":"550e8400-e29b-41d4-a716-446655440000","filename":"signature.png","mime_type":"image/png","file_size":245678,"uploaded_at":"2024-01-15T10:30:00Z"}}}}}},"400":{"description":"خطا در آپلود فایل","content":{"application/json":{"example":{"success":false,"message":"فرمت فایل معتبر نیست. فقط فرمت‌های JPG, PNG, GIF, WebP و BMP پشتیبانی می‌شوند","error_code":"INVALID_FILE_FORMAT"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر یافت نشد","error_code":"USER_NOT_FOUND"}}}},"413":{"description":"حجم فایل بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"حجم فایل از حداکثر مجاز (10 مگابایت) تجاوز می‌کند","error_code":"FILE_SIZE_EXCEEDED","file_size_mb":15.5,"max_file_size_mb":10}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/{user_id}":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"دریافت اطلاعات یک کاربر","description":"دریافت اطلاعات کامل یک کاربر بر اساس شناسه شامل:\n\t- اطلاعات پایه کاربر (ایمیل، موبایل، نام و ...)\n\t- لیست کسب‌وکارهای کاربر (مالک یا عضو)\n\t- نشست‌های فعال کاربر\n\t- آخرین فعالیت‌های کاربر (حداکثر 50 مورد)\n\t\n\t### نکات:\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X GET \"http://localhost:8000/api/v1/users/123\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"get_user_api_v1_users__user_id__get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"اطلاعات کاربر با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"اطلاعات کاربر دریافت شد","data":{"id":1,"email":"user@example.com","mobile":"09123456789","first_name":"احمد","last_name":"احمدی","is_active":true,"referral_code":"ABC123","app_permissions":{"user_management":true},"created_at":"2024-01-01T00:00:00Z","updated_at":"2024-01-01T00:00:00Z","signature_file_id":"550e8400-e29b-41d4-a716-446655440000","businesses":[{"id":1,"name":"شرکت نمونه","field":"بازرگانی","role":"owner","status":"active","created_at":"2024-01-01T00:00:00Z"},{"id":2,"name":"فروشگاه نمونه","field":"خدماتی","role":"admin","status":"active","created_at":"2024-01-05T00:00:00Z"}],"sessions":[{"id":1,"device":"Chrome on Windows","ip":"192.168.1.1","last_active_at":"2024-01-15T10:30:00Z","created_at":"2024-01-01T00:00:00Z"},{"id":2,"device":"Firefox on Linux","ip":"192.168.1.2","last_active_at":"2024-01-14T15:20:00Z","created_at":"2024-01-10T00:00:00Z"}],"audit_logs":[{"id":1,"action":"login","description":"ورود به سیستم","category":"authentication","entity_type":"user","entity_id":1,"created_at":"2024-01-15T10:30:00Z"},{"id":2,"action":"update_profile","description":"به‌روزرسانی پروفایل","category":"profile","entity_type":"user","entity_id":1,"created_at":"2024-01-14T09:15:00Z"}]}}}}},"401":{"description":"کاربر احراز هویت نشده است","content":{"application/json":{"example":{"success":false,"message":"Unauthorized","error_code":"UNAUTHORIZED"}}}},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management","content":{"application/json":{"example":{"success":false,"message":"Missing app permission: user_management","error_code":"FORBIDDEN"}}}},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر یافت نشد","error_code":"USER_NOT_FOUND"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}},"headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/stats/summary":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"آمار کلی کاربران","description":"دریافت آمار کلی کاربران شامل تعداد کل، فعال و غیرفعال.\n\t\n\t### اطلاعات بازگشتی:\n\t- **total_users**: تعداد کل کاربران\n\t- **active_users**: تعداد کاربران فعال\n\t- **inactive_users**: تعداد کاربران غیرفعال\n\t- **active_percentage**: درصد کاربران فعال (با 2 رقم اعشار)\n\t\n\t### نکات:\n\t- نیاز به سوپرادمین یا مجوز `system_settings` یا `user_management` (همان باز کردن پنل مدیریت کاربران در UI)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X GET \"http://localhost:8000/api/v1/users/stats/summary\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"get_users_summary_api_v1_users_stats_summary_get","responses":{"200":{"description":"آمار کاربران با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"آمار کاربران دریافت شد","data":{"total_users":100,"active_users":85,"inactive_users":15,"active_percentage":85.0}}}}},"401":{"description":"کاربر احراز هویت نشده است","content":{"application/json":{"example":{"success":false,"message":"Unauthorized","error_code":"UNAUTHORIZED"}}}},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management","content":{"application/json":{"example":{"success":false,"message":"Missing app permission: user_management","error_code":"FORBIDDEN"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/stats/online":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"تعداد کاربران با فعالیت اخیر (آنلاین تقریبی)","description":"بر اساس فیلد `last_activity_at` (ضربان اپ کلاینت) تعداد کاربران **فعال** را می‌دهد که\nدر بازهٔ اخیر (پیش‌فرض ۵ دقیقه، قابل تنظیم) فعالیت ثبت کرده باشند.\n\nتعریف «آنلاین»: کاربری که اخیراً ضربان HTTP زده؛ نه همان واقع‌زمان WebSocket مطلق.\nمجوز مانند باز کردن همین صفحه در UI: سوپرادمین، `system_settings` یا `user_management`.","operationId":"get_users_online_stats_api_v1_users_stats_online_get","parameters":[{"name":"window_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":1,"description":"بازه زمانی برای شمار کاربر «اخیراً فعال»","default":5,"title":"Window Minutes"},"description":"بازه زمانی برای شمار کاربر «اخیراً فعال»"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/stats/signups-timeline":{"get":{"tags":["کاربران","مدیریت سیستم"],"summary":"گزارش عضویت کاربران در بازهٔ تاریخی","description":"تعداد کاربران ثبت‌شده به‌ازای هر روز / هفته / ماه در بازهٔ مشخص (تاریخ‌ها به‌صورت UTC نیمه‌شب).\n\nمجوز مانند `GET /users/stats/online`: سوپرادمین، `system_settings` یا `user_management`.","operationId":"get_users_signups_timeline_api_v1_users_stats_signups_timeline_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"شروع بازه (شمولی)، YYYY-MM-DD","title":"Start Date"},"description":"شروع بازه (شمولی)، YYYY-MM-DD"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"پایان بازه (شمولی)، YYYY-MM-DD","title":"End Date"},"description":"پایان بازه (شمولی)، YYYY-MM-DD"},{"name":"granularity","in":"query","required":false,"schema":{"enum":["day","week","month"],"type":"string","description":"تجمیع روزانه، هفتگی یا ماهانه","default":"day","title":"Granularity"},"description":"تجمیع روزانه، هفتگی یا ماهانه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/bulk-activate":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"فعال‌سازی دسته‌ای کاربران","description":"فعال‌سازی چندین کاربر به صورت همزمان.\n\t\n\t### نکات:\n\t- فقط کاربران غیرفعال فعال می‌شوند\n\t- کاربران فعال قبلاً نادیده گرفته می‌شوند\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t- محدودیت تعداد: توصیه می‌شود حداکثر 100 کاربر در هر درخواست (بدون محدودیت سخت)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/bulk-activate\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\" \\\n\t\t -H \"Content-Type: application/json\" \\\n\t\t -d '{\"user_ids\": [1, 2, 3, 4, 5]}'\n\t```","operationId":"bulk_activate_users_api_v1_users_bulk_activate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActivateRequest","description":"لیست شناسه‌های کاربران برای فعال‌سازی"}}},"required":true},"responses":{"200":{"description":"عملیات با موفقیت انجام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"عملیات با موفقیت انجام شد","data":{"updated_count":3,"total_requested":5}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"422":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"user_ids باید لیستی از اعداد باشد و حداقل 1 آیتم داشته باشد","error_code":"VALIDATION_ERROR"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/bulk-suspend":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"تعلیق دسته‌ای کاربران","description":"تعلیق چندین کاربر به صورت همزمان.\n\t\n\t### نکات:\n\t- فقط کاربران فعال تعلیق می‌شوند\n\t- کاربران غیرفعال قبلاً نادیده گرفته می‌شوند\n\t- نمی‌توانید خود را تعلیق کنید (نادیده گرفته می‌شود)\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t- محدودیت تعداد: توصیه می‌شود حداکثر 100 کاربر در هر درخواست (بدون محدودیت سخت)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/bulk-suspend\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\" \\\n\t\t -H \"Content-Type: application/json\" \\\n\t\t -d '{\"user_ids\": [1, 2, 3, 4, 5]}'\n\t```","operationId":"bulk_suspend_users_api_v1_users_bulk_suspend_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSuspendRequest","description":"لیست شناسه‌های کاربران برای تعلیق"}}},"required":true},"responses":{"200":{"description":"عملیات با موفقیت انجام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"عملیات با موفقیت انجام شد","data":{"updated_count":3,"total_requested":5}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"422":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"user_ids باید لیستی از اعداد باشد و حداقل 1 آیتم داشته باشد","error_code":"VALIDATION_ERROR"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/bulk-reset-password":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"بازنشانی رمز عبور دسته‌ای کاربران","description":"ایجاد توکن بازنشانی رمز عبور برای چندین کاربر.\n\t\n\t### نکات:\n\t- برای هر کاربر یک توکن منحصر به فرد ایجاد می‌شود\n\t- فقط برای کاربرانی که ایمیل یا موبایل دارند توکن ایجاد می‌شود\n\t- توکن‌ها به صورت خودکار منقضی می‌شوند (بر اساس تنظیمات سیستم)\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t- محدودیت تعداد: توصیه می‌شود حداکثر 100 کاربر در هر درخواست (بدون محدودیت سخت)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/bulk-reset-password\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\" \\\n\t\t -H \"Content-Type: application/json\" \\\n\t\t -d '{\"user_ids\": [1, 2, 3, 4, 5]}'\n\t```","operationId":"bulk_reset_password_api_v1_users_bulk_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkResetPasswordRequest","description":"لیست شناسه‌های کاربران برای بازنشانی رمز عبور"}}},"required":true},"responses":{"200":{"description":"توکن‌ها با موفقیت ایجاد شدند","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"توکن‌ها با موفقیت ایجاد شدند","data":{"tokens_created":4,"total_requested":5}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"422":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"example":{"success":false,"message":"user_ids باید لیستی از اعداد باشد و حداقل 1 آیتم داشته باشد","error_code":"VALIDATION_ERROR"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}},"content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/{user_id}/suspend":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"تعلیق یک کاربر","description":"تعلیق یک کاربر خاص.\n\t\n\t### نکات:\n\t- نمی‌توانید خود را تعلیق کنید\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/123/suspend\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"suspend_user_api_v1_users__user_id__suspend_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"کاربر با موفقیت تعلیق شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کاربر با موفقیت تعلیق شد","data":{"message":"کاربر با موفقیت تعلیق شد"}}}}},"400":{"description":"نمی‌توانید خود را تعلیق کنید","content":{"application/json":{"example":{"success":false,"message":"نمی‌توانید خود را تعلیق کنید","error_code":"CANNOT_SUSPEND_SELF"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر یافت نشد","error_code":"USER_NOT_FOUND"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}},"headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/{user_id}/activate":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"فعال‌سازی یک کاربر","description":"فعال‌سازی یک کاربر خاص.\n\t\n\t### نکات:\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/123/activate\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"activate_user_api_v1_users__user_id__activate_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"کاربر با موفقیت فعال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کاربر با موفقیت فعال شد","data":{"message":"کاربر با موفقیت فعال شد"}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر یافت نشد","error_code":"USER_NOT_FOUND"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}},"headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/{user_id}/reset-password":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"بازنشانی رمز عبور یک کاربر","description":"ایجاد توکن بازنشانی رمز عبور برای یک کاربر.\n\t\n\t### نکات:\n\t- توکن به صورت خودکار منقضی می‌شود (بر اساس تنظیمات سیستم)\n\t- کاربر باید ایمیل یا موبایل داشته باشد\n\t- اگر `send_notification=true` باشد (پیش‌فرض)، اعلان `auth.password_reset` برای کاربر ارسال می‌شود\n\t- فیلد `token` فقط وقتی در پاسخ می‌آید که `app.debug` در تنظیمات API روشن باشد\n\t- نیاز به مجوز `user_management` در سطح اپلیکیشن دارد\n\t- Rate Limit: 500 request در دقیقه (عمومی برای تمام endpoint ها)\n\t\n\t### مثال cURL:\n\t```bash\n\tcurl -X POST \"http://localhost:8000/api/v1/users/123/reset-password?send_notification=true\" \\\n\t\t -H \"Authorization: Bearer sk_your_api_key\"\n\t```","operationId":"reset_user_password_api_v1_users__user_id__reset_password_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}},{"name":"send_notification","in":"query","required":false,"schema":{"type":"boolean","description":"ارسال اعلان بازیابی رمز (همان الگوی فراموشی رمز)","default":true,"title":"Send Notification"},"description":"ارسال اعلان بازیابی رمز (همان الگوی فراموشی رمز)"}],"responses":{"200":{"description":"توکن بازنشانی رمز عبور ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"توکن بازنشانی رمز عبور ایجاد شد","data":{"message":"توکن بازنشانی رمز عبور ایجاد شد","token":"reset_token_1234567890abcdef"}}}}},"400":{"description":"کاربر ایمیل یا موبایل ندارد","content":{"application/json":{"example":{"success":false,"message":"کاربر ایمیل یا موبایل ندارد","error_code":"NO_IDENTIFIER"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز user_management"},"404":{"description":"کاربر یافت نشد","content":{"application/json":{"example":{"success":false,"message":"کاربر یافت نشد","error_code":"USER_NOT_FOUND"}}}},"429":{"description":"تعداد درخواست‌ها بیش از حد مجاز","content":{"application/json":{"example":{"success":false,"message":"تعداد درخواست‌های شما بیش از حد مجاز است. لطفاً کمی صبر کنید.","error_code":"RATE_LIMIT_EXCEEDED"}}},"headers":{"X-RateLimit-Limit":{"description":"حد مجاز درخواست","schema":{"type":"integer","example":500}},"X-RateLimit-Remaining":{"description":"تعداد درخواست‌های باقیمانده","schema":{"type":"integer","example":0}},"X-RateLimit-Reset":{"description":"زمان reset به ثانیه (Unix timestamp)","schema":{"type":"integer","example":1705324800}},"Retry-After":{"description":"زمان باقیمانده تا retry به ثانیه","schema":{"type":"integer","example":30}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/users/{user_id}/set-password":{"post":{"tags":["کاربران","مدیریت سیستم"],"summary":"تنظیم رمز توسط مدیر (انتخابی یا تصادفی)","description":"تنظیم مستقیم `password_hash` برای کاربر بدون توکن بازنشانی.\n\n\t- `mode=direct`: `new_password` و `confirm_password` (۸ تا ۱۲۸ نویسه)\n\t- `mode=random`: رمز امن تولید می‌شود و **فقط یک‌بار** در `plain_password` برمی‌گردد\n\n\tنیاز به مجوز `user_management`.","operationId":"admin_set_user_password_endpoint_api_v1_users__user_id__set_password_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminSetUserPasswordRequest","description":"حالت و رمز"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/businesses":{"post":{"tags":["کسب‌وکارها"],"summary":"ایجاد کسب و کار جدید","description":"ایجاد کسب و کار جدید برای کاربر جاری","operationId":"create_new_business_api_v1_businesses_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessCreateRequest"}}},"required":true},"responses":{"200":{"description":"کسب و کار با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کسب و کار با موفقیت ایجاد شد","data":{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"created_at":"2024-01-01T00:00:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/import-from-backup":{"post":{"tags":["کسب‌وکارها"],"summary":"ایجاد کسب و کار جدید از فایل پشتیبان","description":"ایجاد کسب و کار جدید از فایل پشتیبان (.hbx). فایل‌های .hs60 در حال حاضر پشتیبانی نمی‌شوند.","operationId":"import_business_from_backup_api_v1_businesses_import_from_backup_post","parameters":[{"name":"async_mode","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Async Mode"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_business_from_backup_api_v1_businesses_import_from_backup_post"}}}},"responses":{"200":{"description":"کسب و کار با موفقیت از فایل پشتیبان ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"400":{"description":"خطا در فایل پشتیبان یا فرمت نامعتبر"},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/list":{"post":{"tags":["کسب‌وکارها"],"summary":"لیست کسب و کارهای کاربر","description":"دریافت لیست کسب و کارهای کاربر جاری با قابلیت فیلتر و جستجو","operationId":"list_user_businesses_api_v1_businesses_list_post","parameters":[{"name":"take","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Take"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort By"}},{"name":"sort_desc","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Sort Desc"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","title":"Search"}}],"responses":{"200":{"description":"لیست کسب و کارها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست کسب و کارها دریافت شد","data":{"items":[{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"created_at":"1403/01/01 00:00:00"}],"pagination":{"total":1,"page":1,"per_page":10,"total_pages":1,"has_next":false,"has_prev":false}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/print-settings":{"get":{"tags":["کسب‌وکارها"],"summary":"تنظیمات چاپ فاکتورهای کسب‌وکار","description":"دریافت تنظیمات چاپ فاکتور (لوگو، مهر، پرداخت‌ها، اقساط و متن انتهایی) به‌صورت پیش‌فرض و به تفکیک نوع فاکتور.","operationId":"get_business_print_settings_endpoint_api_v1_businesses__business_id__print_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["کسب‌وکارها"],"summary":"ویرایش تنظیمات چاپ فاکتورهای کسب‌وکار","description":"ذخیره تنظیمات چاپ فاکتور (لوگو، مهر، پرداخت‌ها، اقساط و متن انتهایی) به‌صورت پیش‌فرض و به تفکیک نوع فاکتور.","operationId":"update_business_print_settings_endpoint_api_v1_businesses__business_id__print_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/invoice-share-settings":{"get":{"tags":["کسب‌وکارها"],"summary":"تنظیمات پیش‌فرض پرداخت آنلاین لینک عمومی فاکتور","description":"مقادیر پیش‌فرض برای فعال‌سازی پرداخت آنلاین هنگام ایجاد لینک اشتراک فاکتور جدید.","operationId":"get_business_invoice_share_settings_endpoint_api_v1_businesses__business_id__invoice_share_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["کسب‌وکارها"],"summary":"ذخیرهٔ تنظیمات پیش‌فرض پرداخت آنلاین لینک عمومی فاکتور","description":"به‌روزرسانی پیش‌فرض‌های پرداخت آنلاین برای لینک‌های اشتراک فاکتور.","operationId":"update_business_invoice_share_settings_endpoint_api_v1_businesses__business_id__invoice_share_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/details":{"post":{"tags":["کسب‌وکارها"],"summary":"جزئیات کسب و کار","description":"دریافت جزئیات یک کسب و کار خاص","operationId":"get_business_api_v1_businesses__business_id__details_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"جزئیات کسب و کار با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"جزئیات کسب و کار دریافت شد","data":{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"address":"تهران، خیابان ولیعصر","phone":"02112345678","created_at":"1403/01/01 00:00:00"}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}":{"get":{"tags":["کسب‌وکارها"],"summary":"جزئیات کسب و کار","description":"دریافت جزئیات یک کسب و کار خاص","operationId":"get_business_api_v1_businesses__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"جزئیات کسب و کار با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"جزئیات کسب و کار دریافت شد","data":{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"address":"تهران، خیابان ولیعصر","phone":"02112345678","created_at":"1403/01/01 00:00:00"}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["کسب‌وکارها"],"summary":"ویرایش کسب و کار","description":"ویرایش اطلاعات یک کسب و کار","operationId":"update_business_info_api_v1_businesses__business_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUpdateRequest"}}}},"responses":{"200":{"description":"کسب و کار با موفقیت ویرایش شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کسب و کار با موفقیت ویرایش شد","data":{"id":1,"name":"شرکت نمونه ویرایش شده","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"updated_at":"2024-01-01T12:00:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["کسب‌وکارها"],"summary":"حذف کسب و کار","description":"حذف نرم یک کسب و کار (30 روز قابل بازیابی)","operationId":"delete_business_info_api_v1_businesses__business_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_delete_business_info_api_v1_businesses__business_id__delete"}}}},"responses":{"200":{"description":"کسب و کار با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"کسب و کار با موفقیت حذف شد. شما 30 روز فرصت دارید آن را بازیابی کنید.","data":{"business_id":1,"deleted_at":"2024-01-01T12:00:00Z","auto_delete_at":"2024-01-31T12:00:00Z","restore_deadline_days":30,"backup_created":true}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"فقط مالک کسب و کار می‌تواند آن را حذف کند"},"404":{"description":"کسب و کار یافت نشد"},"409":{"description":"نمی‌توان کسب و کار را حذف کرد (محدودیت‌ها وجود دارد)"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/delete-info":{"get":{"tags":["کسب‌وکارها"],"summary":"دریافت اطلاعات حذف کسب و کار","description":"بررسی و دریافت اطلاعات مرتبط با حذف کسب و کار","operationId":"get_business_delete_info_endpoint_api_v1_businesses__business_id__delete_info_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/restore":{"post":{"tags":["کسب‌وکارها"],"summary":"بازیابی کسب و کار","description":"بازیابی کسب و کار حذف شده (فقط در 30 روز اول)","operationId":"restore_business_endpoint_api_v1_businesses__business_id__restore_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"کسب و کار با موفقیت بازیابی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"400":{"description":"کسب و کار حذف نشده است"},"403":{"description":"فقط مالک می‌تواند کسب و کار را بازیابی کند"},"404":{"description":"کسب و کار یافت نشد"},"410":{"description":"مهلت بازیابی به پایان رسیده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/logo":{"post":{"tags":["کسب‌وکارها"],"summary":"آپلود لوگوی کسب‌وکار","description":"آپلود تصویر لوگوی کسب‌وکار و ذخیره شناسه فایل روی رکورد Business.","operationId":"upload_business_logo_api_v1_businesses__business_id__logo_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_business_logo_api_v1_businesses__business_id__logo_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["کسب‌وکارها"],"summary":"دریافت لوگوی کسب‌وکار","description":"بازگرداندن تصویر لوگوی کسب‌وکار به‌صورت فایل برای نمایش در UI یا فاکتور.","operationId":"get_business_logo_api_v1_businesses__business_id__logo_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/stamp":{"post":{"tags":["کسب‌وکارها"],"summary":"آپلود مهر/امضای کسب‌وکار","description":"آپلود تصویر مهر یا امضای رسمی کسب‌وکار و ذخیره شناسه فایل روی رکورد Business.","operationId":"upload_business_stamp_api_v1_businesses__business_id__stamp_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_business_stamp_api_v1_businesses__business_id__stamp_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["کسب‌وکارها"],"summary":"دریافت مهر/امضای کسب‌وکار","description":"بازگرداندن تصویر مهر یا امضای کسب‌وکار به‌صورت فایل برای نمایش در UI یا فاکتور.","operationId":"get_business_stamp_api_v1_businesses__business_id__stamp_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/stats":{"post":{"tags":["کسب‌وکارها"],"summary":"آمار کسب و کارها","description":"دریافت آمار کلی کسب و کارهای کاربر","operationId":"get_business_stats_api_v1_businesses_stats_post","responses":{"200":{"description":"آمار کسب و کارها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"آمار کسب و کارها دریافت شد","data":{"total_businesses":5,"by_type":{"شرکت":2,"مغازه":1,"فروشگاه":2},"by_field":{"تولیدی":3,"خدماتی":2}}}}}},"401":{"description":"کاربر احراز هویت نشده است"}}}},"/api/v1/businesses/{business_id}/currencies":{"post":{"tags":["کسب‌وکارها"],"summary":"اضافه کردن ارز جانبی به کسب‌وکار","description":"اضافه کردن یک ارز به لیست ارزهای قابل استفاده در کسب‌وکار","operationId":"add_business_currency_endpoint_api_v1_businesses__business_id__currencies_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/currencies/{currency_id}":{"delete":{"tags":["کسب‌وکارها"],"summary":"حذف ارز جانبی از کسب‌وکار","description":"حذف یک ارز از لیست ارزهای قابل استفاده در کسب‌وکار (در صورت عدم استفاده در اسناد)","operationId":"remove_business_currency_endpoint_api_v1_businesses__business_id__currencies__currency_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"currency_id","in":"path","required":true,"schema":{"type":"integer","title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/currencies/{currency_id}/usage-check":{"get":{"tags":["کسب‌وکارها"],"summary":"بررسی استفاده ارز در اسناد","description":"بررسی اینکه آیا یک ارز در اسناد حسابداری استفاده شده است یا نه","operationId":"check_currency_usage_endpoint_api_v1_businesses__business_id__currencies__currency_id__usage_check_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"currency_id","in":"path","required":true,"schema":{"type":"integer","title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/currencies":{"get":{"tags":["currencies"],"summary":"فهرست ارزها","description":"دریافت فهرست ارزهای قابل استفاده","operationId":"list_currencies_api_v1_currencies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Currencies Api V1 Currencies Get"}}}}}}},"/api/v1/currencies/business/{business_id}":{"get":{"tags":["currencies"],"summary":"فهرست ارزهای کسب‌وکار","description":"دریافت ارز پیش‌فرض کسب‌وکار به‌علاوه ارزهای فعال آن کسب‌وکار (بدون تکرار)","operationId":"list_business_currencies_api_v1_currencies_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Currencies Api V1 Currencies Business  Business Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard":{"post":{"tags":["business-dashboard"],"summary":"دریافت داشبورد کسب و کار","description":"دریافت اطلاعات کلی و آمار کسب و کار","operationId":"get_business_dashboard_api_v1_business__business_id__dashboard_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"داشبورد کسب و کار با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"داشبورد کسب و کار دریافت شد","data":{"business_info":{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"created_at":"1403/01/01 00:00:00","member_count":5},"statistics":{"total_sales":1000000.0,"total_purchases":500000.0,"active_members":5,"recent_transactions":25},"recent_activities":[{"id":1,"title":"فروش جدید","description":"فروش محصول A به مبلغ 100,000 تومان","icon":"sell","time_ago":"2 ساعت پیش"}]}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/members":{"post":{"tags":["business-dashboard"],"summary":"لیست اعضای کسب و کار","description":"دریافت لیست اعضای کسب و کار","operationId":"get_business_members_api_v1_business__business_id__members_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"لیست اعضا با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست اعضا دریافت شد","data":{"items":[{"id":1,"user_id":2,"first_name":"احمد","last_name":"احمدی","email":"ahmad@example.com","role":"مدیر فروش","permissions":{"sales":{"write":true,"delete":true},"reports":{"export":true}},"joined_at":"1403/01/01 00:00:00"}],"pagination":{"total":1,"page":1,"per_page":10,"total_pages":1,"has_next":false,"has_prev":false}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/statistics":{"post":{"tags":["business-dashboard"],"summary":"آمار کسب و کار","description":"دریافت آمار تفصیلی کسب و کار","operationId":"get_business_statistics_api_v1_business__business_id__statistics_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"آمار با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"آمار دریافت شد","data":{"sales_by_month":[{"month":"1403/01","amount":500000},{"month":"1403/02","amount":750000}],"top_products":[{"name":"محصول A","sales_count":100,"revenue":500000}],"member_activity":{"active_today":3,"active_this_week":5,"total_members":8}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/info-with-permissions":{"post":{"tags":["business-dashboard"],"summary":"دریافت اطلاعات کسب و کار و دسترسی‌ها","description":"دریافت اطلاعات کسب و کار همراه با دسترسی‌های کاربر","operationId":"get_business_info_with_permissions_api_v1_business__business_id__info_with_permissions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"اطلاعات کسب و کار و دسترسی‌ها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"اطلاعات کسب و کار و دسترسی‌ها دریافت شد","data":{"business_info":{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"address":"تهران، خیابان ولیعصر","phone":"02112345678","mobile":"09123456789","created_at":"1403/01/01 00:00:00"},"user_permissions":{"people":{"add":true,"view":true,"edit":true,"delete":false},"products":{"add":true,"view":true,"edit":false,"delete":false},"invoices":{"add":true,"view":true,"edit":true,"delete":true}},"is_owner":false,"role":"عضو","has_access":true}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/widgets/definitions":{"get":{"tags":["business-dashboard"],"summary":"تعاریف ویجت‌های داشبورد","description":"لیست ویجت‌های قابل استفاده برای کاربر فعلی (بر اساس مجوزها) + ستون‌بندی رسپانسیو","operationId":"list_dashboard_widget_definitions_api_v1_business__business_id__dashboard_widgets_definitions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/layout":{"get":{"tags":["business-dashboard"],"summary":"دریافت چیدمان داشبورد (پروفایل رسپانسیو)","description":"چیدمان کاربر برای یک breakpoint مشخص را برمی‌گرداند. در نبود، از پیش‌فرض سیستم استفاده می‌کند.","operationId":"get_dashboard_layout_api_v1_business__business_id__dashboard_layout_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"breakpoint","in":"query","required":false,"schema":{"type":"string","default":"md","title":"Breakpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["business-dashboard"],"summary":"ذخیره چیدمان داشبورد (پروفایل رسپانسیو)","description":"چیدمان کاربر برای breakpoint مشخص را ذخیره می‌کند.","operationId":"put_dashboard_layout_api_v1_business__business_id__dashboard_layout_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/quick-links/presets":{"get":{"tags":["business-dashboard"],"summary":"کاتالوگ presetهای دسترسی سریع","operationId":"get_quick_link_presets_api_v1_business__business_id__dashboard_quick_links_presets_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/quick-links":{"get":{"tags":["business-dashboard"],"summary":"ذخیره‌شده کاشی‌های دسترسی سریع کاربر برای این کسب‌وکار","operationId":"get_quick_links_saved_api_v1_business__business_id__dashboard_quick_links_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["business-dashboard"],"summary":"ذخیره کاشی‌های دسترسی سریع","operationId":"put_quick_links_saved_api_v1_business__business_id__dashboard_quick_links_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/menu-preferences":{"get":{"tags":["business-dashboard"],"summary":"شخصی‌سازی منوی کاربر برای این کسب‌وکار","operationId":"get_menu_preferences_api_v1_business__business_id__menu_preferences_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["business-dashboard"],"summary":"ذخیره شخصی‌سازی منوی کاربر","operationId":"put_menu_preferences_api_v1_business__business_id__menu_preferences_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/data":{"post":{"tags":["business-dashboard"],"summary":"دریافت داده‌ی ویجت‌ها (Batch)","description":"کلیدهای ویجت را می‌گیرد و داده‌ی هر ویجت را در یک پاسخ برمی‌گرداند. برای query های طولانی از background job استفاده می‌کند.","operationId":"post_dashboard_widgets_data_api_v1_business__business_id__dashboard_data_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/dashboard/layout/default":{"get":{"tags":["business-dashboard"],"summary":"پیش‌فرض چیدمان کسب‌وکار (GET)","description":"چیدمان پیش‌فرض منتشر شده توسط مالک کسب‌وکار را برمی‌گرداند (در صورت وجود).","operationId":"get_business_default_dashboard_layout_api_v1_business__business_id__dashboard_layout_default_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"breakpoint","in":"query","required":false,"schema":{"type":"string","default":"md","title":"Breakpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["business-dashboard"],"summary":"انتشار چیدمان پیش‌فرض کسب‌وکار (PUT)","description":"مالک کسب‌وکار می‌تواند چیدمان پیش‌فرض را برای breakpoint مشخص منتشر کند.","operationId":"put_business_default_dashboard_layout_api_v1_business__business_id__dashboard_layout_default_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/data-tables/column-settings":{"get":{"tags":["business-data-table"],"summary":"دریافت تنظیمات ستون جدول ذخیره‌شده","operationId":"get_data_table_column_settings_api_v1_business__business_id__data_tables_column_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"table_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":255,"title":"Table Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["business-data-table"],"summary":"ذخیره تنظیمات ستون جدول","operationId":"put_data_table_column_settings_api_v1_business__business_id__data_tables_column_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["business-data-table"],"summary":"حذف تنظیمات ستون جدول (بازگشت به پیش‌فرض)","operationId":"delete_data_table_column_settings_api_v1_business__business_id__data_tables_column_settings_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"table_id","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":255,"title":"Table Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profile/dashboard/widgets/definitions":{"get":{"tags":["profile-dashboard"],"summary":"تعاریف ویجت‌های داشبورد پروفایل","description":"لیست ویجت‌های قابل استفاده برای داشبورد پروفایل کاربر","operationId":"list_profile_dashboard_widget_definitions_api_v1_profile_dashboard_widgets_definitions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}}},"/api/v1/profile/dashboard/layout":{"get":{"tags":["profile-dashboard"],"summary":"دریافت چیدمان داشبورد پروفایل (پروفایل رسپانسیو)","description":"چیدمان کاربر برای یک breakpoint مشخص را برمی‌گرداند. در نبود، از پیش‌فرض سیستم استفاده می‌کند.","operationId":"get_profile_dashboard_layout_api_v1_profile_dashboard_layout_get","parameters":[{"name":"breakpoint","in":"query","required":false,"schema":{"type":"string","default":"md","title":"Breakpoint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["profile-dashboard"],"summary":"ذخیره چیدمان داشبورد پروفایل (پروفایل رسپانسیو)","description":"چیدمان کاربر برای breakpoint مشخص را ذخیره می‌کند.","operationId":"put_profile_dashboard_layout_api_v1_profile_dashboard_layout_put","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profile/dashboard/data":{"post":{"tags":["profile-dashboard"],"summary":"دریافت داده‌ی ویجت‌های پروفایل (Batch)","description":"کلیدهای ویجت را می‌گیرد و داده‌ی هر ویجت را در یک پاسخ برمی‌گرداند.","operationId":"post_profile_dashboard_widgets_data_api_v1_profile_dashboard_data_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/profile/ui-preferences":{"get":{"tags":["profile-dashboard"],"summary":"ترجیحات ظاهری / UI کاربر","description":"شامل حالت نمایش پنل کسب‌وکار (تکی یا تب در دسکتاپ) و وضعیت تب‌ها به‌ازای هر کسب‌وکار.","operationId":"get_ui_preferences_api_v1_profile_ui_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}},"put":{"tags":["profile-dashboard"],"summary":"ذخیرهٔ ترجیحات ظاهری کاربر","operationId":"put_ui_preferences_api_v1_profile_ui_preferences_put","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/users/telegram-connected":{"get":{"tags":["business-users"],"summary":"لیست کاربران متصل به تلگرام","description":"دریافت لیست کاربران عضو کسب و کار که به ربات تلگرام متصل هستند","operationId":"get_telegram_connected_users_api_v1_business__business_id__users_telegram_connected_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"لیست کاربران متصل به تلگرام","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Telegram Connected Users Api V1 Business  Business Id  Users Telegram Connected Get"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/business/{business_id}/users/bale-connected":{"get":{"tags":["business-users"],"summary":"لیست کاربران متصل به بله","description":"دریافت لیست کاربران عضو کسب و کار که به ربات بله متصل هستند","operationId":"get_bale_connected_users_api_v1_business__business_id__users_bale_connected_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"لیست کاربران متصل به بله","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Bale Connected Users Api V1 Business  Business Id  Users Bale Connected Get"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/business/{business_id}/users/{user_id}":{"get":{"tags":["business-users"],"summary":"دریافت جزئیات کاربر","description":"دریافت جزئیات کاربر و دسترسی‌هایش در کسب و کار","operationId":"get_user_details_api_v1_business__business_id__users__user_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"جزئیات کاربر با موفقیت دریافت شد","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get User Details Api V1 Business  Business Id  Users  User Id  Get"},"example":{"success":true,"message":"جزئیات کاربر دریافت شد","user":{"id":1,"business_id":1,"user_id":2,"user_name":"علی احمدی","user_email":"ali@example.com","user_phone":"09123456789","role":"member","status":"active","added_at":"2024-01-01T00:00:00Z","last_active":"2024-01-01T12:00:00Z","permissions":{"people":{"add":true,"view":true,"edit":false,"delete":false}}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"404":{"description":"کاربر یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"delete":{"tags":["business-users"],"summary":"حذف کاربر از کسب و کار","description":"حذف کاربر از کسب و کار","operationId":"remove_user_api_v1_business__business_id__users__user_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"کاربر با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RemoveUserResponse"},"example":{"success":true,"message":"کاربر با موفقیت حذف شد"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز یا مجوز کافی نیست"},"404":{"description":"کاربر یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/business/{business_id}/users":{"get":{"tags":["business-users"],"summary":"لیست کاربران کسب و کار","description":"دریافت لیست کاربران یک کسب و کار","operationId":"get_users_api_v1_business__business_id__users_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"لیست کاربران با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessUsersListResponse"},"example":{"success":true,"message":"لیست کاربران دریافت شد","users":[{"id":1,"business_id":1,"user_id":2,"user_name":"علی احمدی","user_email":"ali@example.com","user_phone":"09123456789","role":"member","status":"active","added_at":"2024-01-01T00:00:00Z","last_active":"2024-01-01T12:00:00Z","permissions":{"sales":{"read":true,"write":true,"delete":false},"reports":{"read":true,"export":true}}}],"total_count":1}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"post":{"tags":["business-users"],"summary":"افزودن کاربر به کسب و کار","description":"افزودن کاربر جدید به کسب و کار با ایمیل یا شماره تلفن","operationId":"add_user_api_v1_business__business_id__users_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUserRequest"}}}},"responses":{"200":{"description":"کاربر با موفقیت اضافه شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddUserResponse"},"example":{"success":true,"message":"کاربر با موفقیت اضافه شد","user":{"id":1,"business_id":1,"user_id":2,"user_name":"علی احمدی","user_email":"ali@example.com","user_phone":"09123456789","role":"member","status":"active","added_at":"2024-01-01T00:00:00Z","permissions":{}}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز یا مجوز کافی نیست"},"404":{"description":"کاربر یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/business/{business_id}/users/{user_id}/permissions":{"put":{"tags":["business-users"],"summary":"به‌روزرسانی دسترسی‌های کاربر","description":"به‌روزرسانی دسترسی‌های یک کاربر در کسب و کار","operationId":"update_permissions_api_v1_business__business_id__users__user_id__permissions_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePermissionsRequest"}}}},"responses":{"200":{"description":"دسترسی‌ها با موفقیت به‌روزرسانی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePermissionsResponse"},"example":{"success":true,"message":"دسترسی‌ها با موفقیت به‌روزرسانی شد"}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز یا مجوز کافی نیست"},"404":{"description":"کاربر یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/business/{business_id}/leave":{"delete":{"tags":["business-users"],"summary":"خروج از کسب و کار","description":"خروج خودکار کاربر از کسب و کار (فقط برای اعضای غیر از مالک)","operationId":"leave_business_api_v1_business__business_id__leave_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"کاربر با موفقیت از کسب و کار خارج شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaveBusinessResponse"},"example":{"success":true,"message":"شما با موفقیت از کسب و کار خارج شدید"}}}},"400":{"description":"خطا: کاربر مالک کسب و کار است یا عضو نیست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"404":{"description":"کسب و کار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/business/{business_id}/tree":{"get":{"tags":["حسابداری"],"summary":"دریافت درخت حساب‌ها برای یک کسب و کار","description":"لیست حساب‌های عمومی و حساب‌های اختصاصی کسب و کار به صورت درختی","operationId":"get_accounts_tree_api_v1_accounts_business__business_id__tree_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Accounts Tree Api V1 Accounts Business  Business Id  Tree Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/business/{business_id}":{"get":{"tags":["حسابداری"],"summary":"دریافت لیست حساب‌ها برای یک کسب و کار","description":"لیست تمام حساب‌های عمومی و حساب‌های اختصاصی کسب و کار (بدون ساختار درختی)","operationId":"get_accounts_list_api_v1_accounts_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Accounts List Api V1 Accounts Business  Business Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["حسابداری"],"summary":"جستجو و فیلتر حساب‌ها","description":"جستجو در حساب‌ها با قابلیت فیلتر، مرتب‌سازی و صفحه‌بندی","operationId":"search_accounts_api_v1_accounts_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchAccountsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Accounts Api V1 Accounts Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/business/{business_id}/account/{account_id}":{"get":{"tags":["حسابداری"],"summary":"دریافت جزئیات یک حساب خاص","description":"دریافت اطلاعات کامل یک حساب بر اساس ID","operationId":"get_account_by_id_api_v1_accounts_business__business_id__account__account_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Account By Id Api V1 Accounts Business  Business Id  Account  Account Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/business/{business_id}/create":{"post":{"tags":["حسابداری"],"summary":"ایجاد حساب جدید برای یک کسب‌وکار","description":"ایجاد حساب اختصاصی (business-specific).","operationId":"create_business_account_api_v1_accounts_business__business_id__create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Business Account Api V1 Accounts Business  Business Id  Create Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/accounts/account/{account_id}":{"put":{"tags":["حسابداری"],"summary":"ویرایش حساب","description":"ویرایش حساب اختصاصی بیزنس (دارای دسترسی write). حساب‌های عمومی غیرقابل‌ویرایش هستند.","operationId":"update_account_endpoint_api_v1_accounts_account__account_id__put","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Account Endpoint Api V1 Accounts Account  Account Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["حسابداری"],"summary":"حذف حساب","description":"حذف حساب اختصاصی بیزنس (دارای دسترسی write). حساب‌های عمومی غیرقابل‌حذف هستند.","operationId":"delete_account_endpoint_api_v1_accounts_account__account_id__delete","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Account Endpoint Api V1 Accounts Account  Account Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}/tree":{"post":{"tags":["محصولات و کالاها"],"summary":"Get Categories Tree","operationId":"get_categories_tree_api_v1_categories_business__business_id__tree_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Categories Tree Api V1 Categories Business  Business Id  Tree Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}":{"post":{"tags":["محصولات و کالاها"],"summary":"Create Category","operationId":"create_category_api_v1_categories_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Category Api V1 Categories Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}/update":{"post":{"tags":["محصولات و کالاها"],"summary":"Update Category","operationId":"update_category_api_v1_categories_business__business_id__update_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Category Api V1 Categories Business  Business Id  Update Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}/move":{"post":{"tags":["محصولات و کالاها"],"summary":"Move Category","operationId":"move_category_api_v1_categories_business__business_id__move_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Move Category Api V1 Categories Business  Business Id  Move Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}/delete":{"post":{"tags":["محصولات و کالاها"],"summary":"Delete Category","operationId":"delete_category_api_v1_categories_business__business_id__delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Category Api V1 Categories Business  Business Id  Delete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/categories/business/{business_id}/search":{"post":{"tags":["محصولات و کالاها"],"summary":"Search Categories","operationId":"search_categories_api_v1_categories_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Categories Api V1 Categories Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-attributes/business/{business_id}":{"post":{"tags":["product-attributes"],"summary":"Create Product Attribute","operationId":"create_product_attribute_api_v1_product_attributes_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductAttributeCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Product Attribute Api V1 Product Attributes Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-attributes/business/{business_id}/search":{"post":{"tags":["product-attributes"],"summary":"Search Product Attributes","operationId":"search_product_attributes_api_v1_product_attributes_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Product Attributes Api V1 Product Attributes Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-attributes/business/{business_id}/{attribute_id}":{"get":{"tags":["product-attributes"],"summary":"Get Product Attribute","operationId":"get_product_attribute_api_v1_product_attributes_business__business_id___attribute_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"attribute_id","in":"path","required":true,"schema":{"type":"integer","title":"Attribute Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Product Attribute Api V1 Product Attributes Business  Business Id   Attribute Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["product-attributes"],"summary":"Update Product Attribute","operationId":"update_product_attribute_api_v1_product_attributes_business__business_id___attribute_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"attribute_id","in":"path","required":true,"schema":{"type":"integer","title":"Attribute Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductAttributeUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Product Attribute Api V1 Product Attributes Business  Business Id   Attribute Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["product-attributes"],"summary":"Delete Product Attribute","operationId":"delete_product_attribute_api_v1_product_attributes_business__business_id___attribute_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"attribute_id","in":"path","required":true,"schema":{"type":"integer","title":"Attribute Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Product Attribute Api V1 Product Attributes Business  Business Id   Attribute Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"ایجاد محصول جدید","description":"ایجاد یک محصول یا خدمت جدید برای کسب‌وکار\n    \n    ### ویژگی‌ها:\n    - پشتیبانی از آپلود تصویر (multipart/form-data یا JSON)\n    - پشتیبانی از 60+ فیلد شامل: قیمت‌گذاری، موجودی، مالیات، ویژگی‌ها\n    - اگر کد محصول ارسال نشود، به صورت خودکار تولید می‌شود\n    \n    ### نکات مهم:\n    - برای آپلود تصویر از multipart/form-data استفاده کنید\n    - فیلد `item_type` می‌تواند \"کالا\" یا \"خدمت\" باشد\n    - برای کالاهای با کنترل موجودی، `track_inventory` را true قرار دهید","operationId":"create_product_endpoint_api_v1_products_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_product_endpoint_api_v1_products_business__business_id__post"}}}},"responses":{"200":{"description":"محصول با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProductResponse_"},"example":{"success":true,"message":"محصول با موفقیت ایجاد شد","data":{"id":123,"code":"P1001","name":"لپ‌تاپ Asus Vivobook 15","item_type":"کالا","description":"لپ‌تاپ 15.6 اینچی با پردازنده Core i5","category_id":1,"category_name":"لپ‌تاپ","main_unit":"عدد","base_sales_price":15000000,"base_purchase_price":12000000,"track_inventory":true,"default_warehouse_id":1,"is_sales_taxable":true,"sales_tax_rate":9,"is_active":true,"created_at":"2024-01-15T10:30:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها یا محدودیت ذخیره‌سازی","content":{"application/json":{"example":{"success":false,"error_code":"VALIDATION_ERROR","message":"نام محصول الزامی است"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.add"},"404":{"description":"کسب‌وکار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-upsert":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"ایجاد/ویرایش گروهی کالا (یکپارچه‌سازی)","description":"بدنه: `{\"items\":[{\"client_ref?\":\"...\",\"product_id?\":null|int شناسه کالا در حسابیکس,\"payload\":{ ... فیلدهای ایجاد/ویرایش مانند endpoint تکی }}],\"create_if_update_missing\":true}`. حداکثر ۱۰۰۰ آیتم. خروجی: results با status در created|updated|failed.","operationId":"bulk_upsert_products_integration_endpoint_api_v1_products_business__business_id__bulk_upsert_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bulk Upsert Products Integration Endpoint Api V1 Products Business  Business Id  Bulk Upsert Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/search":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"جستجو و فیلتر محصولات","description":"جستجو، فیلتر و لیست‌بندی محصولات با قابلیت‌های پیشرفته\n    \n    ### قابلیت‌ها:\n    - جستجو در چندین فیلد (نام، کد، توضیحات)\n    - فیلتر بر اساس دسته‌بندی، نوع محصول، وضعیت فعال/غیرفعال\n    - مرتب‌سازی بر اساس فیلدهای مختلف\n    - صفحه‌بندی نتایج\n    - فیلتر بر اساس دسته‌بندی (category_ids)\n    \n    ### نکات:\n    - حداکثر تعداد رکورد در هر درخواست: 1000 (پارامتر `take`)\n    - نتایج جستجو برای مدت کوتاهی cache می‌شوند\n    - برای جستجوی دقیق‌تر از فیلترها استفاده کنید","operationId":"search_products_endpoint_api_v1_products_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"لیست محصولات با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProductListResponse_"},"example":{"success":true,"message":"لیست محصولات دریافت شد","data":{"items":[{"id":1,"code":"P1001","name":"لپ‌تاپ Asus Vivobook 15","item_type":"کالا","category_name":"لپ‌تاپ","base_sales_price":15000000,"is_active":true}],"total_count":100,"has_more":true}}}}},"400":{"description":"خطا در اعتبارسنجی پارامترها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.view"},"404":{"description":"کسب‌وکار یافت نشد"},"500":{"description":"خطای داخلی سرور"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/recent-from-sales-invoices":{"get":{"tags":["محصولات و کالاها","انبارداری"],"summary":"کالاهای اخیر در فاکتورهای فروش","description":"فهرست کالاهایی که اخیراً در اسناد فروش (غیر پیش‌فاکتور) استفاده شده‌اند،\n    مرتب‌شده از جدیدترین فاکتور؛ برای پیشنهاد اولیه در جستجو (مثلاً فروش سریع).","operationId":"list_recent_from_sales_invoices_endpoint_api_v1_products_business__business_id__recent_from_sales_invoices_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"حداکثر تعداد کالا","default":10,"title":"Take"},"description":"حداکثر تعداد کالا"},{"name":"category_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"شناسه دسته‌ها با ویرگول (مثلاً 1,2,3)؛ در صورت ارسال فقط کالاهای این دسته‌ها","title":"Category Ids"},"description":"شناسه دسته‌ها با ویرگول (مثلاً 1,2,3)؛ در صورت ارسال فقط کالاهای این دسته‌ها"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProductListResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/{product_id}":{"get":{"tags":["محصولات و کالاها","انبارداری"],"summary":"دریافت اطلاعات محصول","description":"دریافت اطلاعات کامل یک محصول یا خدمت\n    \n    ### اطلاعات برگشتی:\n    - اطلاعات پایه محصول (کد، نام، نوع، توضیحات)\n    - اطلاعات دسته‌بندی\n    - قیمت‌گذاری (فروش و خرید)\n    - تنظیمات موجودی و انبار\n    - اطلاعات مالیات\n    - تصویر محصول (در صورت وجود)\n    - ویژگی‌های محصول\n    - موجودی در انبارها (اختیاری)","operationId":"get_product_endpoint_api_v1_products_business__business_id___product_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"اطلاعات محصول با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schema_models__common__SuccessResponse"},"example":{"success":true,"data":{"item":{"id":123,"code":"P1001","name":"لپ‌تاپ Asus Vivobook 15","item_type":"کالا","description":"لپ‌تاپ 15.6 اینچی با پردازنده Core i5","category_id":1,"category_name":"لپ‌تاپ","main_unit":"عدد","base_sales_price":15000000,"base_purchase_price":12000000,"track_inventory":true,"default_warehouse_id":1,"default_warehouse_name":"انبار اصلی","total_quantity":25,"total_value":300000000,"is_sales_taxable":true,"sales_tax_rate":9,"is_active":true,"created_at":"2024-01-15T10:30:00Z","updated_at":"2024-01-20T14:20:00Z"}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.view"},"404":{"description":"محصول یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"NOT_FOUND","message":"Product not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["محصولات و کالاها","انبارداری"],"summary":"ویرایش محصول","description":"ویرایش اطلاعات یک محصول یا خدمت موجود\n    \n    ### ویژگی‌ها:\n    - پشتیبانی از آپلود تصویر جدید (multipart/form-data یا JSON)\n    - تمام فیلدها اختیاری هستند (فقط فیلدهای ارسال شده به‌روزرسانی می‌شوند)\n    - تصویر قبلی در صورت آپلود تصویر جدید حذف می‌شود\n    \n    ### نکات مهم:\n    - برای آپلود تصویر از multipart/form-data استفاده کنید\n    - تغییر کد محصول ممکن است روی فاکتورهای موجود تأثیر بگذارد\n    - تغییر `track_inventory` ممکن است نیاز به بررسی موجودی داشته باشد","operationId":"update_product_endpoint_api_v1_products_business__business_id___product_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_update_product_endpoint_api_v1_products_business__business_id___product_id__put"}}}},"responses":{"200":{"description":"محصول با موفقیت به‌روزرسانی شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_ProductResponse_"},"example":{"success":true,"message":"محصول با موفقیت به‌روزرسانی شد","data":{"id":123,"code":"P1001","name":"لپ‌تاپ Asus Vivobook 15 (ویرایش شده)","item_type":"کالا","base_sales_price":15500000,"updated_at":"2024-01-20T14:20:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها یا محدودیت ذخیره‌سازی"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"404":{"description":"محصول یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"NOT_FOUND","message":"Product not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["محصولات و کالاها","انبارداری"],"summary":"حذف محصول","description":"حذف یک محصول یا خدمت از سیستم\n    \n    ### نکات مهم:\n    - محصولات که در فاکتورها استفاده شده‌اند ممکن است قابل حذف نباشند\n    - در صورت وجود وابستگی‌ها، خطا برگردانده می‌شود\n    - تصویر محصول نیز همراه با محصول حذف می‌شود\n    - این عملیات غیرقابل بازگشت است","operationId":"delete_product_endpoint_api_v1_products_business__business_id___product_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"محصول با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__bool__"},"example":{"success":true,"message":"کالا با موفقیت حذف شد","data":{"deleted":true}}}}},"400":{"description":"محصول قابل حذف نیست (به دلیل وابستگی‌ها)","content":{"application/json":{"example":{"success":false,"error_code":"HAS_DEPENDENCIES","message":"این محصول در فاکتورها استفاده شده و قابل حذف نیست"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.delete"},"404":{"description":"محصول یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"NOT_FOUND","message":"کالا یافت نشد"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/{product_id}/commercial-insights":{"get":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خلاصهٔ بازرگانی کالا (حواله + تسعیر به ارز پایه)","description":"آمار خرید/فروش و نمودار میانگین موزون قیمت واحد به **ارز پایهٔ کسب‌وکار**.\n    تنها خطوط فاکتوری که مانند Kardex کنترل می‌شوند و فاکتور مربوطه **حداقل یک حوالهٔ انبار با وضعیت posted و مبدأ invoice** دارد، لحاظ می‌شوند.\n    نرخ تبدیل مانند شخص‌حساب: اولویت با `extra_info.fx` روی سند، سپس نرخ تاریخ سند مطابق تنظیم تسعیر کسب‌وکار.","operationId":"get_product_commercial_insights_endpoint_api_v1_products_business__business_id___product_id__commercial_insights_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"آغاز بازهٔ شمسی/میلادی یکسان با document_date اسناد","title":"Date From"},"description":"آغاز بازهٔ شمسی/میلادی یکسان با document_date اسناد"},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"پایان بازه (شامل)","title":"Date To"},"description":"پایان بازه (شامل)"},{"name":"bucket","in":"query","required":false,"schema":{"type":"string","description":"تجمیع نمودار: day | week | month","default":"month","title":"Bucket"},"description":"تجمیع نمودار: day | week | month"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Product Commercial Insights Endpoint Api V1 Products Business  Business Id   Product Id  Commercial Insights Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-delete":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"حذف گروهی محصولات","description":"حذف چندین محصول به صورت همزمان بر اساس شناسه‌ها یا کدها\n    \n    ### ویژگی‌ها:\n    - حذف بر اساس شناسه‌ها (ids) یا کدها (codes) یا هر دو\n    - در صورت وجود وابستگی، محصول نادیده گرفته می‌شود (skipped)\n    - نتیجه شامل تعداد حذف شده، نادیده گرفته شده و خطاها است\n    \n    ### نکات:\n    - محصولاتی که در فاکتورها استفاده شده‌اند قابل حذف نیستند\n    - تصاویر محصولات حذف شده نیز حذف می‌شوند\n    - این عملیات غیرقابل بازگشت است","operationId":"bulk_delete_products_endpoint_api_v1_products_business__business_id__bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"عملیات حذف گروهی انجام شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"data":{"deleted":5,"skipped":2,"errors":[{"product_id":123,"code":"P1001","message":"این محصول در فاکتورها استفاده شده است"}]}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها - ids و codes نباید هر دو خالی باشند"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.delete"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel لیست محصولات","description":"دریافت لیست محصولات به صورت فایل Excel\n    \n    ### قابلیت‌ها:\n    - فیلتر محصولات بر اساس معیارهای مختلف\n    - انتخاب ستون‌های دلخواه برای خروجی\n    - مرتب‌سازی داده‌ها\n    - انتخاب محصولات خاص (selected_indices)\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### فرمت فایل:\n    - فرمت: `.xlsx` (Excel 2007+)\n    - نام فایل شامل نام کسب‌وکار و timestamp است","operationId":"export_products_excel_api_v1_products_business__business_id__export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"فایل Excel با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"نام فایل خروجی","schema":{"type":"string","example":"attachment; filename=products_business_20240115_103000.xlsx"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.export"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/price-report/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel گزارش قیمت کالا (ستون‌های محدود)","operationId":"export_product_price_report_excel_api_v1_products_business__business_id__price_report_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/import/template":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"دانلود تمپلیت ایمپورت محصولات","description":"دریافت فایل Excel تمپلیت برای ایمپورت محصولات\n    \n    ### ویژگی‌ها:\n    - شامل تمام ستون‌های مورد نیاز برای ایمپورت\n    - هدرهای فارسی و انگلیسی\n    - نمونه داده برای راهنمایی\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### استفاده:\n    1. این endpoint را فراخوانی کنید تا تمپلیت را دریافت کنید\n    2. فایل را با اطلاعات محصولات پر کنید\n    3. فایل را از طریق endpoint `/import/excel` آپلود کنید\n    \n    ### فرمت فایل:\n    - فرمت: `.xlsx` (Excel 2007+)","operationId":"download_products_import_template_api_v1_products_business__business_id__import_template_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"فایل تمپلیت با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"نام فایل تمپلیت","schema":{"type":"string","example":"attachment; filename=products_import_template.xlsx"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/import/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"ایمپورت محصولات از فایل Excel","description":"آپلود و پردازش فایل Excel برای ایمپورت محصولات\n    \n    ### قابلیت‌ها:\n    - پشتیبانی از فایل Excel (.xlsx)\n    - پردازش به صورت dry-run (پیش‌نمایش) یا واقعی\n    - ایجاد یا به‌روزرسانی محصولات بر اساس کد\n    - پشتیبانی از دسته‌بندی، مالیات، ویژگی‌ها و سایر فیلدها\n    - گزارش خطاها و هشدارها\n    \n    ### نکات مهم:\n    - برای دریافت تمپلیت از endpoint `/import/template` استفاده کنید\n    - در حالت dry-run تغییری در داده‌ها ایجاد نمی‌شود\n    - محصولات با کد یکسان به‌روزرسانی می‌شوند\n    - خطاهای اعتبارسنجی در پاسخ برگردانده می‌شوند","operationId":"import_products_excel_api_v1_products_business__business_id__import_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_products_excel_api_v1_products_business__business_id__import_excel_post"}}}},"responses":{"200":{"description":"فایل با موفقیت پردازش شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"message":"ایمپورت با موفقیت انجام شد","data":{"total_rows":100,"processed":95,"created":80,"updated":15,"skipped":5,"errors":[{"row":10,"code":"P-010","message":"نام محصول الزامی است"}],"warnings":[]}}}}},"400":{"description":"خطا در اعتبارسنجی فایل یا داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"413":{"description":"حجم فایل بیش از حد مجاز است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/export/pdf":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی PDF لیست محصولات","description":"دریافت لیست محصولات به صورت فایل PDF\n    \n    ### قابلیت‌ها:\n    - فیلتر محصولات بر اساس معیارهای مختلف\n    - انتخاب ستون‌های دلخواه برای خروجی\n    - مرتب‌سازی داده‌ها\n    - پشتیبانی از تقویم شمسی و میلادی (بر اساس header X-Calendar-Type)\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### فرمت فایل:\n    - فرمت: `.pdf`\n    - نام فایل شامل نام کسب‌وکار و timestamp است","operationId":"export_products_pdf_api_v1_products_business__business_id__export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"فایل PDF با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}},"headers":{"Content-Disposition":{"description":"نام فایل خروجی","schema":{"type":"string","example":"attachment; filename=products_business_20240115_103000.pdf"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.export"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/price-report/export/pdf":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی PDF گزارش قیمت کالا (ستون‌های محدود)","operationId":"export_product_price_report_pdf_api_v1_products_business__business_id__price_report_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-price-update/preview":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"پیش‌نمایش تغییر قیمت‌های گروهی","description":"پیش‌نمایش تغییرات قیمت قبل از اعمال تغییرات واقعی\n    \n    ### قابلیت‌ها:\n    - تغییر قیمت بر اساس درصد یا مبلغ ثابت\n    - تغییر قیمت فروش، خرید یا هر دو\n    - فیلتر بر اساس دسته‌بندی، ارز، لیست قیمت و نوع محصول\n    - نمایش تغییرات پیش از اعمال\n    \n    ### نکات:\n    - این endpoint فقط پیش‌نمایش است و تغییری در قیمت‌ها ایجاد نمی‌کند\n    - برای اعمال تغییرات از endpoint `/bulk-price-update/apply` استفاده کنید\n    - نتایج شامل خلاصه آماری تغییرات است","operationId":"preview_bulk_price_update_endpoint_api_v1_products_business__business_id__bulk_price_update_preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPriceUpdateRequest"}}}},"responses":{"200":{"description":"پیش‌نمایش تغییرات با موفقیت محاسبه شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_BulkPriceUpdatePreviewResponse_"},"example":{"success":true,"data":{"total_products":100,"affected_products":[{"product_id":1,"product_name":"محصول A","product_code":"P-001","category_name":"دسته ۱","current_sales_price":100000,"current_purchase_price":80000,"new_sales_price":110000,"new_purchase_price":88000,"sales_price_change":10000,"purchase_price_change":8000}],"summary":{"total_products":100,"affected_products":95,"products_with_sales_change":95,"products_with_purchase_change":95,"total_sales_change":950000,"total_purchase_change":760000}}}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-price-update/apply":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"اعمال تغییر قیمت‌های گروهی","description":"اعمال تغییرات قیمت بر روی کالاهای انتخاب شده\n    \n    ### قابلیت‌ها:\n    - تغییر قیمت بر اساس درصد یا مبلغ ثابت\n    - تغییر قیمت فروش، خرید یا هر دو\n    - فیلتر بر اساس دسته‌بندی، ارز، لیست قیمت و نوع محصول\n    \n    ### نکات مهم:\n    - این عملیات تغییرات را به صورت واقعی اعمال می‌کند\n    - قبل از اعمال، از endpoint `/bulk-price-update/preview` برای پیش‌نمایش استفاده کنید\n    - تغییرات در قیمت پایه محصولات اعمال می‌شود\n    - این عملیات قابل بازگشت نیست (مگر با تغییر مجدد)","operationId":"apply_bulk_price_update_endpoint_api_v1_products_business__business_id__bulk_price_update_apply_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPriceUpdateRequest"}}}},"responses":{"200":{"description":"تغییرات قیمت با موفقیت اعمال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"message":"تغییرات قیمت با موفقیت اعمال شد","data":{"total_products":100,"updated_products":95,"skipped_products":5}}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-prices-sheet/price-items":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"دریافت ردیف‌های قیمت لیست برای ورق ویرایش گسترده","operationId":"list_bulk_product_prices_sheet_items_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_price_items_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkProductPriceSheetItemsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-prices-sheet/apply":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"اعمال دسته‌ای قیمت پایه (نمای ویرایش گسترده)","operationId":"apply_bulk_product_prices_sheet_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_apply_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkProductPriceSheetApplyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-prices-sheet/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی اکسل ورق ویرایش گسترده قیمت","operationId":"export_bulk_product_prices_sheet_excel_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkProductPriceSheetExcelExportRequest"}}}},"responses":{"200":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-prices-sheet/import/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"ایمپورت اکسل ورق ویرایش گسترده قیمت","operationId":"import_bulk_product_prices_sheet_excel_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_import_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_bulk_product_prices_sheet_excel_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_import_excel_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-default-warehouse/preview":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"پیش‌نمایش تغییر گروهی انبار پیش‌فرض کالاها","description":"پیش‌نمایش تغییر انبار پیش‌فرض برای چندین کالا به صورت همزمان\n    \n    ### قابلیت‌ها:\n    - تغییر انبار پیش‌فرض برای لیستی از کالاها\n    - اعمال بر روی کالاهای انبارداری، غیرانبارداری یا همه\n    - نمایش کالاهایی که تغییر می‌یابند و کالاهایی که نادیده گرفته می‌شوند\n    \n    ### نکات:\n    - این endpoint فقط پیش‌نمایش است و تغییری ایجاد نمی‌کند\n    - برای اعمال تغییرات از endpoint `/bulk-default-warehouse/apply` استفاده کنید\n    - کالاهای خدمتی (service) انبار پیش‌فرض ندارند","operationId":"preview_bulk_default_warehouse_endpoint_api_v1_products_business__business_id__bulk_default_warehouse_preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDefaultWarehouseRequest"}}}},"responses":{"200":{"description":"پیش‌نمایش تغییرات با موفقیت محاسبه شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_BulkDefaultWarehousePreviewResponse_"},"example":{"success":true,"data":{"total_requested":50,"found_count":48,"will_update_count":45,"forced_service_null_count":3,"skipped":[{"id":100,"code":"S-001","name":"خدمت A","reason":"کالاهای خدمتی انبار پیش‌فرض ندارند"}],"notes":[]}}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/business/{business_id}/bulk-default-warehouse/apply":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"اعمال تغییر گروهی انبار پیش‌فرض کالاها","description":"اعمال تغییر انبار پیش‌فرض برای چندین کالا به صورت واقعی\n    \n    ### قابلیت‌ها:\n    - تغییر انبار پیش‌فرض برای لیستی از کالاها\n    - اعمال بر روی کالاهای انبارداری، غیرانبارداری یا همه\n    - حذف انبار پیش‌فرض (با ارسال null)\n    \n    ### نکات مهم:\n    - این عملیات تغییرات را به صورت واقعی اعمال می‌کند\n    - قبل از اعمال، از endpoint `/bulk-default-warehouse/preview` برای پیش‌نمایش استفاده کنید\n    - کالاهای خدمتی (service) نادیده گرفته می‌شوند\n    - تغییر انبار پیش‌فرض بر روی موجودی تأثیری ندارد","operationId":"apply_bulk_default_warehouse_endpoint_api_v1_products_business__business_id__bulk_default_warehouse_apply_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDefaultWarehouseRequest"}}}},"responses":{"200":{"description":"تغییرات با موفقیت اعمال شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_BulkDefaultWarehouseApplyResponse_"},"example":{"success":true,"message":"انبار پیش‌فرض با موفقیت به‌روزرسانی شد","data":{"total_requested":50,"found_count":48,"updated_count":45,"forced_service_null_count":3,"skipped":[],"notes":[]}}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به مجوز products.edit"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/item-movements":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"گزارش گردش کالا","description":"دریافت گزارش گردش کالاها در بازه زمانی مشخص\n    \n    ### اطلاعات گزارش:\n    - ورود و خروج کالاها در بازه زمانی\n    - مانده ابتدا و انتهای دوره\n    - تفکیک بر اساس انبارها\n    - فیلتر بر اساس محصولات، انبارها و تاریخ\n    \n    ### کاربردها:\n    - بررسی حرکت کالاها\n    - تحلیل ورود و خروج\n    - کنترل موجودی در بازه زمانی","operationId":"item_movements_report_endpoint_api_v1_products_businesses__business_id__reports_item_movements_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"گزارش با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"data":{"items":[{"product_id":1,"product_name":"کالا A","warehouse_id":1,"warehouse_name":"انبار اصلی","opening_balance":100,"incoming":50,"outgoing":30,"closing_balance":120}],"total_count":100,"summary":{}}}}}},"400":{"description":"خطا در اعتبارسنجی پارامترها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/item-movements/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel گزارش گردش کالا","description":"دریافت گزارش گردش کالا به صورت فایل Excel\n    \n    ### قابلیت‌ها:\n    - فیلتر بر اساس محصولات، انبارها و تاریخ\n    - انتخاب سطرهای خاص برای خروجی\n    - انتخاب و مرتب‌سازی ستون‌ها\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### فرمت فایل:\n    - فرمت: `.xlsx` (Excel 2007+)","operationId":"export_item_movements_report_excel_api_v1_products_businesses__business_id__reports_item_movements_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل Excel با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/item-movements/export/pdf":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی PDF گزارش گردش کالا","description":"خروجی PDF گزارش گردش کالا","operationId":"export_item_movements_report_pdf_api_v1_products_businesses__business_id__reports_item_movements_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل PDF","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/sales-by-product":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"گزارش فروش به تفکیک کالا","description":"دریافت گزارش عملکرد فروش هر کالا در بازه زمانی\n    \n    ### اطلاعات گزارش:\n    - تعداد و مقدار فروش هر کالا\n    - مجموع مبلغ فروش\n    - میانگین قیمت فروش\n    - تعداد فاکتورها\n    - فیلتر بر اساس محصولات، تاریخ و سایر معیارها\n    \n    ### کاربردها:\n    - تحلیل عملکرد فروش محصولات\n    - شناسایی پرفروش‌ترین کالاها\n    - برنامه‌ریزی فروش و موجودی","operationId":"sales_by_product_report_endpoint_api_v1_products_businesses__business_id__reports_sales_by_product_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"گزارش با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"data":{"items":[{"product_id":1,"product_name":"کالا A","quantity":100,"total_amount":15000000,"average_price":150000,"invoice_count":10}],"total_count":50,"summary":{"total_amount":750000000,"total_quantity":5000}}}}}},"400":{"description":"خطا در اعتبارسنجی پارامترها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-kardex":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"گزارش کاردکس موجودی","description":"دریافت گزارش کاردکس (کاردکس) موجودی کالاها\n    \n    ### اطلاعات گزارش:\n    - جزئیات تمام حرکات موجودی (ورود، خروج، انتقال)\n    - مانده تجمعی پس از هر حرکت\n    - تاریخ و زمان هر حرکت\n    - نوع سند و شماره سند\n    - فیلتر بر اساس محصولات، انبارها و تاریخ\n    \n    ### کاربردها:\n    - ردیابی دقیق حرکات موجودی\n    - بررسی تاریخچه موجودی\n    - کنترل و ممیزی موجودی\n    - تجزیه و تحلیل الگوهای ورود و خروج","operationId":"inventory_kardex_report_endpoint_api_v1_products_businesses__business_id__reports_inventory_kardex_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"گزارش با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"data":{"items":[{"date":"2024-01-15","document_type":"فاکتور خرید","document_number":"INV-001","product_id":1,"product_name":"کالا A","warehouse_id":1,"warehouse_name":"انبار اصلی","incoming":100,"outgoing":0,"balance":100}],"total_count":500,"summary":{}}}}}},"400":{"description":"خطا در اعتبارسنجی پارامترها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-stock":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"گزارش موجودی انبار","description":"دریافت گزارش موجودی فعلی محصولات در انبارها\n    \n    ### اطلاعات گزارش:\n    - موجودی فعلی هر محصول در هر انبار\n    - ارزش موجودی\n    - موجودی رزرو شده\n    - موجودی قابل استفاده\n    - فیلترهای مختلف:\n      - فقط کالاهای با کنترل موجودی\n      - موجودی منفی\n      - فاقد حواله (موجودی صفر)\n      - فیلتر بر اساس محصولات و انبارها\n    \n    ### کاربردها:\n    - کنترل موجودی فعلی\n    - شناسایی موجودی منفی\n    - مدیریت سفارشات\n    - ارزیابی ارزش موجودی","operationId":"inventory_stock_report_endpoint_api_v1_products_businesses__business_id__reports_inventory_stock_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"گزارش با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuccessResponse_Dict_str__Any__"},"example":{"success":true,"data":{"items":[{"product_id":1,"product_name":"کالا A","product_code":"P-001","warehouse_id":1,"warehouse_name":"انبار اصلی","quantity":100,"reserved_quantity":20,"available_quantity":80,"unit_cost":150000,"total_value":15000000}],"total_count":200,"summary":{"total_value":3000000000}}}}}},"400":{"description":"خطا در اعتبارسنجی پارامترها"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-stock/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel گزارش موجودی انبار","description":"خروجی Excel گزارش موجودی انبار","operationId":"export_inventory_stock_report_excel_api_v1_products_businesses__business_id__reports_inventory_stock_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل Excel","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-stock/export/pdf":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی PDF گزارش موجودی انبار","description":"خروجی PDF گزارش موجودی انبار","operationId":"export_inventory_stock_report_pdf_api_v1_products_businesses__business_id__reports_inventory_stock_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل PDF","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-kardex/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel گزارش کاردکس موجودی","description":"دریافت گزارش کاردکس موجودی به صورت فایل Excel\n    \n    ### قابلیت‌ها:\n    - فیلتر بر اساس محصولات، انبارها و تاریخ\n    - انتخاب سطرهای خاص برای خروجی\n    - انتخاب و مرتب‌سازی ستون‌ها\n    - نمایش تمام حرکات موجودی با مانده تجمعی\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### فرمت فایل:\n    - فرمت: `.xlsx` (Excel 2007+)","operationId":"export_inventory_kardex_report_excel_api_v1_products_businesses__business_id__reports_inventory_kardex_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل Excel با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/inventory-kardex/export/pdf":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی PDF گزارش کاردکس موجودی","description":"دریافت گزارش کاردکس موجودی به صورت فایل PDF\n    \n    ### قابلیت‌ها:\n    - فیلتر بر اساس محصولات، انبارها و تاریخ\n    - نمایش تمام حرکات موجودی با مانده تجمعی\n    - پشتیبانی از تقویم شمسی و میلادی (بر اساس header X-Calendar-Type)\n    - پشتیبانی از RTL برای زبان فارسی\n    - صفحه‌بندی خودکار\n    \n    ### فرمت فایل:\n    - فرمت: `.pdf`","operationId":"export_inventory_kardex_report_pdf_api_v1_products_businesses__business_id__reports_inventory_kardex_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل PDF با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/pdf":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/products/businesses/{business_id}/reports/sales-by-product/export/excel":{"post":{"tags":["محصولات و کالاها","انبارداری"],"summary":"خروجی Excel گزارش فروش به تفکیک کالا","description":"دریافت گزارش فروش به تفکیک کالا به صورت فایل Excel\n    \n    ### قابلیت‌ها:\n    - فیلتر بر اساس محصولات و تاریخ\n    - انتخاب سطرهای خاص برای خروجی\n    - انتخاب و مرتب‌سازی ستون‌ها\n    - نمایش آمار فروش هر محصول\n    - پشتیبانی از RTL برای زبان فارسی\n    \n    ### فرمت فایل:\n    - فرمت: `.xlsx` (Excel 2007+)","operationId":"export_sales_by_product_report_excel_api_v1_products_businesses__business_id__reports_sales_by_product_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"فایل Excel با موفقیت ایجاد شد","content":{"application/json":{"schema":{}},"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":{"schema":{"type":"string","format":"binary"}}}},"400":{"description":"خطا در اعتبارسنجی درخواست"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/search":{"post":{"tags":["product_instances"],"summary":"Search Product Instances","description":"جستجوی کالاهای یونیک.","operationId":"search_product_instances_api_v1_product_instances_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Product Instances Api V1 Product Instances Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/product/{product_id}/available":{"get":{"tags":["product_instances"],"summary":"Get Available Instances","description":"دریافت کالاهای یونیک موجود برای یک محصول.","operationId":"get_available_instances_api_v1_product_instances_business__business_id__product__product_id__available_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}},{"name":"warehouse_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warehouse Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Available Instances Api V1 Product Instances Business  Business Id  Product  Product Id  Available Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}":{"post":{"tags":["product_instances"],"summary":"Create Product Instance","description":"ایجاد کالای یونیک.","operationId":"create_product_instance_api_v1_product_instances_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Product Instance Api V1 Product Instances Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/bulk":{"post":{"tags":["product_instances"],"summary":"Create Bulk Product Instances","description":"ایجاد چند کالای یونیک به صورت یکجا.","operationId":"create_bulk_product_instances_api_v1_product_instances_business__business_id__bulk_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Bulk Product Instances Api V1 Product Instances Business  Business Id  Bulk Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/search-by-code":{"get":{"tags":["product_instances"],"summary":"Search Instance By Code","description":"جستجوی کالای یونیک با بارکد یا سریال نامبر (پشتیبانی از جستجوی جزئی).","operationId":"search_instance_by_code_api_v1_product_instances_business__business_id__search_by_code_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"code","in":"query","required":true,"schema":{"type":"string","description":"بارکد یا سریال نامبر (می‌تواند جزئی باشد)","title":"Code"},"description":"بارکد یا سریال نامبر (می‌تواند جزئی باشد)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Instance By Code Api V1 Product Instances Business  Business Id  Search By Code Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/{instance_id}":{"get":{"tags":["product_instances"],"summary":"Get Product Instance","description":"دریافت اطلاعات یک کالای یونیک.","operationId":"get_product_instance_api_v1_product_instances_business__business_id___instance_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"instance_id","in":"path","required":true,"schema":{"type":"integer","title":"Instance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Product Instance Api V1 Product Instances Business  Business Id   Instance Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["product_instances"],"summary":"Update Product Instance","description":"به‌روزرسانی کالای یونیک.","operationId":"update_product_instance_api_v1_product_instances_business__business_id___instance_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"instance_id","in":"path","required":true,"schema":{"type":"integer","title":"Instance Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Product Instance Api V1 Product Instances Business  Business Id   Instance Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["product_instances"],"summary":"Delete Product Instance","description":"حذف کالای یونیک.","operationId":"delete_product_instance_api_v1_product_instances_business__business_id___instance_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"instance_id","in":"path","required":true,"schema":{"type":"integer","title":"Instance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Product Instance Api V1 Product Instances Business  Business Id   Instance Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/product-instances/business/{business_id}/product/{product_id}/convert-to-unique":{"post":{"tags":["product_instances"],"summary":"Convert Product To Unique","description":"تبدیل کالای فله‌ای به یونیک و ایجاد instance ها برای موجودی فعلی.\n\nاین endpoint:\n1. موجودی فعلی کالا را به تفکیک انبار محاسبه می‌کند\n2. برای هر واحد موجودی، یک instance ایجاد می‌کند\n3. inventory_mode را به \"unique\" تغییر می‌دهد\n\nپارامترهای payload:\n- auto_generate_serial: اگر true باشد، سریال نامبر به صورت خودکار تولید می‌شود (پیش‌فرض: true)\n- serial_prefix: پیشوند برای سریال نامبر (پیش‌فرض: کد کالا)\n- create_for_existing_stock: اگر true باشد، برای موجودی فعلی instance ایجاد می‌کند (پیش‌فرض: true)","operationId":"convert_product_to_unique_api_v1_product_instances_business__business_id__product__product_id__convert_to_unique_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Convert Product To Unique Api V1 Product Instances Business  Business Id  Product  Product Id  Convert To Unique Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/invoice/{invoice_id}/line-quantities":{"get":{"tags":["warehouse_docs"],"summary":"Get Invoice Line Quantities","description":"محاسبه مقادیر مورد نیاز، از قبل و باقی مانده برای خطوط فاکتور.","operationId":"get_invoice_line_quantities_api_v1_warehouse_docs_business__business_id__invoice__invoice_id__line_quantities_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Invoice Line Quantities Api V1 Warehouse Docs Business  Business Id  Invoice  Invoice Id  Line Quantities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/from-invoice/{invoice_id}":{"post":{"tags":["warehouse_docs"],"summary":"Create Warehouse Doc From Invoice","description":"ایجاد حواله از فاکتور.","operationId":"create_warehouse_doc_from_invoice_api_v1_warehouse_docs_business__business_id__from_invoice__invoice_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Warehouse Doc From Invoice Api V1 Warehouse Docs Business  Business Id  From Invoice  Invoice Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/sources/invoices/search":{"post":{"tags":["warehouse_docs"],"summary":"Search Invoice Sources For Warehouse","description":"فهرست فاکتورهایی که می‌توان برای آن‌ها حواله انبار ایجاد کرد.","operationId":"search_invoice_sources_for_warehouse_api_v1_warehouse_docs_business__business_id__sources_invoices_search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Invoice Sources For Warehouse Api V1 Warehouse Docs Business  Business Id  Sources Invoices Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/create":{"post":{"tags":["warehouse_docs"],"summary":"Create Warehouse Doc Manual","description":"ایجاد حواله انبار دستی.","operationId":"create_warehouse_doc_manual_api_v1_warehouse_docs_business__business_id__create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Warehouse Doc Manual Api V1 Warehouse Docs Business  Business Id  Create Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}/post":{"post":{"tags":["warehouse_docs"],"summary":"Post Warehouse Doc Endpoint","description":"پست کردن حواله.","operationId":"post_warehouse_doc_endpoint_api_v1_warehouse_docs_business__business_id___wh_id__post_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Warehouse Doc Endpoint Api V1 Warehouse Docs Business  Business Id   Wh Id  Post Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}":{"get":{"tags":["warehouse_docs"],"summary":"Get Warehouse Doc","description":"دریافت جزئیات حواله.","operationId":"get_warehouse_doc_api_v1_warehouse_docs_business__business_id___wh_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Warehouse Doc Api V1 Warehouse Docs Business  Business Id   Wh Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["warehouse_docs"],"summary":"Update Warehouse Doc","description":"ویرایش حواله انبار (فقط draft).","operationId":"update_warehouse_doc_api_v1_warehouse_docs_business__business_id___wh_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Warehouse Doc Api V1 Warehouse Docs Business  Business Id   Wh Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["warehouse_docs"],"summary":"Delete Warehouse Doc","description":"حذف حواله انبار (فقط draft).","operationId":"delete_warehouse_doc_api_v1_warehouse_docs_business__business_id___wh_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Warehouse Doc Api V1 Warehouse Docs Business  Business Id   Wh Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}/lines/{line_id}":{"put":{"tags":["warehouse_docs"],"summary":"Update Warehouse Doc Line","description":"به‌روزرسانی یک خط حواله.","operationId":"update_warehouse_doc_line_api_v1_warehouse_docs_business__business_id___wh_id__lines__line_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}},{"name":"line_id","in":"path","required":true,"schema":{"type":"integer","title":"Line Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Warehouse Doc Line Api V1 Warehouse Docs Business  Business Id   Wh Id  Lines  Line Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/search":{"post":{"tags":["warehouse_docs"],"summary":"Search Warehouse Docs","description":"جستجو و فیلتر حواله‌ها.","operationId":"search_warehouse_docs_api_v1_warehouse_docs_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Warehouse Docs Api V1 Warehouse Docs Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/export/excel":{"post":{"tags":["warehouse_docs"],"summary":"Export Warehouse Docs Excel Endpoint","description":"خروجی Excel لیست حواله‌های انبار با همان فیلترهای جستجو (حداکثر ۱۰٬۰۰۰ ردیف).","operationId":"export_warehouse_docs_excel_endpoint_api_v1_warehouse_docs_business__business_id__export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/bulk-delete":{"post":{"tags":["warehouse_docs"],"summary":"Bulk Delete Warehouse Docs","description":"حذف گروهی حواله‌های انبار (فقط draft).","operationId":"bulk_delete_warehouse_docs_api_v1_warehouse_docs_business__business_id__bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bulk Delete Warehouse Docs Api V1 Warehouse Docs Business  Business Id  Bulk Delete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}/cancel":{"post":{"tags":["warehouse_docs"],"summary":"Cancel Warehouse Doc","description":"لغو حواله posted با ایجاد حواله معکوس.","operationId":"cancel_warehouse_doc_api_v1_warehouse_docs_business__business_id___wh_id__cancel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Warehouse Doc Api V1 Warehouse Docs Business  Business Id   Wh Id  Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}/pdf":{"get":{"tags":["warehouse_docs"],"summary":"Get Warehouse Doc Pdf","description":"چاپ حواله انبار به صورت PDF.","operationId":"get_warehouse_doc_pdf_api_v1_warehouse_docs_business__business_id___wh_id__pdf_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/{wh_id}/postal-label.pdf":{"get":{"tags":["warehouse_docs"],"summary":"Get Warehouse Postal Label Pdf","description":"برگه مرسوله پستی (PDF) با قالب گزارش warehouse_documents/postal_label و پارامترهای چاپ.","operationId":"get_warehouse_postal_label_pdf_api_v1_warehouse_docs_business__business_id___wh_id__postal_label_pdf_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"wh_id","in":"path","required":true,"schema":{"type":"integer","title":"Wh Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/stock-count/start":{"post":{"tags":["warehouse_docs"],"summary":"Start Stock Count Endpoint","description":"شروع انبار گردانی: دریافت لیست محصولات با موجودی سیستم.","operationId":"start_stock_count_endpoint_api_v1_warehouse_docs_business__business_id__stock_count_start_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Stock Count Endpoint Api V1 Warehouse Docs Business  Business Id  Stock Count Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/stock-count/calculate":{"post":{"tags":["warehouse_docs"],"summary":"Calculate Stock Count Differences Endpoint","description":"محاسبه تفاوت‌های انبار گردانی.","operationId":"calculate_stock_count_differences_endpoint_api_v1_warehouse_docs_business__business_id__stock_count_calculate_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Calculate Stock Count Differences Endpoint Api V1 Warehouse Docs Business  Business Id  Stock Count Calculate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/stock-count/create-adjustment":{"post":{"tags":["warehouse_docs"],"summary":"Create Stock Count Adjustment Endpoint","description":"ایجاد حواله تعدیل از تفاوت‌های انبار گردانی.","operationId":"create_stock_count_adjustment_endpoint_api_v1_warehouse_docs_business__business_id__stock_count_create_adjustment_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Stock Count Adjustment Endpoint Api V1 Warehouse Docs Business  Business Id  Stock Count Create Adjustment Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-docs/business/{business_id}/invoices/bulk-warehouse-operations":{"post":{"tags":["warehouse_docs"],"summary":"Bulk Warehouse Invoice Operations","description":"عملیات گروهی روی فاکتورهای انتخاب‌شده (هر فاکتور در تراکنش جدا).\noperation: create_draft | remove_linked | post_drafts\nبرای post_drafts: existing_posted_policy = skip | post_drafts_only | remove_all_then_create_and_post","operationId":"bulk_warehouse_invoice_operations_api_v1_warehouse_docs_business__business_id__invoices_bulk_warehouse_operations_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bulk Warehouse Invoice Operations Api V1 Warehouse Docs Business  Business Id  Invoices Bulk Warehouse Operations Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/documents-summary":{"post":{"tags":["warehouse_reports"],"summary":"گزارش خلاصه حواله‌های انبار","description":"خلاصه حواله‌های انبار به تفکیک نوع با آمار ورود و خروج","operationId":"warehouse_documents_summary_endpoint_api_v1_warehouse_reports_businesses__business_id__documents_summary_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Warehouse Documents Summary Endpoint Api V1 Warehouse Reports Businesses  Business Id  Documents Summary Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/documents-summary/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش خلاصه حواله‌های انبار","description":"خروجی Excel گزارش خلاصه حواله‌های انبار","operationId":"export_warehouse_documents_summary_excel_api_v1_warehouse_reports_businesses__business_id__documents_summary_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/slow-moving-items":{"post":{"tags":["warehouse_reports"],"summary":"گزارش کالاهای کم‌گردش","description":"کالاهایی که در بازه زمانی مشخص شده هیچ حرکتی نداشته‌اند","operationId":"slow_moving_items_endpoint_api_v1_warehouse_reports_businesses__business_id__slow_moving_items_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slow Moving Items Endpoint Api V1 Warehouse Reports Businesses  Business Id  Slow Moving Items Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/slow-moving-items/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش کالاهای کم‌گردش","description":"خروجی Excel گزارش کالاهای کم‌گردش","operationId":"export_slow_moving_items_excel_api_v1_warehouse_reports_businesses__business_id__slow_moving_items_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/critical-stock":{"post":{"tags":["warehouse_reports"],"summary":"گزارش کالاهای با موجودی بحرانی","description":"کالاهایی که موجودی آن‌ها کمتر از حد تعیین شده است","operationId":"critical_stock_endpoint_api_v1_warehouse_reports_businesses__business_id__critical_stock_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Critical Stock Endpoint Api V1 Warehouse Reports Businesses  Business Id  Critical Stock Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/critical-stock/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش کالاهای با موجودی بحرانی","description":"خروجی Excel گزارش کالاهای با موجودی بحرانی","operationId":"export_critical_stock_excel_api_v1_warehouse_reports_businesses__business_id__critical_stock_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inter-warehouse-transfers":{"post":{"tags":["warehouse_reports"],"summary":"گزارش انتقالات بین انبارها","description":"جزئیات انتقالات بین انبارها","operationId":"inter_warehouse_transfers_endpoint_api_v1_warehouse_reports_businesses__business_id__inter_warehouse_transfers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Inter Warehouse Transfers Endpoint Api V1 Warehouse Reports Businesses  Business Id  Inter Warehouse Transfers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inter-warehouse-transfers/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش انتقالات بین انبارها","description":"خروجی Excel گزارش انتقالات بین انبارها","operationId":"export_inter_warehouse_transfers_excel_api_v1_warehouse_reports_businesses__business_id__inter_warehouse_transfers_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/adjustment-documents":{"post":{"tags":["warehouse_reports"],"summary":"گزارش حواله‌های تعدیل","description":"تحلیل حواله‌های تعدیل و تفاوت‌های موجودی","operationId":"adjustment_documents_endpoint_api_v1_warehouse_reports_businesses__business_id__adjustment_documents_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Adjustment Documents Endpoint Api V1 Warehouse Reports Businesses  Business Id  Adjustment Documents Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/adjustment-documents/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش حواله‌های تعدیل","description":"خروجی Excel گزارش حواله‌های تعدیل","operationId":"export_adjustment_documents_excel_api_v1_warehouse_reports_businesses__business_id__adjustment_documents_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/warehouse-performance":{"post":{"tags":["warehouse_reports"],"summary":"گزارش عملکرد انبارها","description":"مقایسه عملکرد انبارها","operationId":"warehouse_performance_endpoint_api_v1_warehouse_reports_businesses__business_id__warehouse_performance_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Warehouse Performance Endpoint Api V1 Warehouse Reports Businesses  Business Id  Warehouse Performance Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/warehouse-performance/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش عملکرد انبارها","description":"خروجی Excel گزارش عملکرد انبارها","operationId":"export_warehouse_performance_excel_api_v1_warehouse_reports_businesses__business_id__warehouse_performance_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/product-movement-history":{"post":{"tags":["warehouse_reports"],"summary":"گزارش تاریخچه حرکات یک کالا","description":"تاریخچه کامل حرکات یک کالا در تمام انبارها","operationId":"product_movement_history_endpoint_api_v1_warehouse_reports_businesses__business_id__product_movement_history_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Product Movement History Endpoint Api V1 Warehouse Reports Businesses  Business Id  Product Movement History Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/product-movement-history/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش تاریخچه حرکات یک کالا","description":"خروجی Excel گزارش تاریخچه حرکات یک کالا","operationId":"export_product_movement_history_excel_api_v1_warehouse_reports_businesses__business_id__product_movement_history_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inventory-valuation":{"post":{"tags":["warehouse_reports"],"summary":"گزارش ارزش موجودی انبار","description":"ارزش ریالی موجودی انبارها","operationId":"inventory_valuation_endpoint_api_v1_warehouse_reports_businesses__business_id__inventory_valuation_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Inventory Valuation Endpoint Api V1 Warehouse Reports Businesses  Business Id  Inventory Valuation Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inventory-valuation/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش ارزش موجودی انبار","description":"خروجی Excel گزارش ارزش موجودی انبار","operationId":"export_inventory_valuation_excel_api_v1_warehouse_reports_businesses__business_id__inventory_valuation_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/pending-documents":{"post":{"tags":["warehouse_reports"],"summary":"گزارش حواله‌های در انتظار تایید","description":"حواله‌های draft یا در انتظار تایید","operationId":"pending_documents_endpoint_api_v1_warehouse_reports_businesses__business_id__pending_documents_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pending Documents Endpoint Api V1 Warehouse Reports Businesses  Business Id  Pending Documents Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/pending-documents/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش حواله‌های در انتظار تایید","description":"خروجی Excel گزارش حواله‌های در انتظار تایید","operationId":"export_pending_documents_excel_api_v1_warehouse_reports_businesses__business_id__pending_documents_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inventory-turnover":{"post":{"tags":["warehouse_reports"],"summary":"گزارش گردش موجودی","description":"نرخ گردش موجودی کالاها","operationId":"inventory_turnover_endpoint_api_v1_warehouse_reports_businesses__business_id__inventory_turnover_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Inventory Turnover Endpoint Api V1 Warehouse Reports Businesses  Business Id  Inventory Turnover Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouse-reports/businesses/{business_id}/inventory-turnover/export/excel":{"post":{"tags":["warehouse_reports"],"summary":"خروجی Excel گزارش گردش موجودی","description":"خروجی Excel گزارش گردش موجودی","operationId":"export_inventory_turnover_excel_api_v1_warehouse_reports_businesses__business_id__inventory_turnover_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}":{"post":{"tags":["انبارداری"],"summary":"Create Warehouse Endpoint","operationId":"create_warehouse_endpoint_api_v1_warehouses_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Warehouse Endpoint Api V1 Warehouses Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["انبارداری"],"summary":"List Warehouses Endpoint","operationId":"list_warehouses_endpoint_api_v1_warehouses_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Warehouses Endpoint Api V1 Warehouses Business  Business Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}":{"get":{"tags":["انبارداری"],"summary":"Get Warehouse Endpoint","operationId":"get_warehouse_endpoint_api_v1_warehouses_business__business_id___warehouse_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Warehouse Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["انبارداری"],"summary":"Update Warehouse Endpoint","operationId":"update_warehouse_endpoint_api_v1_warehouses_business__business_id___warehouse_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Warehouse Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["انبارداری"],"summary":"Delete Warehouse Endpoint","operationId":"delete_warehouse_endpoint_api_v1_warehouses_business__business_id___warehouse_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Warehouse Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/query":{"post":{"tags":["انبارداری"],"summary":"Query Warehouses Endpoint","operationId":"query_warehouses_endpoint_api_v1_warehouses_business__business_id__query_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Query Warehouses Endpoint Api V1 Warehouses Business  Business Id  Query Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/stock-report":{"post":{"tags":["انبارداری"],"summary":"Stock Report Endpoint","description":"گزارش موجودی انبار.","operationId":"stock_report_endpoint_api_v1_warehouses_business__business_id__stock_report_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Stock Report Endpoint Api V1 Warehouses Business  Business Id  Stock Report Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}/locations":{"get":{"tags":["چیدمان انبار"],"summary":"List Locations Endpoint","operationId":"list_locations_endpoint_api_v1_warehouses_business__business_id___warehouse_id__locations_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Locations Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Locations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["چیدمان انبار"],"summary":"Create Location Endpoint","operationId":"create_location_endpoint_api_v1_warehouses_business__business_id___warehouse_id__locations_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseLocationCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Location Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Locations Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}/locations/{location_id}":{"put":{"tags":["چیدمان انبار"],"summary":"Update Location Endpoint","operationId":"update_location_endpoint_api_v1_warehouses_business__business_id___warehouse_id__locations__location_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"location_id","in":"path","required":true,"schema":{"type":"integer","title":"Location Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehouseLocationUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Location Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Locations  Location Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["چیدمان انبار"],"summary":"Delete Location Endpoint","operationId":"delete_location_endpoint_api_v1_warehouses_business__business_id___warehouse_id__locations__location_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"location_id","in":"path","required":true,"schema":{"type":"integer","title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Location Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Locations  Location Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}/placement-reconciliation":{"get":{"tags":["چیدمان انبار"],"summary":"Placement Reconciliation Endpoint","description":"مجموع قرارگیری‌های ثبت‌شده در مقابل موجودی حسابداری (کالاهایی که حداقل یک رکورد قرارگیری دارند).","operationId":"placement_reconciliation_endpoint_api_v1_warehouses_business__business_id___warehouse_id__placement_reconciliation_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"as_of_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"As Of Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Placement Reconciliation Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Placement Reconciliation Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}/placements":{"get":{"tags":["چیدمان انبار"],"summary":"List Placements Endpoint","operationId":"list_placements_endpoint_api_v1_warehouses_business__business_id___warehouse_id__placements_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"product_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"}},{"name":"location_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Location Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Placements Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Placements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["چیدمان انبار"],"summary":"Create Placement Endpoint","operationId":"create_placement_endpoint_api_v1_warehouses_business__business_id___warehouse_id__placements_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehousePlacementCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Placement Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Placements Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warehouses/business/{business_id}/{warehouse_id}/placements/{placement_id}":{"put":{"tags":["چیدمان انبار"],"summary":"Update Placement Endpoint","operationId":"update_placement_endpoint_api_v1_warehouses_business__business_id___warehouse_id__placements__placement_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"placement_id","in":"path","required":true,"schema":{"type":"integer","title":"Placement Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarehousePlacementUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Placement Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Placements  Placement Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["چیدمان انبار"],"summary":"Delete Placement Endpoint","operationId":"delete_placement_endpoint_api_v1_warehouses_business__business_id___warehouse_id__placements__placement_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warehouse_id","in":"path","required":true,"schema":{"type":"integer","title":"Warehouse Id"}},{"name":"placement_id","in":"path","required":true,"schema":{"type":"integer","title":"Placement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Placement Endpoint Api V1 Warehouses Business  Business Id   Warehouse Id  Placements  Placement Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/business/{business_id}":{"post":{"tags":["boms"],"summary":"Create Bom Endpoint","operationId":"create_bom_endpoint_api_v1_boms_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBOMCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Bom Endpoint Api V1 Boms Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["boms"],"summary":"List Boms Endpoint","operationId":"list_boms_endpoint_api_v1_boms_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"product_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Boms Endpoint Api V1 Boms Business  Business Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/business/{business_id}/{bom_id}":{"get":{"tags":["boms"],"summary":"Get Bom Endpoint","operationId":"get_bom_endpoint_api_v1_boms_business__business_id___bom_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"bom_id","in":"path","required":true,"schema":{"type":"integer","title":"Bom Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Bom Endpoint Api V1 Boms Business  Business Id   Bom Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["boms"],"summary":"Update Bom Endpoint","operationId":"update_bom_endpoint_api_v1_boms_business__business_id___bom_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"bom_id","in":"path","required":true,"schema":{"type":"integer","title":"Bom Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductBOMUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Bom Endpoint Api V1 Boms Business  Business Id   Bom Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["boms"],"summary":"Delete Bom Endpoint","operationId":"delete_bom_endpoint_api_v1_boms_business__business_id___bom_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"bom_id","in":"path","required":true,"schema":{"type":"integer","title":"Bom Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Bom Endpoint Api V1 Boms Business  Business Id   Bom Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/business/{business_id}/explode":{"post":{"tags":["boms"],"summary":"Explode Bom Endpoint","operationId":"explode_bom_endpoint_api_v1_boms_business__business_id__explode_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BOMExplosionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Explode Bom Endpoint Api V1 Boms Business  Business Id  Explode Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/boms/business/{business_id}/produce_draft":{"post":{"tags":["boms"],"summary":"Produce Draft Endpoint","operationId":"produce_draft_endpoint_api_v1_boms_business__business_id__produce_draft_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductionDraftRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Produce Draft Endpoint Api V1 Boms Business  Business Id  Produce Draft Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/price-lists/business/{business_id}":{"post":{"tags":["price-lists"],"summary":"Create Price List Endpoint","operationId":"create_price_list_endpoint_api_v1_price_lists_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Price List Endpoint Api V1 Price Lists Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/price-lists/business/{business_id}/search":{"post":{"tags":["price-lists"],"summary":"Search Price Lists Endpoint","operationId":"search_price_lists_endpoint_api_v1_price_lists_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Price Lists Endpoint Api V1 Price Lists Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/price-lists/business/{business_id}/{price_list_id}":{"get":{"tags":["price-lists"],"summary":"Get Price List Endpoint","operationId":"get_price_list_endpoint_api_v1_price_lists_business__business_id___price_list_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"price_list_id","in":"path","required":true,"schema":{"type":"integer","title":"Price List Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Price List Endpoint Api V1 Price Lists Business  Business Id   Price List Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["price-lists"],"summary":"Update Price List Endpoint","operationId":"update_price_list_endpoint_api_v1_price_lists_business__business_id___price_list_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"price_list_id","in":"path","required":true,"schema":{"type":"integer","title":"Price List Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceListUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Price List Endpoint Api V1 Price Lists Business  Business Id   Price List Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["price-lists"],"summary":"Delete Price List Endpoint","operationId":"delete_price_list_endpoint_api_v1_price_lists_business__business_id___price_list_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"price_list_id","in":"path","required":true,"schema":{"type":"integer","title":"Price List Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Price List Endpoint Api V1 Price Lists Business  Business Id   Price List Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/price-lists/business/{business_id}/{price_list_id}/items":{"post":{"tags":["price-lists"],"summary":"Upsert Price Item Endpoint","operationId":"upsert_price_item_endpoint_api_v1_price_lists_business__business_id___price_list_id__items_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"price_list_id","in":"path","required":true,"schema":{"type":"integer","title":"Price List Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceItemUpsertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Upsert Price Item Endpoint Api V1 Price Lists Business  Business Id   Price List Id  Items Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["price-lists"],"summary":"List Price Items Endpoint","operationId":"list_price_items_endpoint_api_v1_price_lists_business__business_id___price_list_id__items_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"price_list_id","in":"path","required":true,"schema":{"type":"integer","title":"Price List Id"}},{"name":"product_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"}},{"name":"currency_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Price Items Endpoint Api V1 Price Lists Business  Business Id   Price List Id  Items Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/price-lists/business/{business_id}/items/{item_id}":{"delete":{"tags":["price-lists"],"summary":"Delete Price Item Endpoint","operationId":"delete_price_item_endpoint_api_v1_price_lists_business__business_id__items__item_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"integer","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Price Item Endpoint Api V1 Price Lists Business  Business Id  Items  Item Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ایجاد فاکتور","description":"ثبت فاکتور جدید برای کسب‌وکار. بدنه درخواست همان ساختار پذیرفته‌شده توسط سرویس ایجاد فاکتور است (نوع سند، تاریخ، طرف حساب، خطوط کالا/خدمت، استعلام انبار، اقساط و غیره در `extra_info`). انتخاب دستی نرخ تسعیر ارز فقط با مجوز مشاهدهٔ تاریخچه نرخ (`currency_revaluation.view`) مجاز است.","operationId":"create_invoice_endpoint_api_v1_invoices_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Invoice Endpoint Api V1 Invoices Business  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/installments":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"طرح اقساط فاکتور","description":"در صورت ثبت طرح اقساط روی فاکتور، جزئیات برنامه (اقساط، مبالغ، سررسیدها) برگردانده می‌شود.","operationId":"get_invoice_installments_endpoint_api_v1_invoices_business__business_id___invoice_id__installments_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/share-link":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"وضعیت لینک اشتراک‌گذاری فاکتور","description":"اگر لینک عمومی فعال برای مشاهدهٔ فاکتور وجود داشته باشد، آدرس و محدودیت‌های آن؛ در غیر این صورت بدون خطا با دادهٔ خالی.","operationId":"get_invoice_share_link_endpoint_api_v1_invoices_business__business_id___invoice_id__share_link_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ایجاد یا تمدید لینک اشتراک‌گذاری فاکتور","description":"ایجاد لینک عمومی با امکان تعیین مدت اعتبار، حداکثر بازدید و جایگزینی لینک قبلی. بدنه مطابق مدل `InvoiceShareLinkCreateRequest` است.","operationId":"create_invoice_share_link_endpoint_api_v1_invoices_business__business_id___invoice_id__share_link_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceShareLinkCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اسناد فروش","اسناد خرید"],"summary":"لغو لینک اشتراک‌گذاری فاکتور","description":"ابطال لینک عمومی فعال؛ در صورت نبود لینک فعال پاسخ 404 برمی‌گردد.","operationId":"delete_invoice_share_link_endpoint_api_v1_invoices_business__business_id___invoice_id__share_link_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/share-link/payment":{"patch":{"tags":["اسناد فروش","اسناد خرید"],"summary":"تنظیم پرداخت آنلاین روی لینک عمومی فاکتور","description":"فعال/غیرفعال کردن پرداخت آنلاین و انتخاب درگاه برای لینک فعال.","operationId":"patch_invoice_share_link_payment_endpoint_api_v1_invoices_business__business_id___invoice_id__share_link_payment_patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceShareLinkPaymentPatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/installments/search":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"جستجوی اقساط","description":"لیست اقساط با فیلترهای اختیاری: سال مالی، بازه سررسید، وضعیت، شخص، فاکتور، صفحه‌بندی (`take`/`skip`) و غیره. جزئیات فیلدها در docstring تابع آمده است.","operationId":"search_installments_endpoint_api_v1_invoices_business__business_id__installments_search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"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/v1/invoices/business/{business_id}/installments/export/excel":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"خروجی Excel اقساط","description":"همان فیلترهای `installments/search`؛ در صورت نبود کتابخانه XLSX ممکن است CSV برگردد.","operationId":"export_installments_excel_endpoint_api_v1_invoices_business__business_id__installments_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"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/v1/invoices/business/{business_id}/installments/export/pdf":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"خروجی PDF گزارش اقساط","description":"PDF گزارش اقساط با همان فیلترهای جستجو؛ پارامترهای `paper_size` و `orientation` در بدنه اختیاری هستند.","operationId":"export_installments_pdf_endpoint_api_v1_invoices_business__business_id__installments_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"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/v1/invoices/business/{business_id}/{invoice_id}":{"put":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ویرایش فاکتور","description":"به‌روزرسانی فاکتور موجود. خطاهای رایج: شخص نامعتبر (`INVALID_PERSON`)، تکراری بودن شماره فاکتور (`DUPLICATE_DOCUMENT_CODE`). همان قواعد انتخاب نرخ ارز دستی مانند ایجاد فاکتور اعمال می‌شود.","operationId":"update_invoice_endpoint_api_v1_invoices_business__business_id___invoice_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Invoice Endpoint Api V1 Invoices Business  Business Id   Invoice Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اسناد فروش","اسناد خرید"],"summary":"حذف فاکتور","description":"حذف یک فاکتور پس از اعتبارسنجی مالکیت و نوع سند؛ در صورت وجود وابستگی به اسناد دیگر ممکن است خطای منطقی برگردد.","operationId":"delete_invoice_endpoint_api_v1_invoices_business__business_id___invoice_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Invoice Endpoint Api V1 Invoices Business  Business Id   Invoice Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"جزئیات یک فاکتور","description":"خروجی کامل سند به شکل دیکشنری (شامل خطوط، مبالغ، اضافه‌اطلاعات، برچسب‌ها پس از فرمت‌دهی).","operationId":"get_invoice_endpoint_api_v1_invoices_business__business_id___invoice_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Invoice Endpoint Api V1 Invoices Business  Business Id   Invoice Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/bulk-delete":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"حذف گروهی فاکتورها","description":"بدنه: `{\"invoice_ids\": [int, ...]}` — حذف چند فاکتور همزمان؛ شناسه‌های حذف‌شده در `deleted` و موارد رد شده با دلیل در `skipped` برمی‌گردد.","operationId":"bulk_delete_invoices_endpoint_api_v1_invoices_business__business_id__bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bulk Delete Invoices Endpoint Api V1 Invoices Business  Business Id  Bulk Delete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/bulk-upsert":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ایجاد/ویرایش گروهی فاکتورها (یکپارچه‌سازی)","description":"بدنه شامل `items`: آرایه‌ای از `{client_ref?، invoice_id?، payload}`؛ برای ایجاد `invoice_id` خالی؛ برای ویرایش عدد همان شناسه سند؛ `payload` همان بدنهٔ تکی ایجاد/ویرایش فاکتور. حداکثر ۱۰۰۰ آیتم در هر درخواست؛ نتیجهٔ per-item در `results` با status=created|updated|failed است.","operationId":"bulk_upsert_invoices_integration_endpoint_api_v1_invoices_business__business_id__bulk_upsert_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bulk Upsert Invoices Integration Endpoint Api V1 Invoices Business  Business Id  Bulk Upsert Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/delete-info":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"پیش‌نمایش اثرات حذف فاکتور","description":"قبل از حذف، ارتباطات سند را برمی‌گرداند: کارپوشه مودیان، اقساط، اسناد دریافت/پرداخت و حواله‌های انبار. برای نمایش هشدار در رابط کاربری استفاده می‌شود.","operationId":"get_invoice_delete_info_api_v1_invoices_business__business_id___invoice_id__delete_info_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Invoice Delete Info Api V1 Invoices Business  Business Id   Invoice Id  Delete Info Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tags":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"لیست برچسب‌های فاکتور","description":"برچسب‌های قابل انتساب به فاکتور برای این کسب‌وکار (با ایجاد خودکار پیش‌فرض در اولین بار)","operationId":"list_invoice_tags_endpoint_api_v1_invoices_business__business_id__tags_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","description":"در صورت true برچسب‌های غیرفعال نیز در لیست می‌آیند","default":false,"title":"Include Inactive"},"description":"در صورت true برچسب‌های غیرفعال نیز در لیست می‌آیند"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ایجاد برچسب فاکتور","description":"بدنه: `{\"name\": \"...\", \"color\": \"#RRGGBB?\"}` — برچسب برای فیلتر و نمایش روی فاکتورها.","operationId":"create_invoice_tag_endpoint_api_v1_invoices_business__business_id__tags_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tags/{tag_id}":{"patch":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ویرایش برچسب فاکتور","description":"فیلدهای ارسالی (نام، رنگ، فعال/غیرفعال و ...) طبق بدنه درخواست به‌روز می‌شوند.","operationId":"update_invoice_tag_endpoint_api_v1_invoices_business__business_id__tags__tag_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"tag_id","in":"path","required":true,"schema":{"type":"integer","title":"Tag Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/backfill-profit-ledger":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"پر کردن دفتر سود قطعی (شناسایی)","description":"برای اسناد قبلی، مقادیر بهای تمام‌شده و سود ناخالص قطعی را مطابق تنظیم «زمان شناسایی قطعی» کسب‌وکار ذخیره می‌کند. اختیاری: `fiscal_year_id`, `invoice_ids`, `limit`, `use_background` برای صف صف پس‌زمینه.","operationId":"backfill_invoice_profit_ledger_endpoint_api_v1_invoices_business__business_id__backfill_profit_ledger_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Backfill Invoice Profit Ledger Endpoint Api V1 Invoices Business  Business Id  Backfill Profit Ledger Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/recalculate-all-profits":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"محاسبه مجدد سود همه فاکتورها","description":"معادل فراخوانی `recalculate-profits` بدون فیلتر؛ پس از تغییر تنظیمات محاسبه سود کسب‌وکار استفاده می‌شود. در صورت حجم بالا، صف پس‌زمینه به‌کار می‌رود.","operationId":"recalculate_all_invoice_profits_endpoint_api_v1_invoices_business__business_id__recalculate_all_profits_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Recalculate All Invoice Profits Endpoint Api V1 Invoices Business  Business Id  Recalculate All Profits Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/recalculate-profits":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"محاسبه مجدد سود فاکتورها (با فیلتر)","description":"بدنه: `invoice_ids` اختیاری، `document_type`, `fiscal_year_id`, `batch_size` (پیش‌فرض ۱۰۰)، `use_background` (پیش‌فرض true). فقط انواع فروش/برگشت از فروش/تولید در منطق فعلی پردازش می‌شوند.","operationId":"recalculate_invoice_profits_endpoint_api_v1_invoices_business__business_id__recalculate_profits_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Recalculate Invoice Profits Endpoint Api V1 Invoices Business  Business Id  Recalculate Profits Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/pdf":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"PDF یک فاکتور","description":"دریافت فایل PDF تک‌فاکتور. اولویت قالب: `template_id` منتشرشده، سپس قالب پیش‌فرض ماژول `invoices/detail`، در نهایت HTML پیش‌فرض. پارامترهای query مانند `show_stamp` می‌توانند چاپ را کنترل کنند.","operationId":"export_single_invoice_pdf_api_v1_invoices_business__business_id___invoice_id__pdf_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه قالب گزارش منتشرشده برای جزئیات فاکتور؛ در صورت خالی بودن از پیش‌فرض کسب‌وکار استفاده می‌شود.","title":"Template Id"},"description":"شناسه قالب گزارش منتشرشده برای جزئیات فاکتور؛ در صورت خالی بودن از پیش‌فرض کسب‌وکار استفاده می‌شود."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/search":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"لیست و جستجوی فاکتورها","description":"ترکیب استاندارد `QueryInfo` (take، skip، sort، search، filters) با فیلترهای فاکتور: `document_type`, `is_proforma`, `currency_id`, `fiscal_year_id` (یا هدر `X-Fiscal-Year-ID`), `project_id`, `person_id`, بازه `from_date`/`to_date`, برچسب‌ها، فاکتور اقساطی (`is_installment_sale`) و … . خروجی شامل آیتم‌های غنی، مانده و وضعیت مودیان است؛ نتیجه ممکن است کش کوتاه‌مدت داشته باشد.","operationId":"search_invoices_endpoint_api_v1_invoices_business__business_id__search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Invoices Endpoint Api V1 Invoices Business  Business Id  Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/search":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"جستجو در کارپوشه مودیان","description":"فقط اسنادی که در کارپوشه مالیاتی علامت خورده‌اند؛ فیلتر `tax_status` در بدنه اختیاری است. بدنه ترکیبی از `QueryInfo` و فیلدهای تخت مشابه لیست فاکتور است.","operationId":"search_tax_workspace_endpoint_api_v1_invoices_business__business_id__tax_workspace_search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Tax Workspace Endpoint Api V1 Invoices Business  Business Id  Tax Workspace Search Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/add":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"افزودن فاکتور به کارپوشه مودیان","description":"فقط فاکتور فروش یا برگشت از فروش. برای برگشت، `reference_invoice_id` شناسه فاکتور فروش مرجع است.","operationId":"add_invoice_to_tax_workspace_api_v1_invoices_business__business_id___invoice_id__tax_workspace_add_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add Invoice To Tax Workspace Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Add Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/link-reference":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"اتصال فاکتور مرجع برای برگشت/اصلاح","description":"بدنه: `{\"reference_invoice_id\": 123}`","operationId":"link_tax_workspace_reference_api_v1_invoices_business__business_id___invoice_id__tax_workspace_link_reference_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Link Tax Workspace Reference Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Link Reference Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/reference-candidates":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"فاکتورهای مرجع قابل انتخاب برای برگشت","description":"فاکتورهای فروش ارسال‌شده به مودیان برای اتصال به برگشت از فروش.","operationId":"list_tax_reference_candidates_api_v1_invoices_business__business_id__tax_workspace_reference_candidates_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Tax Reference Candidates Api V1 Invoices Business  Business Id  Tax Workspace Reference Candidates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/remove":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"حذف فاکتور از کارپوشه مودیان","description":"فقط در صورتی مجاز است که فاکتور هنوز به‌صورت نهایی به سامانه ارسال نشده باشد (`sent`/`finalized` ممنوع).","operationId":"remove_invoice_from_tax_workspace_api_v1_invoices_business__business_id___invoice_id__tax_workspace_remove_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Remove Invoice From Tax Workspace Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Remove Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/send-to-system":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ارسال تکی فاکتور به سامانه مودیان","description":"فاکتور باید در کارپوشه باشد و قبلاً قطعی ارسال نشده باشد؛ پس از فراخوانی، وضعیت و کدهای رهگیری در سند به‌روز می‌شوند.","operationId":"send_invoice_to_tax_system_api_v1_invoices_business__business_id___invoice_id__tax_workspace_send_to_system_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Send Invoice To Tax System Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Send To System Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/cancel-in-system":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ابطال فاکتور در سامانه مودیان","description":"ارسال صورتحساب ابطالی (inp=3) برای فاکتور قبلاً ارسال‌شده.","operationId":"cancel_invoice_in_tax_system_api_v1_invoices_business__business_id___invoice_id__tax_workspace_cancel_in_system_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Invoice In Tax System Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Cancel In System Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-workspace/send-corrective":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ارسال صورتحساب اصلاحی به مودیان","description":"ارسال صورتحساب اصلاحی (inp=4) برای فاکتور ارسال‌شده.","operationId":"send_corrective_invoice_to_tax_system_api_v1_invoices_business__business_id___invoice_id__tax_workspace_send_corrective_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Send Corrective Invoice To Tax System Api V1 Invoices Business  Business Id   Invoice Id  Tax Workspace Send Corrective Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/send-to-system-batch":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ارسال گروهی به سامانه مودیان","description":"بدنه: `{\"invoice_ids\": [1,2,...]}` — برای هر شناسه نتیجه در `succeeded` یا جزئیات خطا در `failed`.","operationId":"send_invoices_to_tax_system_batch_api_v1_invoices_business__business_id__tax_workspace_send_to_system_batch_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Send Invoices To Tax System Batch Api V1 Invoices Business  Business Id  Tax Workspace Send To System Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/remove-batch":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"حذف گروهی از کارپوشه مودیان","description":"بدنه: `{\"invoice_ids\": [...]}` — اسناد ارسال‌شده به سامانه از کارپوشه حذف نمی‌شوند.","operationId":"remove_invoices_from_tax_workspace_batch_api_v1_invoices_business__business_id__tax_workspace_remove_batch_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Remove Invoices From Tax Workspace Batch Api V1 Invoices Business  Business Id  Tax Workspace Remove Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/health":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"سلامت اتصال سامانه مالیاتی","description":"وضعیت پیکربندی و اتصال (مثلاً سامانه مودیان) برای این کسب‌وکار؛ مناسب داشبورد و عیب‌یابی.","operationId":"get_tax_system_health_api_v1_invoices_business__business_id__tax_workspace_health_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Tax System Health Api V1 Invoices Business  Business Id  Tax Workspace Health Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/failed-invoices":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"صف ارسال ناموفق (Dead Letter)","description":"ردیف‌های صف خطای ارسال مالیاتی با امکان فیلتر و صفحه‌بندی.","operationId":"get_failed_invoices_api_v1_invoices_business__business_id__tax_workspace_failed_invoices_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر وضعیت رکورد در صف (در صورت پشتیبانی سرویس)","title":"Status"},"description":"فیلتر وضعیت رکورد در صف (در صورت پشتیبانی سرویس)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"حداکثر تعداد رکورد","default":100,"title":"Limit"},"description":"حداکثر تعداد رکورد"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"جابجایی صفحه","default":0,"title":"Offset"},"description":"جابجایی صفحه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Failed Invoices Api V1 Invoices Business  Business Id  Tax Workspace Failed Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/failed-invoices/{failed_id}/retry":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"تلاش مجدد ارسال رکورد ناموفق","description":"یک رکورد از صف Dead Letter را دوباره برای ارسال به سامانه مالیاتی تلاش می‌کند.","operationId":"retry_failed_invoice_endpoint_api_v1_invoices_business__business_id__tax_workspace_failed_invoices__failed_id__retry_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"failed_id","in":"path","required":true,"schema":{"type":"integer","title":"Failed Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Failed Invoice Endpoint Api V1 Invoices Business  Business Id  Tax Workspace Failed Invoices  Failed Id  Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/{invoice_id}/tax-timeline":{"get":{"tags":["اسناد فروش","اسناد خرید"],"summary":"تایم‌لاین مالیاتی فاکتور","description":"رویدادهای ارسال، استعلام و خطا مرتبط با وضعیت مالیاتی سند (شامل تلاقی با صف ناموفق).","operationId":"get_invoice_tax_timeline_api_v1_invoices_business__business_id___invoice_id__tax_timeline_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Invoice Tax Timeline Api V1 Invoices Business  Business Id   Invoice Id  Tax Timeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/inquire-status":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"استعلام وضعیت از سامانه مالیاتی","description":"حداقل یکی از `invoice_ids` یا `tracking_codes` در بدنه لازم است. نتیجهٔ استعلام برای اسناد به‌روزرسانی و در پاسخ برمی‌گردد.","operationId":"inquire_tax_status_endpoint_api_v1_invoices_business__business_id__tax_workspace_inquire_status_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Inquire Tax Status Endpoint Api V1 Invoices Business  Business Id  Tax Workspace Inquire Status Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/validate-batch":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"اعتبارسنجی گروهی قبل از ارسال مالیاتی","description":"بدنه: `{\"invoice_ids\": [...]}` — فهرست `validated` و ردها با `issues` در `invalid`.","operationId":"validate_invoices_for_tax_batch_api_v1_invoices_business__business_id__tax_workspace_validate_batch_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Validate Invoices For Tax Batch Api V1 Invoices Business  Business Id  Tax Workspace Validate Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/tax-workspace/quick-actions":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"عملیات سریع کارپوشه مالیاتی","description":"بدنه باید شامل `action` باشد: `send_all_pending`, `inquire_all_sent`, `retry_all_failed`. در پس‌زمینه از همان endpointهای ارسال گروهی یا استعلام استفاده می‌شود.","operationId":"tax_workspace_quick_actions_api_v1_invoices_business__business_id__tax_workspace_quick_actions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tax Workspace Quick Actions Api V1 Invoices Business  Business Id  Tax Workspace Quick Actions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/export/excel":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"خروجی Excel لیست فاکتورها","description":"فیلتر مشابه جستجو (متن، نوع سند، پیش‌فاکتور، ارز، سال مالی، پروژه، بازه تاریخ، برچسب، تیک/اسکیپ). `export_columns` ستون‌ها و برچسب‌ها را مشخص می‌کند؛ `selected_only` و `selected_indices` برای خروج فقط سطرهای انتخاب‌شده در گرید.","operationId":"export_invoices_excel_api_v1_invoices_business__business_id__export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/export/pdf":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"خروجی PDF لیست فاکتورها","description":"همان منطق فیلتر و ستون‌های Excel؛ علاوه بر آن `template_id` برای قالب سفارشی ماژول invoices/list، `disposition` برای attachment/inline، `paper_size` و `orientation` برای چاپ.","operationId":"export_invoices_pdf_api_v1_invoices_business__business_id__export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/import/template":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"دانلود تمپلیت ایمپورت فاکتورها","description":"فایل XLSX با هدر ستون‌ها و چند ردیف نمونه؛ ستون `invoice_number` ردیف‌های یک فاکتور را گروه‌بندی می‌کند. انواع مجاز در ستون invoice_type در توضیحات هدر فایل آمده است.","operationId":"download_invoices_import_template_api_v1_invoices_business__business_id__import_template_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/import/excel":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"ایمپورت فاکتورها از فایل Excel","description":"فرم چندبخشی: فیلد `file` (xlsx)، فرم `dry_run` (true/false) — در حالت dry_run فقط اعتبارسنجی و خلاصه بدون ثبت سند. خروجی شامل `summary` (تعداد، معتبر، نامعتبر، ایجادشده) و آرایه `errors` به تفکیک شماره فاکتور است.","operationId":"import_invoices_excel_api_v1_invoices_business__business_id__import_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_invoices_excel_api_v1_invoices_business__business_id__import_excel_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invoices/business/{business_id}/invoices/calculate-remaining":{"post":{"tags":["اسناد فروش","اسناد خرید"],"summary":"مانده چند فاکتور (پرداخت‌شده و باقیمانده)","description":"بدنه: `{\"invoice_ids\": [int, ...]}` — برای هر شناسه مبلغ کل، پرداخت‌شده، مانده و وضعیت تسویه برمی‌گردد. برای نمایش در لیست یا فاکتور اقساطی کاربرد دارد.","operationId":"calculate_invoices_remaining_endpoint_api_v1_invoices_business__business_id__invoices_calculate_remaining_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Calculate Invoices Remaining Endpoint Api V1 Invoices Business  Business Id  Invoices Calculate Remaining Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/bulk-delete":{"post":{"tags":["اشخاص و مشتریان"],"summary":"حذف گروهی اشخاص","description":"حذف چندین شخص بر اساس شناسه‌ها یا کدها","operationId":"bulk_delete_persons_endpoint_api_v1_persons_businesses__business_id__persons_bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/bulk-upsert":{"post":{"tags":["اشخاص و مشتریان"],"summary":"ایجاد/ویرایش گروهی اشخاص (یکپارچه‌سازی)","description":"بدنه شامل `items`: آرایه‌ای از {client_ref?, person_id?, payload}؛ payload همان فیلدهای ایجاد/ویرایش شخص؛ می‌توانید `create_if_update_missing` برای ایجاد پس از نبودن شخص ارسال کنید (پیش‌فرض true). حداکثر ۱۰۰۰ آیتم در هر درخواست. خروجی: results[{index, client_ref?, status, person_id?, ...}] و summary.","operationId":"bulk_upsert_persons_integration_endpoint_api_v1_persons_businesses__business_id__persons_bulk_upsert_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/create":{"post":{"tags":["اشخاص و مشتریان"],"summary":"ایجاد شخص جدید","description":"ایجاد شخص جدید برای کسب و کار مشخص","operationId":"create_person_endpoint_api_v1_persons_businesses__business_id__persons_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonCreateRequest"}}}},"responses":{"200":{"description":"شخص با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"شخص با موفقیت ایجاد شد","data":{"id":1,"business_id":1,"alias_name":"علی احمدی","person_type":"مشتری","created_at":"2024-01-01T00:00:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"عدم احراز هویت"},"403":{"description":"عدم دسترسی به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons":{"post":{"tags":["اشخاص و مشتریان"],"summary":"لیست اشخاص کسب و کار","description":"دریافت لیست اشخاص یک کسب و کار با امکان جستجو و فیلتر","operationId":"get_persons_endpoint_api_v1_persons_businesses__business_id__persons_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"لیست اشخاص با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست اشخاص با موفقیت دریافت شد","data":{"items":[],"pagination":{"total":0,"page":1,"per_page":20,"total_pages":0,"has_next":false,"has_prev":false},"query_info":{}}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/export/excel":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی Excel لیست اشخاص","description":"خروجی Excel لیست اشخاص با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_persons_excel_api_v1_persons_businesses__business_id__persons_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/export/pdf":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی PDF لیست اشخاص","description":"خروجی PDF لیست اشخاص با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_persons_pdf_api_v1_persons_businesses__business_id__persons_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/import/template":{"post":{"tags":["اشخاص و مشتریان"],"summary":"دانلود تمپلیت ایمپورت اشخاص","description":"فایل Excel تمپلیت برای ایمپورت اشخاص را برمی‌گرداند","operationId":"download_persons_import_template_api_v1_persons_businesses__business_id__persons_import_template_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/persons/{person_id}":{"get":{"tags":["اشخاص و مشتریان"],"summary":"جزئیات شخص","description":"دریافت جزئیات یک شخص","operationId":"get_person_endpoint_api_v1_persons_persons__person_id__get","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"جزئیات شخص با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"404":{"description":"شخص یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["اشخاص و مشتریان"],"summary":"ویرایش شخص","description":"ویرایش اطلاعات یک شخص","operationId":"update_person_endpoint_api_v1_persons_persons__person_id__put","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonUpdateRequest"}}}},"responses":{"200":{"description":"شخص با موفقیت ویرایش شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"404":{"description":"شخص یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اشخاص و مشتریان"],"summary":"حذف شخص","description":"حذف یک شخص","operationId":"delete_person_endpoint_api_v1_persons_persons__person_id__delete","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"شخص با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"404":{"description":"شخص یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/persons/{person_id}/share-link":{"get":{"tags":["اشخاص و مشتریان"],"summary":"وضعیت لینک اشتراک شخص","operationId":"get_person_share_link_endpoint_api_v1_persons_persons__person_id__share_link_get","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["اشخاص و مشتریان"],"summary":"ایجاد یا بروزرسانی لینک اشتراک","operationId":"create_person_share_link_endpoint_api_v1_persons_persons__person_id__share_link_post","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonShareLinkCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اشخاص و مشتریان"],"summary":"لغو لینک اشتراک شخص","operationId":"revoke_person_share_link_endpoint_api_v1_persons_persons__person_id__share_link_delete","parameters":[{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/summary":{"get":{"tags":["اشخاص و مشتریان"],"summary":"خلاصه اشخاص کسب و کار","description":"دریافت خلاصه آماری اشخاص یک کسب و کار","operationId":"get_persons_summary_endpoint_api_v1_persons_businesses__business_id__persons_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"خلاصه اشخاص با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/persons/import/excel":{"post":{"tags":["اشخاص و مشتریان"],"summary":"ایمپورت اشخاص از فایل Excel","description":"فایل اکسل را دریافت می‌کند و به‌صورت dry-run یا واقعی پردازش می‌کند","operationId":"import_persons_excel_api_v1_persons_businesses__business_id__persons_import_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_persons_excel_api_v1_persons_businesses__business_id__persons_import_excel_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/debtors":{"post":{"tags":["اشخاص و مشتریان"],"summary":"گزارش بدهکاران","description":"گزارش لیست بدهکاران با امکان فیلتر بر اساس سال مالی، تاریخ، حداقل بدهی و جستجو","operationId":"debtors_report_endpoint_api_v1_persons_businesses__business_id__reports_debtors_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Debtors Report Endpoint Api V1 Persons Businesses  Business Id  Reports Debtors Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/creditors":{"post":{"tags":["اشخاص و مشتریان"],"summary":"گزارش بستانکاران","description":"گزارش لیست بستانکاران با امکان فیلتر بر اساس سال مالی، تاریخ، حداقل بستانکاری و جستجو","operationId":"creditors_report_endpoint_api_v1_persons_businesses__business_id__reports_creditors_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Creditors Report Endpoint Api V1 Persons Businesses  Business Id  Reports Creditors Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/debtors/export/excel":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی Excel گزارش بدهکاران","description":"خروجی Excel گزارش بدهکاران با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_debtors_report_excel_api_v1_persons_businesses__business_id__reports_debtors_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/debtors/export/pdf":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی PDF گزارش بدهکاران","description":"خروجی PDF گزارش بدهکاران با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_debtors_report_pdf_api_v1_persons_businesses__business_id__reports_debtors_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/creditors/export/excel":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی Excel گزارش بستانکاران","description":"خروجی Excel گزارش بستانکاران با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_creditors_report_excel_api_v1_persons_businesses__business_id__reports_creditors_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/creditors/export/pdf":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی PDF گزارش بستانکاران","description":"خروجی PDF گزارش بستانکاران با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_creditors_report_pdf_api_v1_persons_businesses__business_id__reports_creditors_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/people-transactions":{"post":{"tags":["اشخاص و مشتریان"],"summary":"گزارش تراکنش‌های اشخاص","description":"گزارش ریز دریافت‌ها و پرداخت‌ها به تفکیک شخص","operationId":"people_transactions_report_endpoint_api_v1_persons_businesses__business_id__reports_people_transactions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/people-transactions/export/excel":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی Excel گزارش تراکنش‌های اشخاص","description":"خروجی Excel گزارش تراکنش‌های اشخاص با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_people_transactions_report_excel_api_v1_persons_businesses__business_id__reports_people_transactions_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/reports/people-transactions/export/pdf":{"post":{"tags":["اشخاص و مشتریان"],"summary":"خروجی PDF گزارش تراکنش‌های اشخاص","description":"خروجی PDF گزارش تراکنش‌های اشخاص با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_people_transactions_report_pdf_api_v1_persons_businesses__business_id__reports_people_transactions_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/person-groups":{"get":{"tags":["گروه اشخاص"],"summary":"لیست گروه‌های اشخاص","operationId":"list_groups_api_v1_persons_businesses__business_id__person_groups_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Take"}},{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Active Only"}},{"name":"root_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Root Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["گروه اشخاص"],"summary":"ایجاد گروه اشخاص","operationId":"create_group_api_v1_persons_businesses__business_id__person_groups_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonGroupCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/persons/businesses/{business_id}/person-groups/{group_id}":{"get":{"tags":["گروه اشخاص"],"summary":"جزئیات یک گروه","operationId":"get_group_api_v1_persons_businesses__business_id__person_groups__group_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["گروه اشخاص"],"summary":"ویرایش گروه اشخاص","operationId":"patch_group_api_v1_persons_businesses__business_id__person_groups__group_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonGroupUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["گروه اشخاص"],"summary":"حذف گروه اشخاص","operationId":"remove_group_api_v1_persons_businesses__business_id__person_groups__group_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"group_id","in":"path","required":true,"schema":{"type":"integer","title":"Group Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customers/search":{"post":{"tags":["اشخاص و مشتریان"],"summary":"جست‌وجوی مشتری‌ها","description":"جست‌وجو در لیست مشتری‌ها (اشخاص) با قابلیت فیلتر و صفحه‌بندی","operationId":"search_customers_api_v1_customers_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSearchRequest"}}},"required":true},"responses":{"200":{"description":"لیست مشتری‌ها با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerSearchResponse"},"example":{"customers":[{"id":1,"name":"احمد احمدی","code":"CUST001","phone":"09123456789","email":"ahmad@example.com","address":"تهران، خیابان ولیعصر","is_active":true,"created_at":"2024-01-01T00:00:00Z"}],"total":1,"page":1,"limit":20,"has_more":false}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - نیاز به دسترسی به کسب و کار"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customers/detail/{customer_id}":{"get":{"tags":["اشخاص و مشتریان"],"summary":"دریافت اطلاعات مشتری","description":"دریافت اطلاعات کامل یک مشتری بر اساس شناسه","operationId":"get_customer_api_v1_customers_detail__customer_id__get","parameters":[{"name":"customer_id","in":"path","required":true,"schema":{"type":"integer","title":"Customer Id"}},{"name":"business_id","in":"query","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"اطلاعات مشتری با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomerResponse"}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"404":{"description":"مشتری یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customers/check-access":{"get":{"tags":["اشخاص و مشتریان"],"summary":"بررسی دسترسی به مشتری‌ها","description":"بررسی دسترسی کاربر به بخش مشتری‌ها","operationId":"check_customer_access_api_v1_customers_check_access_get","parameters":[{"name":"business_id","in":"query","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"دسترسی مجاز است","content":{"application/json":{"schema":{}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/projects":{"post":{"tags":["پروژه‌ها"],"summary":"ایجاد پروژه جدید","description":"ایجاد پروژه جدید برای کسب‌وکار","operationId":"create_project_endpoint_api_v1_businesses__business_id__projects_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectCreateRequest","description":"اطلاعات پروژه"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["پروژه‌ها"],"summary":"لیست پروژه‌ها","description":"دریافت لیست پروژه‌های یک کسب‌وکار با امکان فیلتر و جستجو","operationId":"list_projects_endpoint_api_v1_businesses__business_id__projects_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"عبارت جستجو","title":"Search"},"description":"عبارت جستجو"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر وضعیت","title":"Status"},"description":"فیلتر وضعیت"},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فعال/غیرفعال","title":"Is Active"},"description":"فعال/غیرفعال"},{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شخص مرتبط","title":"Person Id"},"description":"شخص مرتبط"},{"name":"manager_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"مدیر پروژه","title":"Manager User Id"},"description":"مدیر پروژه"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"شماره صفحه","default":1,"title":"Page"},"description":"شماره صفحه"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"تعداد در هر صفحه","default":50,"title":"Limit"},"description":"تعداد در هر صفحه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}":{"get":{"tags":["پروژه‌ها"],"summary":"جزئیات پروژه","description":"دریافت جزئیات یک پروژه همراه با آمار","operationId":"get_project_endpoint_api_v1_projects__project_id__get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه پروژه","title":"Project Id"},"description":"شناسه پروژه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["پروژه‌ها"],"summary":"به‌روزرسانی پروژه","description":"به‌روزرسانی اطلاعات یک پروژه","operationId":"update_project_endpoint_api_v1_projects__project_id__put","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه پروژه","title":"Project Id"},"description":"شناسه پروژه"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectUpdateRequest","description":"اطلاعات جدید"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["پروژه‌ها"],"summary":"حذف پروژه","description":"حذف یک پروژه (soft delete)","operationId":"delete_project_endpoint_api_v1_projects__project_id__delete","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه پروژه","title":"Project Id"},"description":"شناسه پروژه"},{"name":"hard_delete","in":"query","required":false,"schema":{"type":"boolean","description":"حذف کامل","default":false,"title":"Hard Delete"},"description":"حذف کامل"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents":{"get":{"tags":["پروژه‌ها"],"summary":"لیست اسناد پروژه","description":"دریافت لیست اسناد مرتبط با یک پروژه","operationId":"list_project_documents_endpoint_api_v1_projects__project_id__documents_get","parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه پروژه","title":"Project Id"},"description":"شناسه پروژه"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"شماره صفحه","default":1,"title":"Page"},"description":"شماره صفحه"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"description":"تعداد در هر صفحه","default":50,"title":"Limit"},"description":"تعداد در هر صفحه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/projects/search":{"post":{"tags":["پروژه‌ها"],"summary":"جستجوی پروژه‌ها","description":"جستجوی پروژه‌ها با فیلترها و صفحه‌بندی (برای استفاده در فرانت)","operationId":"search_projects_endpoint_api_v1_businesses__business_id__projects_search_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/projects/active":{"get":{"tags":["پروژه‌ها"],"summary":"لیست پروژه‌های فعال (برای کمبوباکس)","description":"دریافت لیست ساده پروژه‌های فعال برای استفاده در کمبوباکس‌ها","operationId":"list_active_projects_simple_endpoint_api_v1_businesses__business_id__projects_active_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/summary":{"get":{"tags":["CRM"],"summary":"خلاصه CRM","description":"تعداد سرنخ‌ها، فرصت‌های فروش، مبلغ کل و نرخ تبدیل","operationId":"get_crm_summary_api_v1_crm_businesses__business_id__summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Crm Summary Api V1 Crm Businesses  Business Id  Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/follow-ups-today":{"get":{"tags":["CRM"],"summary":"پیگیری‌های امروز","description":"سرنخ‌ها و فرصت‌های فروش با یادآور پیگیری در امروز یا روزهای آینده (تا ۷ روز)","operationId":"get_follow_ups_today_api_v1_crm_businesses__business_id__follow_ups_today_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"days_ahead","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":0,"description":"تعداد روزهای آینده","default":7,"title":"Days Ahead"},"description":"تعداد روزهای آینده"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Follow Ups Today Api V1 Crm Businesses  Business Id  Follow Ups Today Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/pipeline":{"get":{"tags":["CRM"],"summary":"گزارش پایپلاین فروش","description":"تعداد و مبلغ فرصت‌ها به تفکیک مرحله. با from_date و to_date فقط فرصت‌های ایجادشده در این بازه شمرده می‌شوند.","operationId":"get_pipeline_report_api_v1_crm_businesses__business_id__reports_pipeline_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه فرایند پایپلاین","title":"Process Definition Id"},"description":"شناسه فرایند پایپلاین"},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"از تاریخ (YYYY-MM-DD) - فیلتر بر اساس created_at","title":"From Date"},"description":"از تاریخ (YYYY-MM-DD) - فیلتر بر اساس created_at"},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تا تاریخ (YYYY-MM-DD)","title":"To Date"},"description":"تا تاریخ (YYYY-MM-DD)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Pipeline Report Api V1 Crm Businesses  Business Id  Reports Pipeline Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/lead-funnel":{"get":{"tags":["CRM"],"summary":"گزارش قیف سرنخ","description":"تعداد سرنخ به تفکیک مرحله. با from_date و to_date فقط سرنخ‌های ایجادشده در این بازه شمرده می‌شوند.","operationId":"get_lead_funnel_report_api_v1_crm_businesses__business_id__reports_lead_funnel_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Process Definition Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"از تاریخ (YYYY-MM-DD)","title":"From Date"},"description":"از تاریخ (YYYY-MM-DD)"},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تا تاریخ (YYYY-MM-DD)","title":"To Date"},"description":"تا تاریخ (YYYY-MM-DD)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Lead Funnel Report Api V1 Crm Businesses  Business Id  Reports Lead Funnel Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/lead-sources":{"get":{"tags":["CRM"],"summary":"گزارش منبع سرنخ","description":"تعداد سرنخ به تفکیک منبع","operationId":"get_lead_sources_report_api_v1_crm_businesses__business_id__reports_lead_sources_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Lead Sources Report Api V1 Crm Businesses  Business Id  Reports Lead Sources Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/weighted-forecast":{"get":{"tags":["CRM"],"summary":"پیش‌بینی درآمد (مبلغ موزون)","description":"مجموع مبلغ فرصت‌های باز ضرب در احتمال موفقیت (پیش‌بینی درآمد مورد انتظار)","operationId":"get_weighted_forecast_report_api_v1_crm_businesses__business_id__reports_weighted_forecast_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر پایپلاین","title":"Process Definition Id"},"description":"فیلتر پایپلاین"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Weighted Forecast Report Api V1 Crm Businesses  Business Id  Reports Weighted Forecast Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/employee-performance":{"get":{"tags":["CRM"],"summary":"گزارش عملکرد کارمندان","description":"مقایسه عملکرد کارمندان بر اساس سرنخ، فرصت فروش و فعالیت","operationId":"get_employee_performance_report_api_v1_crm_businesses__business_id__reports_employee_performance_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Employee Performance Report Api V1 Crm Businesses  Business Id  Reports Employee Performance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/reports/sales-trend":{"get":{"tags":["CRM"],"summary":"روند فروش در زمان","description":"تعداد و مبلغ فرصت‌های بسته‌شده در بازه زمانی","operationId":"get_sales_trend_report_api_v1_crm_businesses__business_id__reports_sales_trend_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"day | week | month","default":"month","title":"Period"},"description":"day | week | month"},{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"description":"تعداد ماه گذشته","default":6,"title":"Months"},"description":"تعداد ماه گذشته"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Sales Trend Report Api V1 Crm Businesses  Business Id  Reports Sales Trend Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/process-definitions":{"get":{"tags":["CRM"],"summary":"لیست فرایندهای CRM","description":"دریافت لیست فرایندهای تعریف‌شده برای کسب‌وکار (فانل سرنخ، pipeline فروش، انواع فعالیت)","operationId":"list_process_definitions_api_v1_crm_businesses__business_id__process_definitions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر نوع: lead_funnel | sales_pipeline | activity_type | lead_source","title":"Process Type"},"description":"فیلتر نوع: lead_funnel | sales_pipeline | activity_type | lead_source"},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Process Definitions Api V1 Crm Businesses  Business Id  Process Definitions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ایجاد فرایند CRM","description":"تعریف فرایند جدید (فانل سرنخ یا pipeline فروش) با مراحل","operationId":"create_process_definition_api_v1_crm_businesses__business_id__process_definitions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmProcessDefinitionCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Process Definition Api V1 Crm Businesses  Business Id  Process Definitions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/process-definitions/{definition_id}":{"get":{"tags":["CRM"],"summary":"جزئیات فرایند","operationId":"get_process_definition_api_v1_crm_businesses__business_id__process_definitions__definition_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Process Definition Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["CRM"],"summary":"ویرایش فرایند","operationId":"update_process_definition_api_v1_crm_businesses__business_id__process_definitions__definition_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmProcessDefinitionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Process Definition Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف فرایند","operationId":"delete_process_definition_api_v1_crm_businesses__business_id__process_definitions__definition_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Process Definition Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/process-definitions/{definition_id}/stages":{"get":{"tags":["CRM"],"summary":"لیست مراحل یک فرایند","operationId":"list_stages_api_v1_crm_businesses__business_id__process_definitions__definition_id__stages_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Stages Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Stages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"افزودن مرحله به فرایند","operationId":"create_stage_api_v1_crm_businesses__business_id__process_definitions__definition_id__stages_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmProcessStageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Stage Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Stages Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/process-definitions/{definition_id}/stages/{stage_id}":{"put":{"tags":["CRM"],"summary":"ویرایش مرحله","operationId":"update_stage_api_v1_crm_businesses__business_id__process_definitions__definition_id__stages__stage_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}},{"name":"stage_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Stage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmProcessStageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Stage Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Stages  Stage Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف مرحله","operationId":"delete_stage_api_v1_crm_businesses__business_id__process_definitions__definition_id__stages__stage_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"definition_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Definition Id"}},{"name":"stage_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Stage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Stage Api V1 Crm Businesses  Business Id  Process Definitions  Definition Id  Stages  Stage Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/leads":{"get":{"tags":["CRM"],"summary":"لیست سرنخ‌ها","operationId":"list_leads_api_v1_crm_businesses__business_id__leads_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Process Definition Id"}},{"name":"stage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stage Id"}},{"name":"assigned_to_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"جستجو در نام، شرکت، موبایل، ایمیل","title":"Search"},"description":"جستجو در نام، شرکت، موبایل، ایمیل"},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"از تاریخ ایجاد (YYYY-MM-DD)","title":"From Date"},"description":"از تاریخ ایجاد (YYYY-MM-DD)"},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تا تاریخ ایجاد (YYYY-MM-DD)","title":"To Date"},"description":"تا تاریخ ایجاد (YYYY-MM-DD)"},{"name":"open_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط سرنخ تبدیل‌نشده","title":"Open Only"},"description":"فقط سرنخ تبدیل‌نشده"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"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":{"type":"object","additionalProperties":true,"title":"Response List Leads Api V1 Crm Businesses  Business Id  Leads Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ایجاد سرنخ","operationId":"create_lead_api_v1_crm_businesses__business_id__leads_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Lead Api V1 Crm Businesses  Business Id  Leads Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/leads/{lead_id}":{"get":{"tags":["CRM"],"summary":"جزئیات سرنخ","operationId":"get_lead_api_v1_crm_businesses__business_id__leads__lead_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Lead Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Lead Api V1 Crm Businesses  Business Id  Leads  Lead Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["CRM"],"summary":"ویرایش سرنخ","operationId":"update_lead_api_v1_crm_businesses__business_id__leads__lead_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Lead Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Lead Api V1 Crm Businesses  Business Id  Leads  Lead Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف سرنخ","operationId":"delete_lead_api_v1_crm_businesses__business_id__leads__lead_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Lead Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Lead Api V1 Crm Businesses  Business Id  Leads  Lead Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/leads/{lead_id}/history":{"get":{"tags":["CRM"],"summary":"تاریخچه تغییرات سرنخ","operationId":"get_lead_history_api_v1_crm_businesses__business_id__leads__lead_id__history_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Lead Id"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Get Lead History Api V1 Crm Businesses  Business Id  Leads  Lead Id  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/leads/{lead_id}/convert":{"post":{"tags":["CRM"],"summary":"تبدیل سرنخ به مشتری","description":"ایجاد شخص (مشتری) از سرنخ و اتصال آن به سرنخ. با ارسال create_deal می‌توان همزمان یک فرصت فروش ایجاد کرد.","operationId":"convert_lead_to_customer_api_v1_crm_businesses__business_id__leads__lead_id__convert_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"lead_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Lead Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadConvertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Convert Lead To Customer Api V1 Crm Businesses  Business Id  Leads  Lead Id  Convert Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/deals":{"get":{"tags":["CRM"],"summary":"لیست فرصت‌های فروش","operationId":"list_deals_api_v1_crm_businesses__business_id__deals_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"process_definition_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Process Definition Id"}},{"name":"stage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Stage Id"}},{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id"}},{"name":"assigned_to_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"جستجو در عنوان، نام مشتری","title":"Search"},"description":"جستجو در عنوان، نام مشتری"},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"از تاریخ ایجاد (YYYY-MM-DD)","title":"From Date"},"description":"از تاریخ ایجاد (YYYY-MM-DD)"},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تا تاریخ ایجاد (YYYY-MM-DD)","title":"To Date"},"description":"تا تاریخ ایجاد (YYYY-MM-DD)"},{"name":"open_only","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط فرصت‌های باز (بسته نشده)","title":"Open Only"},"description":"فقط فرصت‌های باز (بسته نشده)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"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":{"type":"object","additionalProperties":true,"title":"Response List Deals Api V1 Crm Businesses  Business Id  Deals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ایجاد فرصت فروش","operationId":"create_deal_api_v1_crm_businesses__business_id__deals_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Deal Api V1 Crm Businesses  Business Id  Deals Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/deals/{deal_id}":{"get":{"tags":["CRM"],"summary":"جزئیات فرصت فروش","operationId":"get_deal_api_v1_crm_businesses__business_id__deals__deal_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Deal Api V1 Crm Businesses  Business Id  Deals  Deal Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["CRM"],"summary":"ویرایش فرصت فروش (شامل تغییر مرحله)","operationId":"update_deal_api_v1_crm_businesses__business_id__deals__deal_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Deal Api V1 Crm Businesses  Business Id  Deals  Deal Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف فرصت فروش","operationId":"delete_deal_api_v1_crm_businesses__business_id__deals__deal_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Deal Api V1 Crm Businesses  Business Id  Deals  Deal Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/deals/{deal_id}/history":{"get":{"tags":["CRM"],"summary":"تاریخچه تغییرات فرصت فروش","operationId":"get_deal_history_api_v1_crm_businesses__business_id__deals__deal_id__history_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Deal Id"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Get Deal History Api V1 Crm Businesses  Business Id  Deals  Deal Id  History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/activities":{"get":{"tags":["CRM"],"summary":"لیست فعالیت‌ها (با فیلتر شخص)","operationId":"list_activities_api_v1_crm_businesses__business_id__activities_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id"}},{"name":"lead_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس سرنخ","title":"Lead Id"},"description":"فیلتر بر اساس سرنخ"},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deal Id"}},{"name":"activity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Activity Type"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"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":{"type":"object","additionalProperties":true,"title":"Response List Activities Api V1 Crm Businesses  Business Id  Activities Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ثبت فعالیت","operationId":"create_activity_api_v1_crm_businesses__business_id__activities_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmActivityCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Activity Api V1 Crm Businesses  Business Id  Activities Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/activities/{activity_id}":{"get":{"tags":["CRM"],"summary":"جزئیات فعالیت","operationId":"get_activity_api_v1_crm_businesses__business_id__activities__activity_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"activity_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Activity Api V1 Crm Businesses  Business Id  Activities  Activity Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["CRM"],"summary":"ویرایش فعالیت","operationId":"update_activity_api_v1_crm_businesses__business_id__activities__activity_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"activity_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Activity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmActivityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Activity Api V1 Crm Businesses  Business Id  Activities  Activity Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف فعالیت","operationId":"delete_activity_api_v1_crm_businesses__business_id__activities__activity_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"activity_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Activity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Activity Api V1 Crm Businesses  Business Id  Activities  Activity Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/note-types":{"get":{"tags":["CRM"],"summary":"انواع یادداشت CRM","operationId":"list_crm_note_types_api_v1_crm_businesses__business_id__note_types_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Crm Note Types Api V1 Crm Businesses  Business Id  Note Types Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ایجاد نوع یادداشت سفارشی","operationId":"create_crm_note_type_api_v1_crm_businesses__business_id__note_types_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmNoteTypeCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Crm Note Type Api V1 Crm Businesses  Business Id  Note Types Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/note-types/{type_id}":{"patch":{"tags":["CRM"],"summary":"ویرایش نوع یادداشت","operationId":"update_crm_note_type_api_v1_crm_businesses__business_id__note_types__type_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Type Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmNoteTypeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Crm Note Type Api V1 Crm Businesses  Business Id  Note Types  Type Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف نوع یادداشت غیرسیستمی","operationId":"delete_crm_note_type_api_v1_crm_businesses__business_id__note_types__type_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"type_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Type Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Crm Note Type Api V1 Crm Businesses  Business Id  Note Types  Type Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/notes":{"get":{"tags":["CRM"],"summary":"لیست یادداشت‌های تقویم در بازه تاریخ","operationId":"list_crm_notes_api_v1_crm_businesses__business_id__notes_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"from_date","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM-DD میلادی","title":"From Date"},"description":"YYYY-MM-DD میلادی"},{"name":"to_date","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM-DD میلادی","title":"To Date"},"description":"YYYY-MM-DD میلادی"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Crm Notes Api V1 Crm Businesses  Business Id  Notes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"ایجاد یادداشت","operationId":"create_crm_note_api_v1_crm_businesses__business_id__notes_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmNoteCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Crm Note Api V1 Crm Businesses  Business Id  Notes Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/notes/{note_id}":{"get":{"tags":["CRM"],"summary":"جزئیات یادداشت","operationId":"get_crm_note_api_v1_crm_businesses__business_id__notes__note_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Crm Note Api V1 Crm Businesses  Business Id  Notes  Note Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM"],"summary":"ویرایش یادداشت","operationId":"update_crm_note_api_v1_crm_businesses__business_id__notes__note_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmNoteUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Crm Note Api V1 Crm Businesses  Business Id  Notes  Note Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM"],"summary":"حذف نرم یادداشت","operationId":"delete_crm_note_api_v1_crm_businesses__business_id__notes__note_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Crm Note Api V1 Crm Businesses  Business Id  Notes  Note Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/notes/{note_id}/comments":{"get":{"tags":["CRM"],"summary":"کامنت‌های یادداشت","operationId":"list_crm_note_comments_api_v1_crm_businesses__business_id__notes__note_id__comments_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Crm Note Comments Api V1 Crm Businesses  Business Id  Notes  Note Id  Comments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM"],"summary":"افزودن کامنت","operationId":"create_crm_note_comment_api_v1_crm_businesses__business_id__notes__note_id__comments_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmNoteCommentCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Crm Note Comment Api V1 Crm Businesses  Business Id  Notes  Note Id  Comments Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/notes/{note_id}/comments/{comment_id}":{"delete":{"tags":["CRM"],"summary":"حذف کامنت","operationId":"delete_crm_note_comment_api_v1_crm_businesses__business_id__notes__note_id__comments__comment_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Comment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Crm Note Comment Api V1 Crm Businesses  Business Id  Notes  Note Id  Comments  Comment Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/notes/{note_id}/audit":{"get":{"tags":["CRM"],"summary":"تاریخچه audit یادداشت","operationId":"list_crm_note_audit_api_v1_crm_businesses__business_id__notes__note_id__audit_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"note_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Note Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Crm Note Audit Api V1 Crm Businesses  Business Id  Notes  Note Id  Audit Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/crm-settings":{"get":{"tags":["CRM","CRM — چت وب"],"summary":"Get Crm Business Settings","operationId":"get_crm_business_settings_api_v1_crm_businesses__business_id__chat_crm_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Crm Business Settings Api V1 Crm Businesses  Business Id  Chat Crm Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM","CRM — چت وب"],"summary":"Patch Crm Business Settings","operationId":"patch_crm_business_settings_api_v1_crm_businesses__business_id__chat_crm_settings_patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessCrmSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch Crm Business Settings Api V1 Crm Businesses  Business Id  Chat Crm Settings Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/widgets":{"get":{"tags":["CRM","CRM — چت وب"],"summary":"List Chat Widgets","operationId":"list_chat_widgets_api_v1_crm_businesses__business_id__chat_widgets_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Chat Widgets Api V1 Crm Businesses  Business Id  Chat Widgets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM","CRM — چت وب"],"summary":"Create Chat Widget","operationId":"create_chat_widget_api_v1_crm_businesses__business_id__chat_widgets_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatWidgetCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Chat Widget Api V1 Crm Businesses  Business Id  Chat Widgets Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/widgets/{widget_id}":{"patch":{"tags":["CRM","CRM — چت وب"],"summary":"Update Chat Widget","operationId":"update_chat_widget_api_v1_crm_businesses__business_id__chat_widgets__widget_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"widget_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Widget Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatWidgetUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Chat Widget Api V1 Crm Businesses  Business Id  Chat Widgets  Widget Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/conversations":{"get":{"tags":["CRM","CRM — چت وب"],"summary":"List Chat Conversations","operationId":"list_chat_conversations_api_v1_crm_businesses__business_id__chat_conversations_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"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":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"جستجو در نام، ایمیل، موبایل، URL صفه، یا شناسه مکالمه","title":"Search"},"description":"جستجو در نام، ایمیل، موبایل، URL صفه، یا شناسه مکالمه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Chat Conversations Api V1 Crm Businesses  Business Id  Chat Conversations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM","CRM — چت وب"],"summary":"Delete Chat Conversations Bulk","operationId":"delete_chat_conversations_bulk_api_v1_crm_businesses__business_id__chat_conversations_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"اگر ارسال شود فقط مکالمات با این وضعیت (open|pending|resolved) حذف می‌شوند؛ در غیر این صورت همه","title":"Status"},"description":"اگر ارسال شود فقط مکالمات با این وضعیت (open|pending|resolved) حذف می‌شوند؛ در غیر این صورت همه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Chat Conversations Bulk Api V1 Crm Businesses  Business Id  Chat Conversations Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/conversations/{conversation_id}":{"delete":{"tags":["CRM","CRM — چت وب"],"summary":"Delete Chat Conversation One","operationId":"delete_chat_conversation_one_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Chat Conversation One Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["CRM","CRM — چت وب"],"summary":"Patch Chat Conversation","operationId":"patch_chat_conversation_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatConversationPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch Chat Conversation Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/conversations/{conversation_id}/messages":{"get":{"tags":["CRM","CRM — چت وب"],"summary":"List Chat Messages Agent","operationId":"list_chat_messages_agent_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__messages_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":80,"title":"Limit"}},{"name":"before_message_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فقط پیام‌های با id کوچک‌تر (بارگذاری قدیمی‌تر)","title":"Before Message Id"},"description":"فقط پیام‌های با id کوچک‌تر (بارگذاری قدیمی‌تر)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Chat Messages Agent Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["CRM","CRM — چت وب"],"summary":"Post Chat Message Agent","operationId":"post_chat_message_agent_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__messages_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatAgentMessageCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Chat Message Agent Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Messages Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/conversations/{conversation_id}/read":{"post":{"tags":["CRM","CRM — چت وب"],"summary":"Post Chat Conversation Read","operationId":"post_chat_conversation_read_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__read_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatMarkReadBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Chat Conversation Read Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Read Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/crm/businesses/{business_id}/chat/conversations/{conversation_id}/messages/{message_id}":{"patch":{"tags":["CRM","CRM — چت وب"],"summary":"Patch Chat Message Agent","operationId":"patch_chat_message_agent_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__messages__message_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatAgentMessagePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch Chat Message Agent Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Messages  Message Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["CRM","CRM — چت وب"],"summary":"Delete Chat Message","operationId":"delete_chat_message_api_v1_crm_businesses__business_id__chat_conversations__conversation_id__messages__message_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}},{"name":"message_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Message Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Chat Message Api V1 Crm Businesses  Business Id  Chat Conversations  Conversation Id  Messages  Message Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bank-accounts/businesses/{business_id}/bank-accounts":{"post":{"tags":["مدیریت مالی"],"summary":"لیست حساب‌های بانکی کسب‌وکار","description":"دریافت لیست حساب‌های بانکی یک کسب و کار با امکان جستجو و فیلتر","operationId":"list_bank_accounts_endpoint_api_v1_bank_accounts_businesses__business_id__bank_accounts_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/bank-accounts/create":{"post":{"tags":["مدیریت مالی"],"summary":"ایجاد حساب بانکی جدید","description":"ایجاد حساب بانکی برای یک کسب‌وکار مشخص","operationId":"create_bank_account_endpoint_api_v1_bank_accounts_businesses__business_id__bank_accounts_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/bank-accounts/{account_id}":{"get":{"tags":["مدیریت مالی"],"summary":"جزئیات حساب بانکی","description":"دریافت جزئیات حساب بانکی بر اساس شناسه","operationId":"get_bank_account_endpoint_api_v1_bank_accounts_bank_accounts__account_id__get","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"put":{"tags":["مدیریت مالی"],"summary":"ویرایش حساب بانکی","description":"ویرایش اطلاعات حساب بانکی","operationId":"update_bank_account_endpoint_api_v1_bank_accounts_bank_accounts__account_id__put","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BankAccountUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"delete":{"tags":["مدیریت مالی"],"summary":"حذف حساب بانکی","description":"حذف یک حساب بانکی","operationId":"delete_bank_account_endpoint_api_v1_bank_accounts_bank_accounts__account_id__delete","parameters":[{"name":"account_id","in":"path","required":true,"schema":{"type":"integer","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/bank-accounts/bulk-delete":{"post":{"tags":["مدیریت مالی"],"summary":"حذف گروهی حساب‌های بانکی","description":"حذف چندین حساب بانکی بر اساس شناسه‌ها","operationId":"bulk_delete_bank_accounts_endpoint_api_v1_bank_accounts_businesses__business_id__bank_accounts_bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/bank-accounts/export/excel":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی Excel لیست حساب‌های بانکی","description":"خروجی Excel لیست حساب‌های بانکی با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_bank_accounts_excel_api_v1_bank_accounts_businesses__business_id__bank_accounts_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/bank-accounts/export/pdf":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی PDF لیست حساب‌های بانکی","description":"خروجی PDF لیست حساب‌های بانکی با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_bank_accounts_pdf_api_v1_bank_accounts_businesses__business_id__bank_accounts_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/reports/bank-accounts-turnover":{"post":{"tags":["مدیریت مالی"],"summary":"گزارش گردش حساب‌های بانکی","description":"گزارش برداشت‌ها و واریزهای هر حساب بانکی در یک بازه زمانی","operationId":"bank_accounts_turnover_report_endpoint_api_v1_bank_accounts_businesses__business_id__reports_bank_accounts_turnover_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bank Accounts Turnover Report Endpoint Api V1 Bank Accounts Businesses  Business Id  Reports Bank Accounts Turnover Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/bank-accounts/businesses/{business_id}/reports/bank-accounts-turnover/export/excel":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی Excel گزارش گردش حساب‌های بانکی","description":"خروجی Excel گزارش گردش حساب‌های بانکی با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_bank_accounts_turnover_excel_api_v1_bank_accounts_businesses__business_id__reports_bank_accounts_turnover_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/checks/businesses/{business_id}/checks":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"لیست چک‌های کسب‌وکار","description":"دریافت لیست چک‌ها با جستجو/فیلتر","operationId":"list_checks_endpoint_api_v1_checks_businesses__business_id__checks_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/create":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"ایجاد چک","description":"ایجاد چک جدید برای کسب‌وکار","operationId":"create_check_endpoint_api_v1_checks_businesses__business_id__checks_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/endorse":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"واگذاری چک دریافتی به شخص","description":"واگذاری چک دریافتی به شخص دیگر","operationId":"endorse_check_endpoint_api_v1_checks_checks__check_id__actions_endorse_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckEndorseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/clear":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"وصول/پاس چک","description":"انتقال حساب چک به بانک در زمان پاس/وصول","operationId":"clear_check_endpoint_api_v1_checks_checks__check_id__actions_clear_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckClearRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/return":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"عودت چک","description":"عودت چک به طرف مقابل","operationId":"return_check_endpoint_api_v1_checks_checks__check_id__actions_return_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckReturnRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/bounce":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"برگشت چک","description":"برگشت چک و ثبت هزینه احتمالی","operationId":"bounce_check_endpoint_api_v1_checks_checks__check_id__actions_bounce_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckBounceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/pay":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"پرداخت چک پرداختنی","description":"پاس چک پرداختنی از بانک","operationId":"pay_check_endpoint_api_v1_checks_checks__check_id__actions_pay_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckPayRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/actions/deposit":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"سپرده چک به بانک (اختیاری)","description":"انتقال به اسناد در جریان وصول","operationId":"deposit_check_endpoint_api_v1_checks_checks__check_id__actions_deposit_post","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckDepositRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}":{"get":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"جزئیات چک","description":"دریافت جزئیات چک","operationId":"get_check_endpoint_api_v1_checks_checks__check_id__get","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"ویرایش چک","description":"ویرایش اطلاعات چک","operationId":"update_check_endpoint_api_v1_checks_checks__check_id__put","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"حذف چک","description":"حذف یک چک","operationId":"delete_check_endpoint_api_v1_checks_checks__check_id__delete","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/checks/{check_id}/history":{"get":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"سوابق چک و اسناد حسابداری","description":"دریافت سوابق چک و اسناد حسابداری مرتبط","operationId":"get_check_history_endpoint_api_v1_checks_checks__check_id__history_get","parameters":[{"name":"check_id","in":"path","required":true,"schema":{"type":"integer","title":"Check Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/reconciliations/calculate":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"محاسبه راس چک‌ها","description":"محاسبه راس چک‌ها بدون ذخیره","operationId":"calculate_reconciliation_endpoint_api_v1_checks_businesses__business_id__checks_reconciliations_calculate_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckReconciliationCalculateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/reconciliations":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"ایجاد جلسه راس‌گیری","description":"ایجاد و ذخیره جلسه راس‌گیری چک‌ها","operationId":"create_reconciliation_endpoint_api_v1_checks_businesses__business_id__checks_reconciliations_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckReconciliationCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/reconciliations/list":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"لیست جلسات راس‌گیری","description":"دریافت لیست جلسات راس‌گیری با جستجو/فیلتر","operationId":"list_reconciliations_endpoint_api_v1_checks_businesses__business_id__checks_reconciliations_list_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/reconciliations/{reconciliation_id}":{"get":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"جزئیات جلسه راس‌گیری","description":"دریافت جزئیات یک جلسه راس‌گیری","operationId":"get_reconciliation_endpoint_api_v1_checks_reconciliations__reconciliation_id__get","parameters":[{"name":"reconciliation_id","in":"path","required":true,"schema":{"type":"integer","title":"Reconciliation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"حذف جلسه راس‌گیری","description":"حذف یک جلسه راس‌گیری","operationId":"delete_reconciliation_endpoint_api_v1_checks_reconciliations__reconciliation_id__delete","parameters":[{"name":"reconciliation_id","in":"path","required":true,"schema":{"type":"integer","title":"Reconciliation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/export/excel":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"خروجی Excel لیست چک‌ها","description":"خروجی Excel لیست چک‌ها با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_checks_excel_api_v1_checks_businesses__business_id__checks_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/checks/businesses/{business_id}/checks/export/pdf":{"post":{"tags":["مدیریت مالی","دریافت و پرداخت"],"summary":"خروجی PDF لیست چک‌ها","description":"خروجی PDF لیست چک‌ها با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_checks_pdf_api_v1_checks_businesses__business_id__checks_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/cash-registers":{"post":{"tags":["مدیریت مالی"],"summary":"لیست صندوق‌ها","description":"دریافت لیست صندوق‌های یک کسب و کار با امکان جستجو و فیلتر","operationId":"list_cash_registers_endpoint_api_v1_cash_registers_businesses__business_id__cash_registers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/cash-registers/create":{"post":{"tags":["مدیریت مالی"],"summary":"ایجاد صندوق جدید","description":"ایجاد صندوق برای یک کسب‌وکار مشخص","operationId":"create_cash_register_endpoint_api_v1_cash_registers_businesses__business_id__cash_registers_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/cash-registers/{cash_id}":{"get":{"tags":["مدیریت مالی"],"summary":"جزئیات صندوق","description":"دریافت جزئیات صندوق بر اساس شناسه","operationId":"get_cash_register_endpoint_api_v1_cash_registers_cash_registers__cash_id__get","parameters":[{"name":"cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Cash Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["مدیریت مالی"],"summary":"ویرایش صندوق","description":"ویرایش اطلاعات صندوق","operationId":"update_cash_register_endpoint_api_v1_cash_registers_cash_registers__cash_id__put","parameters":[{"name":"cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Cash Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["مدیریت مالی"],"summary":"حذف صندوق","description":"حذف یک صندوق","operationId":"delete_cash_register_endpoint_api_v1_cash_registers_cash_registers__cash_id__delete","parameters":[{"name":"cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Cash Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/cash-registers/bulk-delete":{"post":{"tags":["مدیریت مالی"],"summary":"حذف گروهی صندوق‌ها","description":"حذف چندین صندوق بر اساس شناسه‌ها","operationId":"bulk_delete_cash_registers_endpoint_api_v1_cash_registers_businesses__business_id__cash_registers_bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/cash-registers/export/excel":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی Excel لیست صندوق‌ها","description":"خروجی Excel لیست صندوق‌ها با قابلیت فیلتر و مرتب‌سازی","operationId":"export_cash_registers_excel_api_v1_cash_registers_businesses__business_id__cash_registers_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/cash-registers/export/pdf":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی PDF لیست صندوق‌ها","description":"خروجی PDF لیست صندوق‌ها با قابلیت فیلتر و مرتب‌سازی","operationId":"export_cash_registers_pdf_api_v1_cash_registers_businesses__business_id__cash_registers_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/reports/cash-petty-turnover":{"post":{"tags":["مدیریت مالی"],"summary":"گزارش گردش صندوق و تنخواه","description":"گزارش برداشت‌ها و واریزهای هر صندوق و تنخواه در یک بازه زمانی","operationId":"cash_petty_turnover_report_endpoint_api_v1_cash_registers_businesses__business_id__reports_cash_petty_turnover_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cash Petty Turnover Report Endpoint Api V1 Cash Registers Businesses  Business Id  Reports Cash Petty Turnover Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cash-registers/businesses/{business_id}/reports/cash-petty-turnover/export/excel":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی Excel گزارش گردش صندوق و تنخواه","description":"خروجی Excel گزارش گردش صندوق و تنخواه با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_cash_petty_turnover_excel_api_v1_cash_registers_businesses__business_id__reports_cash_petty_turnover_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/businesses/{business_id}/petty-cash":{"post":{"tags":["مدیریت مالی"],"summary":"لیست تنخواه گردان‌ها","description":"دریافت لیست تنخواه گردان‌های یک کسب و کار با امکان جستجو و فیلتر","operationId":"list_petty_cash_endpoint_api_v1_petty_cash_businesses__business_id__petty_cash_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/businesses/{business_id}/petty-cash/create":{"post":{"tags":["مدیریت مالی"],"summary":"ایجاد تنخواه گردان جدید","description":"ایجاد تنخوان گردان برای یک کسب‌وکار مشخص","operationId":"create_petty_cash_endpoint_api_v1_petty_cash_businesses__business_id__petty_cash_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/petty-cash/{petty_cash_id}":{"get":{"tags":["مدیریت مالی"],"summary":"جزئیات تنخواه گردان","description":"دریافت جزئیات تنخواه گردان بر اساس شناسه","operationId":"get_petty_cash_endpoint_api_v1_petty_cash_petty_cash__petty_cash_id__get","parameters":[{"name":"petty_cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Petty Cash Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["مدیریت مالی"],"summary":"ویرایش تنخواه گردان","description":"ویرایش اطلاعات تنخواه گردان","operationId":"update_petty_cash_endpoint_api_v1_petty_cash_petty_cash__petty_cash_id__put","parameters":[{"name":"petty_cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Petty Cash Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["مدیریت مالی"],"summary":"حذف تنخواه گردان","description":"حذف یک تنخواه گردان","operationId":"delete_petty_cash_endpoint_api_v1_petty_cash_petty_cash__petty_cash_id__delete","parameters":[{"name":"petty_cash_id","in":"path","required":true,"schema":{"type":"integer","title":"Petty Cash Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/businesses/{business_id}/petty-cash/bulk-delete":{"post":{"tags":["مدیریت مالی"],"summary":"حذف گروهی تنخواه گردان‌ها","description":"حذف چندین تنخواه گردان بر اساس شناسه‌ها","operationId":"bulk_delete_petty_cash_endpoint_api_v1_petty_cash_businesses__business_id__petty_cash_bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/businesses/{business_id}/petty-cash/export/excel":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی Excel لیست تنخواه گردان‌ها","description":"خروجی Excel لیست تنخواه گردان‌ها با قابلیت فیلتر و مرتب‌سازی","operationId":"export_petty_cash_excel_api_v1_petty_cash_businesses__business_id__petty_cash_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/petty-cash/businesses/{business_id}/petty-cash/export/pdf":{"post":{"tags":["مدیریت مالی"],"summary":"خروجی PDF لیست تنخواه گردان‌ها","description":"خروجی PDF لیست تنخواه گردان‌ها با قابلیت فیلتر و مرتب‌سازی","operationId":"export_petty_cash_pdf_api_v1_petty_cash_businesses__business_id__petty_cash_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/businesses/{business_id}/query":{"post":{"tags":["تسهیلات دریافتی"],"summary":"فهرست تسهیلات دریافتی","operationId":"list_facilities_endpoint_api_v1_loan_facilities_businesses__business_id__query_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/businesses/{business_id}/create":{"post":{"tags":["تسهیلات دریافتی"],"summary":"ایجاد قرارداد تسهیلات (پیش‌نویس)","operationId":"create_facility_endpoint_api_v1_loan_facilities_businesses__business_id__create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/{facility_id}":{"get":{"tags":["تسهیلات دریافتی"],"summary":"جزئیات تسهیلات با اقساط","operationId":"get_facility_endpoint_api_v1_loan_facilities__facility_id__get","parameters":[{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["تسهیلات دریافتی"],"summary":"به‌روزرسانی قرارداد","operationId":"update_facility_endpoint_api_v1_loan_facilities__facility_id__patch","parameters":[{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["تسهیلات دریافتی"],"summary":"حذف قرارداد تسهیلات در صورت مجاز بودن حسابداری","operationId":"delete_facility_endpoint_api_v1_loan_facilities__facility_id__delete","parameters":[{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/{facility_id}/schedule":{"post":{"tags":["تسهیلات دریافتی"],"summary":"تولید یا بازسازی جدول اقساط","operationId":"schedule_facility_endpoint_api_v1_loan_facilities__facility_id__schedule_post","parameters":[{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/businesses/{business_id}/facilities/{facility_id}/installments/{installment_id}/payments":{"post":{"tags":["تسهیلات دریافتی"],"summary":"ثبت پرداخت قسط","operationId":"pay_installment_endpoint_api_v1_loan_facilities_businesses__business_id__facilities__facility_id__installments__installment_id__payments_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}},{"name":"installment_id","in":"path","required":true,"schema":{"type":"integer","title":"Installment Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/loan-facilities/businesses/{business_id}/facilities/{facility_id}/installments/{installment_id}/payments/{payment_id}":{"delete":{"tags":["تسهیلات دریافتی"],"summary":"حذف پرداخت قسط و سند حسابداری مرتبط","operationId":"delete_installment_payment_endpoint_api_v1_loan_facilities_businesses__business_id__facilities__facility_id__installments__installment_id__payments__payment_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"facility_id","in":"path","required":true,"schema":{"type":"integer","title":"Facility Id"}},{"name":"installment_id","in":"path","required":true,"schema":{"type":"integer","title":"Installment Id"}},{"name":"payment_id","in":"path","required":true,"schema":{"type":"integer","title":"Payment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax-units/":{"get":{"tags":["مالیات"],"summary":"لیست واحدهای مالیاتی","description":"دریافت لیست تمام واحدهای مالیاتی استاندارد","operationId":"list_tax_units_api_v1_tax_units__get","responses":{"200":{"description":"لیست واحدهای مالیاتی با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست واحدهای مالیاتی دریافت شد","data":[{"id":1,"name":"کیلوگرم","code":"کیلوگرم","created_at":"2024-01-01T00:00:00Z","updated_at":"2024-01-01T00:00:00Z"}]}}}}}}},"/api/v1/tax-types/":{"get":{"tags":["مالیات"],"summary":"لیست نوع‌های مالیات","description":"دریافت لیست تمام نوع‌های مالیات استاندارد","operationId":"list_tax_types_api_v1_tax_types__get","responses":{"200":{"description":"لیست نوع‌های مالیات با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست نوع‌های مالیات دریافت شد","data":[{"id":1,"title":"ارزش افزوده گروه دارو","code":"VAT_DRUG","description":"مالیات ارزش افزوده برای گروه دارو و تجهیزات پزشکی","created_at":"2024-01-01T00:00:00Z","updated_at":"2024-01-01T00:00:00Z"}]}}}}}}},"/api/v1/tax/product-codes":{"get":{"tags":["tax-product-codes"],"summary":"Search Tax Codes Endpoint","operationId":"search_tax_codes_endpoint_api_v1_tax_product_codes_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"عبارت جستجو (کد یا شرح)","title":"Q"},"description":"عبارت جستجو (کد یا شرح)"},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":20,"title":"Take"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax/product-codes/{code}":{"get":{"tags":["tax-product-codes"],"summary":"Get Tax Code Endpoint","operationId":"get_tax_code_endpoint_api_v1_tax_product_codes__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/tax/product-codes/search":{"post":{"tags":["admin-tax-product-codes"],"summary":"Search Tax Codes Admin","operationId":"search_tax_codes_admin_api_v1_admin_tax_product_codes_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}},"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/tax/product-codes/import":{"post":{"tags":["admin-tax-product-codes"],"summary":"Import Tax Codes Endpoint","operationId":"import_tax_codes_endpoint_api_v1_admin_tax_product_codes_import_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_tax_codes_endpoint_api_v1_admin_tax_product_codes_import_post"}}},"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/tax-settings/business/{business_id}":{"get":{"tags":["مالیات"],"summary":"Get Tax Settings Endpoint","operationId":"get_tax_settings_endpoint_api_v1_tax_settings_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["مالیات"],"summary":"Save Tax Settings Endpoint","operationId":"save_tax_settings_endpoint_api_v1_tax_settings_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TaxSettingsSaveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax-settings/business/{business_id}/generate-keys":{"post":{"tags":["مالیات"],"summary":"Generate Keys Endpoint","operationId":"generate_keys_endpoint_api_v1_tax_settings_business__business_id__generate_keys_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateKeysRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax-settings/business/{business_id}/data-quality":{"get":{"tags":["مالیات"],"summary":"Tax Data Quality Endpoint","operationId":"tax_data_quality_endpoint_api_v1_tax_settings_business__business_id__data_quality_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax-settings/business/{business_id}/test-connection":{"post":{"tags":["مالیات"],"summary":"Test Tax Connection Endpoint","description":"تست اتصال به سامانه مودیان\n\nاین endpoint:\n- تنظیمات را بررسی می‌کند\n- به سامانه متصل می‌شود\n- اطلاعات سرور را دریافت می‌کند\n- لاگین تست می‌کند\n\nReturns:\n    نتیجه تست شامل وضعیت اتصال","operationId":"test_tax_connection_endpoint_api_v1_tax_settings_business__business_id__test_connection_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tax-reports/business/{business_id}/export":{"post":{"tags":["tax-reports"],"summary":"Export Tax Report","description":"Export گزارش ارسال‌های مالیاتی به Excel\n\nBody:\n    - from_date: تاریخ شروع (اختیاری)\n    - to_date: تاریخ پایان (اختیاری)\n    - status: وضعیت (اختیاری)\n    - format: excel یا pdf (پیش‌فرض: excel)","operationId":"export_tax_report_api_v1_tax_reports_business__business_id__export_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Export Tax Report Api V1 Tax Reports Business  Business Id  Export Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/receipts-payments":{"post":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"لیست اسناد دریافت و پرداخت","description":"دریافت لیست اسناد دریافت و پرداخت با فیلتر و جستجو","operationId":"list_receipts_payments_endpoint_api_v1_businesses__business_id__receipts_payments_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/receipts-payments/create":{"post":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"ایجاد سند دریافت یا پرداخت","description":"ایجاد سند دریافت یا پرداخت جدید\n    \n    ### انواع سند:\n    - **receipt**: دریافت وجه از مشتریان\n    - **payment**: پرداخت به تامین‌کنندگان\n    \n    ### روش‌های پرداخت:\n    - `cash` - نقدی\n    - `check` - چکی (نیاز به اطلاعات چک)\n    - `card` - کارتی\n    - `online` - آنلاین\n    \n    ### نکات:\n    - برای چک، اطلاعات چک الزامی است\n    - می‌توان به فاکتور مرتبط کرد\n    - خودکار در دفتر کل ثبت می‌شود","operationId":"create_receipt_payment_endpoint_api_v1_businesses__business_id__receipts_payments_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","examples":{"example":{"value":1}},"title":"Business Id"},"description":"شناسه کسب‌وکار"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"اطلاعات سند","title":"Body"}}}},"responses":{"200":{"description":"سند ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سند دریافت ایجاد شد","data":{"id":123,"code":"REC-1001"}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/receipts-payments/{document_id}":{"get":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"جزئیات سند دریافت/پرداخت","description":"دریافت جزئیات یک سند دریافت یا پرداخت","operationId":"get_receipt_payment_endpoint_api_v1_receipts_payments__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"حذف سند دریافت/پرداخت","description":"حذف یک سند دریافت یا پرداخت","operationId":"delete_receipt_payment_endpoint_api_v1_receipts_payments__document_id__delete","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"ویرایش سند دریافت/پرداخت","description":"به‌روزرسانی یک سند دریافت یا پرداخت","operationId":"update_receipt_payment_endpoint_api_v1_receipts_payments__document_id__put","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/receipts-payments/export/excel":{"post":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"خروجی Excel لیست اسناد دریافت و پرداخت","description":"خروجی Excel لیست اسناد دریافت و پرداخت با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_receipts_payments_excel_api_v1_businesses__business_id__receipts_payments_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/receipts-payments/{document_id}/pdf":{"get":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"خروجی PDF تک سند دریافت/پرداخت","description":"خروجی PDF یک سند دریافت یا پرداخت","operationId":"export_single_receipt_payment_pdf_api_v1_receipts_payments__document_id__pdf_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/receipts-payments/export/pdf":{"post":{"tags":["دریافت و پرداخت","مدیریت مالی"],"summary":"خروجی PDF لیست اسناد دریافت و پرداخت","description":"خروجی PDF لیست اسناد دریافت و پرداخت با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_receipts_payments_pdf_api_v1_businesses__business_id__receipts_payments_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/transfers":{"post":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"لیست اسناد انتقال","description":"دریافت لیست اسناد انتقال با امکانات پیشرفته فیلتر، جستجو و صفحه‌بندی\n    \n    ### قابلیت‌های جستجو:\n    - جستجو در کد سند، نام مبدا، نام مقصد و توضیحات\n    - جستجو در مبلغ و تاریخ\n    \n    ### فیلترهای موجود:\n    - **محدوده تاریخ**: `from_date`, `to_date`\n    - **نوع مبدا**: `source_type` (bank_account, cash_register, petty_cash)\n    - **نوع مقصد**: `destination_type`\n    - **محدوده مبلغ**: فیلتر با operator های `>=` و `<=` روی `total_amount`\n    - **سال مالی**: از طریق header `X-Fiscal-Year-ID`\n    \n    ### مرتب‌سازی:\n    می‌توانید بر اساس فیلدهای زیر مرتب کنید:\n    - `document_date`: تاریخ سند (پیش‌فرض)\n    - `total_amount`: مبلغ کل\n    - `created_at`: تاریخ ایجاد\n    - `code`: کد سند\n    - `source_name`: نام مبدا\n    - `destination_name`: نام مقصد\n    \n    ### نکات:\n    - نتایج به صورت صفحه‌بندی شده برمی‌گردند\n    - حداکثر 1000 رکورد در هر درخواست\n    - برای صادرات تعداد زیاد، از endpoint های export استفاده کنید","operationId":"list_transfers_endpoint_api_v1_businesses__business_id__transfers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","examples":{"example":{"value":1}},"title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"X-Fiscal-Year-ID","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه سال مالی (اگر ارسال نشود، سال مالی فعال استفاده می‌شود)","examples":{"example":{"value":1}},"title":"X-Fiscal-Year-Id"},"description":"شناسه سال مالی (اگر ارسال نشود، سال مالی فعال استفاده می‌شود)"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo","description":"پارامترهای جستجو، فیلتر و صفحه‌بندی","examples":{"example":{"take":20,"skip":0,"sort_by":"document_date","sort_desc":true,"search":"بانک ملت","filters":[{"property":"total_amount","operator":">=","value":1000000}]}}}}}},"responses":{"200":{"description":"لیست اسناد با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"لیست اسناد انتقال دریافت شد","data":{"items":[{"id":123,"code":"T-1001","document_date":"1403/10/15","source_type_name":"حساب بانکی","source_name":"بانک ملت - 1234567890","destination_type_name":"صندوق","destination_name":"صندوق اصلی","total_amount":1000000,"commission":5000,"created_by_name":"احمد احمدی"}],"total_count":45,"has_more":true}}}}},"400":{"description":"خطا در پارامترهای درخواست","content":{"application/json":{"example":{"success":false,"error_code":"INVALID_PARAMETERS","message":"تاریخ شروع باید قبل از تاریخ پایان باشد"}}}},"403":{"description":"عدم دسترسی به کسب‌وکار","content":{"application/json":{"example":{"success":false,"error_code":"FORBIDDEN","message":"شما به این کسب‌وکار دسترسی ندارید"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/transfers/create":{"post":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"ایجاد سند انتقال","description":"ایجاد سند انتقال جدید برای جابجایی وجه بین حساب‌های مختلف\n    \n    ### انواع حساب مبدا/مقصد:\n    - `bank_account`: حساب بانکی - برای انتقال از/به حساب‌های بانکی\n    - `cash_register`: صندوق - برای انتقال از/به صندوق‌های نقدی\n    - `petty_cash`: تنخواه - برای انتقال از/به تنخواه‌گردان‌ها\n    \n    ### قوانین و محدودیت‌ها:\n    - ✅ مبلغ انتقال باید بزرگتر از صفر باشد\n    - ✅ مبدا و مقصد نمی‌توانند یکسان باشند\n    - ✅ تاریخ سند باید در بازه سال مالی فعال باشد\n    - ✅ کارمزد (اختیاری) باید صفر یا مثبت باشد\n    - ✅ کاربر باید مجوز \"ایجاد سند انتقال\" داشته باشد\n    \n    ### فرآیند ثبت:\n    1. اعتبارسنجی مبدا و مقصد\n    2. بررسی موجودی کافی در مبدا (در صورت نیاز)\n    3. ایجاد سند انتقال\n    4. ثبت اتوماتیک در دفتر کل حسابداری\n    5. به‌روزرسانی موجودی حساب‌ها\n    \n    ### نکات:\n    - سند انتقال به صورت خودکار در دفتر کل ثبت می‌شود\n    - می‌توانید کارمزد انتقال را جداگانه ثبت کنید\n    - تاریخ را می‌توانید به فرمت ISO (YYYY-MM-DD) یا جلالی (YYYY/MM/DD) ارسال کنید","operationId":"create_transfer_endpoint_api_v1_businesses__business_id__transfers_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه کسب‌وکار","examples":{"example":{"value":1}},"title":"Business Id"},"description":"شناسه کسب‌وکار"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferCreateRequest","description":"اطلاعات سند انتقال","examples":{"example":{"source_type":"bank_account","source_id":1,"destination_type":"cash_register","destination_id":2,"total_amount":1000000,"commission":5000,"document_date":"2024-01-15","currency_id":1,"description":"انتقال وجه بابت خرید مواد اولیه"}}}}}},"responses":{"200":{"description":"سند انتقال با موفقیت ایجاد شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سند انتقال با موفقیت ایجاد شد","data":{"id":123,"code":"T-1001","business_id":1,"document_type_name":"انتقال","source_type":"bank_account","source_name":"بانک ملت - 1234567890","destination_type":"cash_register","destination_name":"صندوق اصلی","total_amount":1000000,"commission":5000,"document_date":"1403/10/15","created_by_name":"احمد احمدی","created_at":"1403/10/15 14:30:00"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها","content":{"application/json":{"examples":{"invalid_amount":{"summary":"مبلغ نامعتبر","value":{"success":false,"error_code":"INVALID_AMOUNT","message":"مبلغ باید بزرگتر از صفر باشد"}},"same_source_destination":{"summary":"مبدا و مقصد یکسان","value":{"success":false,"error_code":"SAME_SOURCE_DESTINATION","message":"مبدا و مقصد نمی‌توانند یکسان باشند"}},"invalid_date":{"summary":"تاریخ خارج از سال مالی","value":{"success":false,"error_code":"DATE_OUT_OF_FISCAL_YEAR","message":"تاریخ سند باید در بازه سال مالی فعال باشد"}},"insufficient_balance":{"summary":"موجودی ناکافی","value":{"success":false,"error_code":"INSUFFICIENT_BALANCE","message":"موجودی حساب مبدا کافی نیست"}}}}}},"403":{"description":"عدم دسترسی - کاربر مجوز ایجاد سند انتقال را ندارد","content":{"application/json":{"example":{"success":false,"error_code":"FORBIDDEN","message":"شما مجوز ایجاد سند انتقال را ندارید"}}}},"404":{"description":"مبدا یا مقصد یافت نشد","content":{"application/json":{"examples":{"source_not_found":{"summary":"مبدا یافت نشد","value":{"success":false,"error_code":"SOURCE_NOT_FOUND","message":"حساب مبدا یافت نشد"}},"destination_not_found":{"summary":"مقصد یافت نشد","value":{"success":false,"error_code":"DESTINATION_NOT_FOUND","message":"حساب مقصد یافت نشد"}}}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transfers/{document_id}":{"get":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"جزئیات سند انتقال","description":"دریافت جزئیات کامل یک سند انتقال\n    \n    ### اطلاعات برگشتی:\n    - اطلاعات کامل مبدا و مقصد\n    - آیتم‌های حسابداری سند\n    - اطلاعات ایجادکننده و ویرایش‌کننده\n    - تاریخ‌های ثبت و ویرایش\n    - وضعیت سند\n    \n    ### کاربردها:\n    - نمایش جزئیات سند\n    - چاپ و دانلود PDF\n    - ویرایش سند (دریافت اطلاعات فعلی)\n    - بررسی سابقه تراکنش‌ها","operationId":"get_transfer_endpoint_api_v1_transfers__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه سند انتقال","examples":{"example":{"value":123}},"title":"Document Id"},"description":"شناسه سند انتقال"},{"name":"include_lines","in":"query","required":false,"schema":{"type":"boolean","description":"شامل کردن آیتم‌های حسابداری سند","default":false,"title":"Include Lines"},"description":"شامل کردن آیتم‌های حسابداری سند"}],"responses":{"200":{"description":"جزئیات سند با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"جزئیات سند انتقال دریافت شد","data":{"id":123,"code":"T-1001","business_id":1,"source_type":"bank_account","source_name":"بانک ملت - 1234567890","destination_type":"cash_register","destination_name":"صندوق اصلی","total_amount":1000000,"commission":5000,"document_date":"1403/10/15","description":"انتقال وجه بابت خرید مواد اولیه","account_lines":[{"account_code":"1201","account_name":"بانک ملت","debit":0,"credit":1005000},{"account_code":"1101","account_name":"صندوق","debit":1000000,"credit":0}],"created_by_name":"احمد احمدی","created_at":"1403/10/15 14:30:00"}}}}},"403":{"description":"عدم دسترسی به سند","content":{"application/json":{"example":{"success":false,"error_code":"FORBIDDEN","message":"شما به این سند دسترسی ندارید"}}}},"404":{"description":"سند یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"DOCUMENT_NOT_FOUND","message":"سند انتقال یافت نشد"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"حذف سند انتقال","description":"حذف یک سند انتقال موجود\n    \n    ### عملیات حذف:\n    - سند از سیستم حذف می‌شود\n    - آیتم‌های حسابداری سند حذف می‌شوند\n    - موجودی حساب‌ها به حالت قبل برمی‌گردد\n    - عملیات قابل بازگشت نیست\n    \n    ### محدودیت‌ها:\n    - نمی‌توانید سند قفل شده را حذف کنید\n    - نمی‌توانید سند تایید شده را حذف کنید (ابتدا باید لغو تایید شود)\n    - نمی‌توانید سند مرتبط با سایر اسناد را حذف کنید\n    \n    ### هشدار:\n    ⚠️ این عملیات غیرقابل بازگشت است! سند به صورت کامل از سیستم حذف می‌شود.\n    \n    ### نکات امنیتی:\n    - نیاز به مجوز \"حذف سند انتقال\" دارید\n    - حذف در لاگ سیستم ثبت می‌شود\n    - اطلاعات کاربر حذف‌کننده ذخیره می‌شود","operationId":"delete_transfer_endpoint_api_v1_transfers__document_id__delete","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه سند انتقال برای حذف","examples":{"example":{"value":123}},"title":"Document Id"},"description":"شناسه سند انتقال برای حذف"}],"responses":{"200":{"description":"سند با موفقیت حذف شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سند انتقال با موفقیت حذف شد","data":{"deleted":true,"document_id":123}}}}},"400":{"description":"سند قابل حذف نیست","content":{"application/json":{"examples":{"locked_document":{"summary":"سند قفل شده","value":{"success":false,"error_code":"DOCUMENT_LOCKED","message":"سند قفل شده و قابل حذف نیست"}},"confirmed_document":{"summary":"سند تایید شده","value":{"success":false,"error_code":"DOCUMENT_CONFIRMED","message":"سند تایید شده است. ابتدا باید لغو تایید شود"}},"has_dependencies":{"summary":"سند دارای وابستگی","value":{"success":false,"error_code":"HAS_DEPENDENCIES","message":"این سند با سایر اسناد مرتبط است و قابل حذف نیست"}}}}}},"403":{"description":"عدم مجوز حذف","content":{"application/json":{"example":{"success":false,"error_code":"FORBIDDEN","message":"شما مجوز حذف این سند را ندارید"}}}},"404":{"description":"سند یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"DOCUMENT_NOT_FOUND","message":"سند انتقال یافت نشد"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"ویرایش سند انتقال","description":"ویرایش و به‌روزرسانی یک سند انتقال موجود\n    \n    ### فیلدهای قابل ویرایش:\n    - مبدا و مقصد (نوع و شناسه)\n    - مبلغ کل\n    - کارمزد\n    - تاریخ سند\n    - توضیحات\n    \n    ### محدودیت‌ها:\n    - نمی‌توانید سند قفل شده را ویرایش کنید\n    - نمی‌توانید سند تایید شده در دفتر کل را ویرایش کنید (باید ابتدا لغو تایید شود)\n    - تاریخ جدید باید در بازه سال مالی باشد\n    - مبدا و مقصد نمی‌توانند یکسان باشند\n    \n    ### نکات:\n    - فقط فیلدهایی که ارسال می‌کنید تغییر می‌کنند\n    - سایر فیلدها بدون تغییر باقی می‌مانند\n    - پس از ویرایش، موجودی حساب‌ها خودکار به‌روزرسانی می‌شود\n    - سابقه ویرایش ثبت می‌شود","operationId":"update_transfer_endpoint_api_v1_transfers__document_id__put","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"description":"شناسه سند انتقال","examples":{"example":{"value":123}},"title":"Document Id"},"description":"شناسه سند انتقال"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TransferUpdateRequest","description":"فیلدهای جدید برای ویرایش (فقط فیلدهای ارسال شده تغییر می‌کنند)","examples":{"example":{"total_amount":1200000,"description":"انتقال وجه بابت خرید مواد اولیه - ویرایش شده"}}}}}},"responses":{"200":{"description":"سند با موفقیت ویرایش شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"سند انتقال با موفقیت ویرایش شد","data":{"id":123,"code":"T-1001","total_amount":1200000,"description":"انتقال وجه بابت خرید مواد اولیه - ویرایش شده","updated_at":"1403/10/16 09:15:00"}}}}},"400":{"description":"خطا در اعتبارسنجی","content":{"application/json":{"examples":{"locked_document":{"summary":"سند قفل شده","value":{"success":false,"error_code":"DOCUMENT_LOCKED","message":"این سند قفل شده و قابل ویرایش نیست"}},"confirmed_document":{"summary":"سند تایید شده","value":{"success":false,"error_code":"DOCUMENT_CONFIRMED","message":"سند تایید شده است. ابتدا باید لغو تایید شود"}}}}}},"403":{"description":"عدم مجوز ویرایش","content":{"application/json":{"example":{"success":false,"error_code":"FORBIDDEN","message":"شما مجوز ویرایش این سند را ندارید"}}}},"404":{"description":"سند یافت نشد","content":{"application/json":{"example":{"success":false,"error_code":"DOCUMENT_NOT_FOUND","message":"سند انتقال یافت نشد"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transfers/{document_id}/pdf":{"get":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"خروجی PDF تک سند انتقال","description":"خروجی PDF یک سند انتقال","operationId":"export_single_transfer_pdf_api_v1_transfers__document_id__pdf_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/transfers/export/excel":{"post":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"خروجی Excel لیست اسناد انتقال","description":"خروجی Excel لیست اسناد انتقال با فیلتر و جستجو","operationId":"export_transfers_excel_api_v1_businesses__business_id__transfers_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/transfers/export/pdf":{"post":{"tags":["اسناد انتقال","مدیریت مالی"],"summary":"خروجی PDF لیست اسناد انتقال","description":"خروجی PDF لیست اسناد انتقال با فیلتر و جستجو","operationId":"export_transfers_pdf_api_v1_businesses__business_id__transfers_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/expense-income/create":{"post":{"tags":["expense-income"],"summary":"ایجاد سند هزینه یا درآمد","description":"ایجاد سند هزینه/درآمد با چند سطر حساب و چند طرف‌حساب","operationId":"create_expense_income_endpoint_api_v1_businesses__business_id__expense_income_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/expense-income":{"post":{"tags":["expense-income"],"summary":"لیست اسناد هزینه/درآمد","description":"دریافت لیست اسناد هزینه/درآمد با جستجو و صفحه‌بندی","operationId":"list_expense_income_endpoint_api_v1_businesses__business_id__expense_income_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/expense-income/{document_id}":{"get":{"tags":["expense-income"],"summary":"جزئیات سند هزینه/درآمد","description":"دریافت جزئیات یک سند هزینه یا درآمد","operationId":"get_expense_income_endpoint_api_v1_expense_income__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["expense-income"],"summary":"ویرایش سند هزینه/درآمد","description":"ویرایش یک سند هزینه یا درآمد","operationId":"update_expense_income_endpoint_api_v1_expense_income__document_id__put","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["expense-income"],"summary":"حذف سند هزینه/درآمد","description":"حذف یک سند هزینه یا درآمد","operationId":"delete_expense_income_endpoint_api_v1_expense_income__document_id__delete","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/expense-income/bulk-delete":{"post":{"tags":["expense-income"],"summary":"حذف گروهی اسناد هزینه/درآمد","description":"حذف چندین سند هزینه یا درآمد","operationId":"delete_multiple_expense_income_endpoint_api_v1_expense_income_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"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/businesses/{business_id}/expense-income/export/excel":{"post":{"tags":["expense-income"],"summary":"خروجی Excel اسناد هزینه/درآمد","description":"دریافت فایل Excel لیست اسناد هزینه/درآمد","operationId":"export_expense_income_excel_endpoint_api_v1_businesses__business_id__expense_income_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/expense-income/export/pdf":{"post":{"tags":["expense-income"],"summary":"خروجی PDF اسناد هزینه/درآمد","description":"دریافت فایل PDF لیست اسناد هزینه/درآمد","operationId":"export_expense_income_pdf_endpoint_api_v1_businesses__business_id__expense_income_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/expense-income/{document_id}/pdf":{"get":{"tags":["expense-income"],"summary":"PDF یک سند هزینه/درآمد","description":"دریافت فایل PDF یک سند هزینه یا درآمد","operationId":"get_expense_income_pdf_endpoint_api_v1_expense_income__document_id__pdf_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/documents":{"post":{"tags":["حسابداری"],"summary":"لیست اسناد حسابداری","description":"دریافت لیست تمام اسناد حسابداری (عمومی و اتوماتیک) با فیلتر و صفحه‌بندی","operationId":"list_documents_endpoint_api_v1_businesses__business_id__documents_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/documents/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF لیست اسناد حسابداری","description":"دریافت فایل PDF لیست اسناد حسابداری با پشتیبانی از قالب سفارشی (documents/list)","operationId":"export_documents_pdf_endpoint_api_v1_businesses__business_id__documents_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{document_id}":{"get":{"tags":["حسابداری"],"summary":"جزئیات سند حسابداری","description":"دریافت جزئیات کامل یک سند شامل تمام سطرهای سند","operationId":"get_document_endpoint_api_v1_documents__document_id__get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["حسابداری"],"summary":"حذف سند حسابداری","description":"حذف یک سند حسابداری (فقط اسناد عمومی manual قابل حذف هستند)","operationId":"delete_document_endpoint_api_v1_documents__document_id__delete","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["حسابداری"],"summary":"ویرایش سند حسابداری دستی","description":"ویرایش یک سند حسابداری دستی (فقط اسناد manual قابل ویرایش هستند)","operationId":"update_manual_document_endpoint_api_v1_documents__document_id__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/UpdateManualDocumentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/bulk-delete":{"post":{"tags":["حسابداری"],"summary":"حذف گروهی اسناد","description":"حذف گروهی اسناد حسابداری (فقط اسناد manual حذف می‌شوند)","operationId":"bulk_delete_documents_endpoint_api_v1_documents_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"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/businesses/{business_id}/documents/types-summary":{"get":{"tags":["حسابداری"],"summary":"خلاصه آماری انواع اسناد","description":"دریافت خلاصه آماری تعداد هر نوع سند","operationId":"get_document_types_summary_endpoint_api_v1_businesses__business_id__documents_types_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/documents/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel اسناد","description":"دریافت فایل Excel لیست اسناد حسابداری","operationId":"export_documents_excel_endpoint_api_v1_businesses__business_id__documents_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{document_id}/pdf":{"get":{"tags":["حسابداری"],"summary":"PDF یک سند","description":"دریافت فایل PDF یک سند حسابداری","operationId":"get_document_pdf_endpoint_api_v1_documents__document_id__pdf_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/documents/manual":{"post":{"tags":["حسابداری"],"summary":"ایجاد سند حسابداری دستی","description":"ایجاد یک سند حسابداری دستی جدید با سطرهای مورد نظر","operationId":"create_manual_document_endpoint_api_v1_businesses__business_id__documents_manual_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateManualDocumentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/daily-sales":{"post":{"tags":["حسابداری"],"summary":"گزارش فروش روزانه","description":"گزارش فروش روزانه با گروه‌بندی بر اساس تاریخ","operationId":"daily_sales_report_endpoint_api_v1_businesses__business_id__reports_daily_sales_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Daily Sales Report Endpoint Api V1 Businesses  Business Id  Reports Daily Sales Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/monthly-sales":{"post":{"tags":["حسابداری"],"summary":"گزارش فروش ماهانه","description":"گزارش فروش ماهانه با گروه‌بندی بر اساس ماه","operationId":"monthly_sales_report_endpoint_api_v1_businesses__business_id__reports_monthly_sales_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Monthly Sales Report Endpoint Api V1 Businesses  Business Id  Reports Monthly Sales Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/top-customers":{"post":{"tags":["حسابداری"],"summary":"گزارش برترین مشتریان","description":"گزارش برترین مشتریان بر اساس مبلغ فروش","operationId":"top_customers_report_endpoint_api_v1_businesses__business_id__reports_top_customers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Top Customers Report Endpoint Api V1 Businesses  Business Id  Reports Top Customers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/top-suppliers":{"post":{"tags":["حسابداری"],"summary":"گزارش برترین تامین‌کنندگان","description":"گزارش برترین تامین‌کنندگان بر اساس مبلغ خرید","operationId":"top_suppliers_report_endpoint_api_v1_businesses__business_id__reports_top_suppliers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Top Suppliers Report Endpoint Api V1 Businesses  Business Id  Reports Top Suppliers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/top-suppliers/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش برترین تامین‌کنندگان","description":"خروجی Excel گزارش برترین تامین‌کنندگان با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_top_suppliers_report_excel_api_v1_businesses__business_id__reports_top_suppliers_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/daily-purchases":{"post":{"tags":["حسابداری"],"summary":"گزارش خرید روزانه","description":"گزارش خرید روزانه با گروه‌بندی بر اساس تاریخ","operationId":"daily_purchases_report_endpoint_api_v1_businesses__business_id__reports_daily_purchases_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Daily Purchases Report Endpoint Api V1 Businesses  Business Id  Reports Daily Purchases Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/daily-purchases/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش خرید روزانه","description":"خروجی Excel گزارش خرید روزانه با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_daily_purchases_report_excel_api_v1_businesses__business_id__reports_daily_purchases_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/daily-purchases/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF گزارش خرید روزانه","description":"خروجی PDF گزارش خرید روزانه با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_daily_purchases_report_pdf_api_v1_businesses__business_id__reports_daily_purchases_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/materials-consumption":{"post":{"tags":["حسابداری"],"summary":"گزارش مصرف مواد","description":"گزارش مصرف مواد از فاکتورهای تولید","operationId":"materials_consumption_report_endpoint_api_v1_businesses__business_id__reports_materials_consumption_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Materials Consumption Report Endpoint Api V1 Businesses  Business Id  Reports Materials Consumption Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/production":{"post":{"tags":["حسابداری"],"summary":"گزارش تولید","description":"گزارش تولید (کالاهای ساخته شده) از فاکتورهای تولید","operationId":"production_report_endpoint_api_v1_businesses__business_id__reports_production_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Production Report Endpoint Api V1 Businesses  Business Id  Reports Production Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/trial-balance":{"post":{"tags":["حسابداری"],"summary":"گزارش تراز آزمایشی","description":"گزارش تراز آزمایشی برای حساب‌های حسابداری","operationId":"trial_balance_report_endpoint_api_v1_businesses__business_id__reports_trial_balance_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Trial Balance Report Endpoint Api V1 Businesses  Business Id  Reports Trial Balance Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/trial-balance/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش تراز آزمایشی","description":"خروجی Excel گزارش تراز آزمایشی با قابلیت انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_trial_balance_report_excel_api_v1_businesses__business_id__reports_trial_balance_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/trial-balance/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF گزارش تراز آزمایشی","description":"خروجی PDF گزارش تراز آزمایشی با قابلیت انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_trial_balance_report_pdf_api_v1_businesses__business_id__reports_trial_balance_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/general-ledger":{"post":{"tags":["حسابداری"],"summary":"گزارش دفتر کل","description":"گزارش دفتر کل برای حساب‌های حسابداری","operationId":"general_ledger_report_endpoint_api_v1_businesses__business_id__reports_general_ledger_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response General Ledger Report Endpoint Api V1 Businesses  Business Id  Reports General Ledger Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/general-ledger/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش دفتر کل","description":"خروجی Excel گزارش دفتر کل با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_general_ledger_report_excel_api_v1_businesses__business_id__reports_general_ledger_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/general-ledger/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF گزارش دفتر کل","description":"خروجی PDF گزارش دفتر کل با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_general_ledger_report_pdf_api_v1_businesses__business_id__reports_general_ledger_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/pnl-period":{"post":{"tags":["حسابداری"],"summary":"گزارش سود و زیان دوره‌ای","description":"گزارش سود و زیان دوره‌ای (Profit & Loss Period)","operationId":"pnl_period_report_endpoint_api_v1_businesses__business_id__reports_pnl_period_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pnl Period Report Endpoint Api V1 Businesses  Business Id  Reports Pnl Period Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/pnl-cumulative":{"post":{"tags":["حسابداری"],"summary":"گزارش سود و زیان تجمعی","description":"گزارش سود و زیان تجمعی از ابتدای سال مالی (Profit & Loss Cumulative)","operationId":"pnl_cumulative_report_endpoint_api_v1_businesses__business_id__reports_pnl_cumulative_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pnl Cumulative Report Endpoint Api V1 Businesses  Business Id  Reports Pnl Cumulative Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/accounts-review":{"post":{"tags":["حسابداری"],"summary":"گزارش مرور حساب‌ها","description":"گزارش مرور حساب‌ها با ساختار درختی و مانده‌ها (Account Review Report)","operationId":"accounts_review_report_endpoint_api_v1_businesses__business_id__reports_accounts_review_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Accounts Review Report Endpoint Api V1 Businesses  Business Id  Reports Accounts Review Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/accounts-review/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش مرور حساب‌ها","description":"خروجی Excel گزارش مرور حساب‌ها با ساختار درختی و مانده‌ها","operationId":"export_accounts_review_report_excel_api_v1_businesses__business_id__reports_accounts_review_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/accounts-review/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF گزارش مرور حساب‌ها","description":"خروجی PDF گزارش مرور حساب‌ها با ساختار درختی و مانده‌ها","operationId":"export_accounts_review_report_pdf_api_v1_businesses__business_id__reports_accounts_review_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/journal-ledger":{"post":{"tags":["حسابداری"],"summary":"گزارش دفتر روزنامه","description":"گزارش دفتر روزنامه - تمام تراکنش‌های مالی به ترتیب تاریخ (Journal Ledger)","operationId":"journal_ledger_report_endpoint_api_v1_businesses__business_id__reports_journal_ledger_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Journal Ledger Report Endpoint Api V1 Businesses  Business Id  Reports Journal Ledger Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/journal-ledger/export/excel":{"post":{"tags":["حسابداری"],"summary":"خروجی Excel گزارش دفتر روزنامه","description":"خروجی Excel گزارش دفتر روزنامه با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_journal_ledger_report_excel_api_v1_businesses__business_id__reports_journal_ledger_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/reports/journal-ledger/export/pdf":{"post":{"tags":["حسابداری"],"summary":"خروجی PDF گزارش دفتر روزنامه","description":"خروجی PDF گزارش دفتر روزنامه با قابلیت فیلتر، انتخاب سطرها و رعایت ترتیب/نمایش ستون‌ها","operationId":"export_journal_ledger_report_pdf_api_v1_businesses__business_id__reports_journal_ledger_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years":{"get":{"tags":["سال مالی","حسابداری"],"summary":"List Fiscal Years","operationId":"list_fiscal_years_api_v1_business__business_id__fiscal_years_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Fiscal Years Api V1 Business  Business Id  Fiscal Years Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years/current":{"get":{"tags":["سال مالی","حسابداری"],"summary":"Get Current Fiscal Year","operationId":"get_current_fiscal_year_api_v1_business__business_id__fiscal_years_current_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Current Fiscal Year Api V1 Business  Business Id  Fiscal Years Current Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["سال مالی","حسابداری"],"summary":"Update Current Fiscal Year","description":"ویرایش یا ایجاد سال مالی جاری (اگر وجود نداشت، ایجاد می‌شود)","operationId":"update_current_fiscal_year_api_v1_business__business_id__fiscal_years_current_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FiscalYearUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Current Fiscal Year Api V1 Business  Business Id  Fiscal Years Current Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years/{fiscal_year_id}/closing/preview":{"get":{"tags":["سال مالی","حسابداری"],"summary":"Preview Year End Closing Endpoint","description":"پیش‌نمایش بستن سال مالی","operationId":"preview_year_end_closing_endpoint_api_v1_business__business_id__fiscal_years__fiscal_year_id__closing_preview_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"fiscal_year_id","in":"path","required":true,"schema":{"type":"integer","title":"Fiscal Year Id"}},{"name":"closing_fiscal_end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"description":"تاریخ پایان دورهٔ بستن (شامل) برای پیش‌نمایش تقطیع؛ خالی = پایان تقویمی سال","title":"Closing Fiscal End Date"},"description":"تاریخ پایان دورهٔ بستن (شامل) برای پیش‌نمایش تقطیع؛ خالی = پایان تقویمی سال"},{"name":"document_relocation_basis","in":"query","required":false,"schema":{"type":"string","description":"document_date یا registered_at","default":"document_date","title":"Document Relocation Basis"},"description":"document_date یا registered_at"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Preview Year End Closing Endpoint Api V1 Business  Business Id  Fiscal Years  Fiscal Year Id  Closing Preview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years/{fiscal_year_id}/close":{"post":{"tags":["سال مالی","حسابداری"],"summary":"Close Fiscal Year Endpoint","description":"بستن سال مالی","operationId":"close_fiscal_year_endpoint_api_v1_business__business_id__fiscal_years__fiscal_year_id__close_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"fiscal_year_id","in":"path","required":true,"schema":{"type":"integer","title":"Fiscal Year Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/YearEndClosingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Close Fiscal Year Endpoint Api V1 Business  Business Id  Fiscal Years  Fiscal Year Id  Close Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years/current/rollback/preview":{"get":{"tags":["سال مالی","حسابداری"],"summary":"Preview Fiscal Year Rollback","description":"پیش‌نمایش حذف سال مالی جاری و بازگشت به سال قبل","operationId":"preview_fiscal_year_rollback_api_v1_business__business_id__fiscal_years_current_rollback_preview_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Preview Fiscal Year Rollback Api V1 Business  Business Id  Fiscal Years Current Rollback Preview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/fiscal-years/current/rollback/execute":{"post":{"tags":["سال مالی","حسابداری"],"summary":"Execute Fiscal Year Rollback","description":"اجرای حذف سال مالی جاری و بازگشت به سال قبل","operationId":"execute_fiscal_year_rollback_api_v1_business__business_id__fiscal_years_current_rollback_execute_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FiscalYearRollbackExecuteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Execute Fiscal Year Rollback Api V1 Business  Business Id  Fiscal Years Current Rollback Execute Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity-logs/business/{business_id}/table":{"post":{"tags":["activity-logs"],"summary":"Get Business Activity Logs Table","description":"دریافت لاگ‌های فعالیت یک کسب و کار برای DataTable (POST)","operationId":"get_business_activity_logs_table_api_v1_activity_logs_business__business_id__table_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Business Activity Logs Table Api V1 Activity Logs Business  Business Id  Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity-logs/business/{business_id}":{"get":{"tags":["activity-logs"],"summary":"Get Business Activity Logs","description":"دریافت لاگ‌های فعالیت یک کسب و کار","operationId":"get_business_activity_logs_api_v1_activity_logs_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"دسته فعالیت","title":"Category"},"description":"دسته فعالیت"},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"نوع موجودیت","title":"Entity Type"},"description":"نوع موجودیت"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"تاریخ شروع","title":"Start Date"},"description":"تاریخ شروع"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"تاریخ پایان","title":"End Date"},"description":"تاریخ پایان"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"شماره صفحه","default":1,"title":"Page"},"description":"شماره صفحه"},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"تعداد در هر صفحه","default":50,"title":"Per Page"},"description":"تعداد در هر صفحه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Business Activity Logs Api V1 Activity Logs Business  Business Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity-logs/entity/{entity_type}/{entity_id}":{"get":{"tags":["activity-logs"],"summary":"Get Entity Activity Logs","description":"دریافت تاریخچه تغییرات یک موجودیت","operationId":"get_entity_activity_logs_api_v1_activity_logs_entity__entity_type___entity_id__get","parameters":[{"name":"entity_type","in":"path","required":true,"schema":{"type":"string","title":"Entity Type"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه کسب و کار (اختیاری)","title":"Business Id"},"description":"شناسه کسب و کار (اختیاری)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Entity Activity Logs Api V1 Activity Logs Entity  Entity Type   Entity Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity-logs/user/me":{"get":{"tags":["activity-logs"],"summary":"Get My Activity Logs","description":"دریافت لاگ‌های فعالیت کاربر جاری","operationId":"get_my_activity_logs_api_v1_activity_logs_user_me_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه کسب و کار (اختیاری)","title":"Business Id"},"description":"شناسه کسب و کار (اختیاری)"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"شماره صفحه","default":1,"title":"Page"},"description":"شماره صفحه"},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"تعداد در هر صفحه","default":50,"title":"Per Page"},"description":"تعداد در هر صفحه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get My Activity Logs Api V1 Activity Logs User Me Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/activity-logs/table":{"post":{"tags":["admin-activity-logs"],"summary":"لاگ فعالیت کسب‌وکارها (DataTable، صفحه‌بندی سمت سرور)","description":"ورودی متعارف DataTableWidget شامل skip/take/sort_by/sort_desc/search/filters و فیلترهای additionalParams.","operationId":"list_business_activity_logs_admin_api_v1_admin_activity_logs_table_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Business Activity Logs Admin Api V1 Admin Activity Logs Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/activity-logs/filters/businesses":{"get":{"tags":["admin-activity-logs"],"summary":"جستجوی کسب‌وکارها برای فیلتر autocomplete","operationId":"search_businesses_for_filter_api_v1_admin_activity_logs_filters_businesses_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"متن جستجو در نام کسب‌وکار","title":"Q"},"description":"متن جستجو در نام کسب‌وکار"},{"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":{"type":"object","additionalProperties":true,"title":"Response Search Businesses For Filter Api V1 Admin Activity Logs Filters Businesses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/activity-logs/filters/users":{"get":{"tags":["admin-activity-logs"],"summary":"جستجوی کاربران برای فیلتر autocomplete","description":"اگر business_id داده شود، فقط اعضای آن کسب‌وکار بازگردانده می‌شوند؛ در غیر این صورت همهٔ کاربران فعال.","operationId":"search_users_for_filter_api_v1_admin_activity_logs_filters_users_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"نام/ایمیل/موبایل","title":"Q"},"description":"نام/ایمیل/موبایل"},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":1},{"type":"null"}],"title":"Business Id"}},{"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":{"type":"object","additionalProperties":true,"title":"Response Search Users For Filter Api V1 Admin Activity Logs Filters Users Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/admin/activity-logs/filters/options":{"get":{"tags":["admin-activity-logs"],"summary":"لیست گزینه‌های فیلتر (دسته‌ها، اکشن‌ها، نوع موجودیت)","operationId":"get_filter_options_api_v1_admin_activity_logs_filters_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Filter Options Api V1 Admin Activity Logs Filters Options Get"}}}}}}},"/api/v1/admin/activity-logs/{log_id}":{"get":{"tags":["admin-activity-logs"],"summary":"جزئیات یک لاگ فعالیت (مخصوص ادمین)","operationId":"get_activity_log_detail_admin_api_v1_admin_activity_logs__log_id__get","parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Activity Log Detail Admin Api V1 Admin Activity Logs  Log Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kardex/businesses/{business_id}/lines":{"post":{"tags":["گزارش‌ها","انبارداری"],"summary":"لیست کاردکس (خطوط اسناد)","description":"دریافت خطوط اسناد مرتبط با انتخاب‌های چندگانه موجودیت‌ها با فیلتر تاریخ","operationId":"list_kardex_lines_endpoint_api_v1_kardex_businesses__business_id__lines_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kardex/businesses/{business_id}/lines/export/excel":{"post":{"tags":["گزارش‌ها","انبارداری"],"summary":"خروجی Excel کاردکس","description":"خروجی اکسل از لیست خطوط کاردکس با فیلترهای اعمال‌شده","operationId":"export_kardex_excel_endpoint_api_v1_kardex_businesses__business_id__lines_export_excel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kardex/businesses/{business_id}/lines/export/pdf":{"post":{"tags":["گزارش‌ها","انبارداری"],"summary":"خروجی PDF کاردکس","description":"خروجی PDF از لیست خطوط کاردکس با فیلترهای اعمال‌شده","operationId":"export_kardex_pdf_endpoint_api_v1_kardex_businesses__business_id__lines_export_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/opening-balance":{"get":{"tags":["opening_balance"],"summary":"دریافت تراز افتتاحیه","description":"خواندن سند تراز افتتاحیه برای سال مالی مشخص (یا سال جاری در صورت عدم ارسال)","operationId":"get_opening_balance_endpoint_api_v1_businesses__business_id__opening_balance_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"fiscal_year_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fiscal Year Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["opening_balance"],"summary":"ذخیره/به‌روزرسانی تراز افتتاحیه","description":"ایجاد یا بروزرسانی سند تراز افتتاحیه برای سال مالی مشخص","operationId":"upsert_opening_balance_endpoint_api_v1_businesses__business_id__opening_balance_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/opening-balance/preview":{"post":{"tags":["opening_balance"],"summary":"پیش‌نمایش تراز افتتاحیه","description":"پیش‌نمایش تراز افتتاحیه بدون ذخیره","operationId":"preview_opening_balance_endpoint_api_v1_businesses__business_id__opening_balance_preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/opening-balance/post":{"post":{"tags":["opening_balance"],"summary":"نهایی‌سازی تراز افتتاحیه","description":"قفل کردن و علامت‌گذاری سند تراز افتتاحیه به عنوان نهایی","operationId":"post_opening_balance_endpoint_api_v1_businesses__business_id__opening_balance_post_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"fiscal_year_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه سال مالی (در غیر این صورت سال جاری)","title":"Fiscal Year Id"},"description":"شناسه سال مالی (در غیر این صورت سال جاری)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/opening-balance/unpost":{"post":{"tags":["opening_balance"],"summary":"لغو نهایی‌سازی تراز افتتاحیه","description":"فقط در صورتی مجاز است که در همان سال مالی به‌جز سند افتتاحیه، سند دیگری ثبت نشده باشد","operationId":"unpost_opening_balance_endpoint_api_v1_businesses__business_id__opening_balance_unpost_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"fiscal_year_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"شناسه سال مالی (در غیر این صورت سال جاری)","title":"Fiscal Year Id"},"description":"شناسه سال مالی (در غیر این صورت سال جاری)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/currency-rates":{"get":{"tags":["currency_revaluation","حسابداری"],"summary":"لیست نرخ‌های تسعیر (تاریخچه)","description":"نرخ‌های ثبت‌شده نسبت به ارز اصلی؛ چند نرخ در یک روز با زمان مؤثر متفاوت مجاز است","operationId":"list_currency_rates_api_v1_businesses__business_id__currency_rates_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Take"}},{"name":"currency_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Currency Rates Api V1 Businesses  Business Id  Currency Rates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["currency_revaluation","حسابداری"],"summary":"ثبت نرخ تسعیر جدید","operationId":"create_currency_rate_api_v1_businesses__business_id__currency_rates_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Currency Rate Api V1 Businesses  Business Id  Currency Rates Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/currency-rates/resolve":{"get":{"tags":["currency_revaluation","حسابداری"],"summary":"تعیین نرخ در لحظه (برای تسعیر اسناد)","description":"بازگرداندن نرخ تبدیل ۱ واحد ارز به ارز پایه در زمان as_of (آخرین نرخ با effective_at <= as_of)","operationId":"resolve_currency_rate_api_v1_businesses__business_id__currency_rates_resolve_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"currency_id","in":"query","required":true,"schema":{"type":"integer","description":"شناسه ارز غیرپایه","title":"Currency Id"},"description":"شناسه ارز غیرپایه"},{"name":"as_of","in":"query","required":true,"schema":{"type":"string","description":"ISO8601، مثال: 2024-12-20T15:30:00+00:00","title":"As Of"},"description":"ISO8601، مثال: 2024-12-20T15:30:00+00:00"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resolve Currency Rate Api V1 Businesses  Business Id  Currency Rates Resolve Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/currency-rates/{rate_id}":{"put":{"tags":["currency_revaluation","حسابداری"],"summary":"ویرایش نرخ","operationId":"update_currency_rate_api_v1_businesses__business_id__currency_rates__rate_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"rate_id","in":"path","required":true,"schema":{"type":"integer","title":"Rate Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Currency Rate Api V1 Businesses  Business Id  Currency Rates  Rate Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["currency_revaluation","حسابداری"],"summary":"حذف نرخ","operationId":"delete_currency_rate_api_v1_businesses__business_id__currency_rates__rate_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"rate_id","in":"path","required":true,"schema":{"type":"integer","title":"Rate Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Currency Rate Api V1 Businesses  Business Id  Currency Rates  Rate Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/scope-catalog":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"کاتالوگ scopeهای معتبر قالب","description":"لیست scopeهای مجاز برای اتصال قالب به نوع سند.","operationId":"report_template_scope_catalog_api_v1_report_templates_business__business_id__scope_catalog_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"لیست قالب‌های گزارش","description":"لیست قالب‌ها با امکان فیلتر بر اساس ماژول و زیرنوع. کاربران عادی فقط Published را می‌بینند.","operationId":"list_report_templates_api_v1_report_templates_business__business_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"module_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Module Key"}},{"name":"subtype","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"ایجاد قالب جدید (فقط سازندگان)","operationId":"create_report_template_api_v1_report_templates_business__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/{template_id}/business/{business_id}":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"جزئیات یک قالب گزارش (فقط سازندگان)","description":"اطلاعات کامل قالب شامل محتوا برای ویرایشگر","operationId":"get_report_template_api_v1_report_templates__template_id__business__business_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"ویرایش قالب (فقط سازندگان)","operationId":"update_report_template_api_v1_report_templates__template_id__business__business_id__put","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"حذف قالب (فقط سازندگان)","operationId":"delete_report_template_api_v1_report_templates__template_id__business__business_id__delete","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/{template_id}/business/{business_id}/publish":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"انتشار/بازگشت به پیش‌نویس (سازگاری با نسخه قبل)","operationId":"publish_report_template_api_v1_report_templates__template_id__business__business_id__publish_post","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/{template_id}/business/{business_id}/transition":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"تغییر وضعیت lifecycle قالب","description":"تغییر وضعیت کنترل‌شده: draft/in_review/approved/published/deprecated","operationId":"transition_report_template_status_api_v1_report_templates__template_id__business__business_id__transition_post","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/{template_id}/business/{business_id}/status-events":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"تاریخچه تغییر وضعیت قالب","description":"نمایش timeline تغییر وضعیت‌ها با دلیل و کاربر انجام‌دهنده.","operationId":"report_template_status_events_api_v1_report_templates__template_id__business__business_id__status_events_get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}},{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","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/report-templates/business/{business_id}/status-events":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"گزارش مدیریتی تغییر وضعیت قالب‌ها","description":"گزارش تجمیعی/فیلترپذیر برای audit تغییر وضعیت قالب‌ها.","operationId":"report_templates_status_events_report_api_v1_report_templates_business__business_id__status_events_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"actor_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Actor User Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Sort Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/set-default":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"تنظیم قالب پیش‌فرض یک ماژول/زیرنوع (فقط سازندگان)","operationId":"set_default_template_api_v1_report_templates_business__business_id__set_default_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/preview":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"پیش‌نمایش قالب (فقط سازندگان)","description":"بدون ذخیره‌سازی؛ HTML/CSS ارسالی با داده نمونه رندر و به PDF تبدیل می‌شود.","operationId":"preview_report_template_api_v1_report_templates_business__business_id__preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/preview-pdf":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"پیش‌نمایش PDF قالب (فقط سازندگان)","description":"بدون ذخیره‌سازی؛ HTML/CSS ارسالی با داده نمونه رندر و به PDF تبدیل می‌شود. فایل PDF به صورت bytes برگردانده می‌شود.","operationId":"preview_report_template_pdf_api_v1_report_templates_business__business_id__preview_pdf_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/schema":{"get":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"Schema متغیرهای قابل‌استفاده در قالب برای ماژول/زیرنوع","description":"لیست کلیدها/توضیحات و نمونه context برای کمک به سازندگان قالب","operationId":"report_template_schema_api_v1_report_templates_business__business_id__schema_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"module_key","in":"query","required":true,"schema":{"type":"string","title":"Module Key"}},{"name":"subtype","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/report-templates/business/{business_id}/validate-builder-design":{"post":{"tags":["قالب‌های گزارش","گزارش‌ها"],"summary":"اعتبارسنجی طراحی Builder برای scope","description":"بررسی سازگاری بلوک‌ها با نوع سند و ارائه errors/warnings.","operationId":"validate_builder_design_api_v1_report_templates_business__business_id__validate_builder_design_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet":{"get":{"tags":["کیف پول"],"summary":"خلاصه کیف‌پول کسب‌وکار","description":"نمایش مانده‌ها و ارز پایه","operationId":"get_wallet_overview_endpoint_api_v1_businesses__business_id__wallet_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Wallet Overview Endpoint Api V1 Businesses  Business Id  Wallet Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/top-up":{"post":{"tags":["کیف پول"],"summary":"ایجاد درخواست افزایش اعتبار","description":"ایجاد top-up و بازگشت شناسه تراکنش برای هدایت به درگاه","operationId":"create_top_up_endpoint_api_v1_businesses__business_id__wallet_top_up_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Top Up Endpoint Api V1 Businesses  Business Id  Wallet Top Up Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/transactions":{"get":{"tags":["کیف پول"],"summary":"لیست تراکنش‌های کیف‌پول","description":"نمایش تراکنش‌ها به ترتیب نزولی","operationId":"list_wallet_transactions_endpoint_api_v1_businesses__business_id__wallet_transactions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Wallet Transactions Endpoint Api V1 Businesses  Business Id  Wallet Transactions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/transactions/table":{"post":{"tags":["کیف پول"],"summary":"لیست تراکنش‌ها برای جدول عمومی (پگینیشن استاندارد)","description":"سازگار با DataTableWidget: ورودی QueryInfo و خروجی items/total/page/limit","operationId":"list_wallet_transactions_table_endpoint_api_v1_businesses__business_id__wallet_transactions_table_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Wallet Transactions Table Endpoint Api V1 Businesses  Business Id  Wallet Transactions Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/transactions/export":{"get":{"tags":["کیف پول"],"summary":"خروجی CSV تراکنش‌های کیف‌پول","operationId":"export_wallet_transactions_csv_endpoint_api_v1_businesses__business_id__wallet_transactions_export_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/metrics/export":{"get":{"tags":["کیف پول"],"summary":"خروجی CSV خلاصه کیف‌پول","operationId":"export_wallet_metrics_csv_endpoint_api_v1_businesses__business_id__wallet_metrics_export_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/payouts":{"post":{"tags":["کیف پول"],"summary":"ایجاد درخواست تسویه","description":"ایجاد درخواست تسویه به حساب بانکی مشخص","operationId":"create_payout_request_endpoint_api_v1_businesses__business_id__wallet_payouts_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Payout Request Endpoint Api V1 Businesses  Business Id  Wallet Payouts Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["کیف پول"],"summary":"لیست درخواست‌های تسویه کسب‌وکار","description":"درخواست‌های تسویه به‌ترتیب نزولی شناسه","operationId":"list_business_wallet_payouts_endpoint_api_v1_businesses__business_id__wallet_payouts_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"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":{"type":"object","additionalProperties":true,"title":"Response List Business Wallet Payouts Endpoint Api V1 Businesses  Business Id  Wallet Payouts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/metrics":{"get":{"tags":["کیف پول"],"summary":"گزارش خلاصه کیف‌پول (metrics)","description":"مبالغ ورودی/خروجی/کارمزد و مانده‌ها در بازه زمانی","operationId":"get_wallet_metrics_endpoint_api_v1_businesses__business_id__wallet_metrics_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Wallet Metrics Endpoint Api V1 Businesses  Business Id  Wallet Metrics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/settings":{"get":{"tags":["کیف پول"],"summary":"تنظیمات کیف‌پول کسب‌وکار","operationId":"get_wallet_settings_business_endpoint_api_v1_businesses__business_id__wallet_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Wallet Settings Business Endpoint Api V1 Businesses  Business Id  Wallet Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["کیف پول"],"summary":"ویرایش تنظیمات کیف‌پول کسب‌وکار","operationId":"update_wallet_settings_business_endpoint_api_v1_businesses__business_id__wallet_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Wallet Settings Business Endpoint Api V1 Businesses  Business Id  Wallet Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/auto-settle/run":{"post":{"tags":["کیف پول"],"summary":"اجرای تسویه خودکار (برای cron/job)","operationId":"run_auto_settle_endpoint_api_v1_businesses__business_id__wallet_auto_settle_run_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Run Auto Settle Endpoint Api V1 Businesses  Business Id  Wallet Auto Settle Run Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/payouts/{payout_id}/approve":{"put":{"tags":["کیف پول"],"summary":"تایید درخواست تسویه","description":"تایید توسط کاربر مجاز","operationId":"approve_payout_request_endpoint_api_v1_businesses__business_id__wallet_payouts__payout_id__approve_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Approve Payout Request Endpoint Api V1 Businesses  Business Id  Wallet Payouts  Payout Id  Approve Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/payouts/{payout_id}/cancel":{"put":{"tags":["کیف پول"],"summary":"لغو درخواست تسویه","description":"لغو و بازگردانی مبلغ به مانده قابل برداشت","operationId":"cancel_payout_request_endpoint_api_v1_businesses__business_id__wallet_payouts__payout_id__cancel_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Payout Request Endpoint Api V1 Businesses  Business Id  Wallet Payouts  Payout Id  Cancel Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/zohal/services":{"get":{"tags":["یکپارچه‌سازی","مالیات"],"summary":"لیست سرویس‌های استعلامات زحل","description":"دریافت لیست سرویس‌های فعال زحل برای کسب‌وکار","operationId":"list_zohal_services_for_business_api_v1_businesses__business_id__zohal_services_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر بر اساس دسته‌بندی","title":"Category"},"description":"فیلتر بر اساس دسته‌بندی"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Zohal Services For Business Api V1 Businesses  Business Id  Zohal Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/zohal/inquiry/{service_code}":{"post":{"tags":["یکپارچه‌سازی","مالیات"],"summary":"اجرای استعلام زحل","description":"ارسال درخواست استعلام به سرویس زحل","operationId":"execute_inquiry_api_v1_businesses__business_id__zohal_inquiry__service_code__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"service_code","in":"path","required":true,"schema":{"type":"string","description":"کد سرویس","title":"Service Code"},"description":"کد سرویس"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"description":"داده‌های درخواست","title":"Request Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Execute Inquiry Api V1 Businesses  Business Id  Zohal Inquiry  Service Code  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/zohal/logs":{"get":{"tags":["یکپارچه‌سازی","مالیات"],"summary":"تاریخچه استفاده از سرویس‌های زحل","description":"دریافت لیست لاگ‌های استفاده از سرویس‌های زحل","operationId":"list_inquiry_logs_api_v1_businesses__business_id__zohal_logs_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس سرویس","title":"Service Id"},"description":"فیلتر بر اساس سرویس"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ شروع (ISO format)","title":"Start Date"},"description":"تاریخ شروع (ISO format)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ پایان (ISO format)","title":"End Date"},"description":"تاریخ پایان (ISO format)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"تعداد نتایج","default":50,"title":"Limit"},"description":"تعداد نتایج"},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"تعداد نتایج برای رد شدن","default":0,"title":"Skip"},"description":"تعداد نتایج برای رد شدن"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Inquiry Logs Api V1 Businesses  Business Id  Zohal Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/zohal/logs/{log_id}":{"get":{"tags":["یکپارچه‌سازی","مالیات"],"summary":"جزئیات یک لاگ","description":"دریافت جزئیات یک لاگ استفاده از سرویس زحل","operationId":"get_inquiry_log_api_v1_businesses__business_id__zohal_logs__log_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"},{"name":"log_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه لاگ","title":"Log Id"},"description":"شناسه لاگ"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Inquiry Log Api V1 Businesses  Business Id  Zohal Logs  Log Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet/webhook":{"post":{"tags":["wallet-webhook"],"summary":"وبهوک تایید افزایش اعتبار","description":"تایید/لغو top-up از طرف درگاه پرداخت","operationId":"wallet_webhook_endpoint_api_v1_wallet_webhook_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Wallet Webhook Endpoint Api V1 Wallet Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/credit/settings":{"get":{"tags":["اعتبار"],"summary":"دریافت تنظیمات اعتبار کسب‌وکار","operationId":"get_credit_settings_endpoint_api_v1_businesses__business_id__credit_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Credit Settings Endpoint Api V1 Businesses  Business Id  Credit Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["اعتبار"],"summary":"ویرایش تنظیمات اعتبار کسب‌وکار","operationId":"update_credit_settings_endpoint_api_v1_businesses__business_id__credit_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Credit Settings Endpoint Api V1 Businesses  Business Id  Credit Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/credit/installment-plans":{"get":{"tags":["اعتبار"],"summary":"لیست پلن‌های اقساط","operationId":"list_installment_plans_endpoint_api_v1_businesses__business_id__credit_installment_plans_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Installment Plans Endpoint Api V1 Businesses  Business Id  Credit Installment Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["اعتبار"],"summary":"ایجاد پلن اقساطی جدید","operationId":"create_installment_plan_endpoint_api_v1_businesses__business_id__credit_installment_plans_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Installment Plan Endpoint Api V1 Businesses  Business Id  Credit Installment Plans Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/credit/installment-plans/{plan_id}":{"get":{"tags":["اعتبار"],"summary":"دریافت جزئیات پلن اقساطی","operationId":"get_installment_plan_endpoint_api_v1_businesses__business_id__credit_installment_plans__plan_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Installment Plan Endpoint Api V1 Businesses  Business Id  Credit Installment Plans  Plan Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["اعتبار"],"summary":"ویرایش پلن اقساطی","operationId":"update_installment_plan_endpoint_api_v1_businesses__business_id__credit_installment_plans__plan_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Installment Plan Endpoint Api V1 Businesses  Business Id  Credit Installment Plans  Plan Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["اعتبار"],"summary":"حذف پلن اقساطی","operationId":"delete_installment_plan_endpoint_api_v1_businesses__business_id__credit_installment_plans__plan_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","minimum":1,"title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Installment Plan Endpoint Api V1 Businesses  Business Id  Credit Installment Plans  Plan Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/credit/persons/{person_id}":{"get":{"tags":["اعتبار"],"summary":"دریافت تنظیمات اعتبار شخص","operationId":"get_person_credit_endpoint_api_v1_businesses__business_id__credit_persons__person_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Person Credit Endpoint Api V1 Businesses  Business Id  Credit Persons  Person Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["اعتبار"],"summary":"ویرایش تنظیمات اعتبار شخص","operationId":"update_person_credit_endpoint_api_v1_businesses__business_id__credit_persons__person_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Person Credit Endpoint Api V1 Businesses  Business Id  Credit Persons  Person Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/frequent-descriptions":{"get":{"tags":["شرح پرتکرار"],"summary":"لیست شرح‌های پرتکرار کسب‌وکار","operationId":"list_frequent_descriptions_api_v1_businesses__business_id__frequent_descriptions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","description":"بخش تفکیک‌شدهٔ لیست (مثلاً receipt_payment، expense_income)","default":"general","title":"Scope"},"description":"بخش تفکیک‌شدهٔ لیست (مثلاً receipt_payment، expense_income)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Frequent Descriptions Api V1 Businesses  Business Id  Frequent Descriptions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["شرح پرتکرار"],"summary":"افزودن شرح پرتکرار","operationId":"create_frequent_description_api_v1_businesses__business_id__frequent_descriptions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Frequent Description Api V1 Businesses  Business Id  Frequent Descriptions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/frequent-descriptions/{row_id}":{"patch":{"tags":["شرح پرتکرار"],"summary":"ویرایش شرح پرتکرار","operationId":"update_frequent_description_api_v1_businesses__business_id__frequent_descriptions__row_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"integer","title":"Row Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Frequent Description Api V1 Businesses  Business Id  Frequent Descriptions  Row Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["شرح پرتکرار"],"summary":"حذف شرح پرتکرار","operationId":"delete_frequent_description_api_v1_businesses__business_id__frequent_descriptions__row_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"row_id","in":"path","required":true,"schema":{"type":"integer","title":"Row Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Frequent Description Api V1 Businesses  Business Id  Frequent Descriptions  Row Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/quick-sales/settings":{"get":{"tags":["quick-sales"],"summary":"دریافت تنظیمات فروش سریع","description":"دریافت تنظیمات فروش سریع یک کسب‌وکار شامل مشتری ناشناس، انبار، صندوق و سایر تنظیمات","operationId":"get_quick_sales_settings_endpoint_api_v1_businesses__business_id__quick_sales_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Quick Sales Settings Endpoint Api V1 Businesses  Business Id  Quick Sales Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["quick-sales"],"summary":"ویرایش تنظیمات فروش سریع","description":"به‌روزرسانی تنظیمات فروش سریع یک کسب‌وکار","operationId":"update_quick_sales_settings_endpoint_api_v1_businesses__business_id__quick_sales_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Quick Sales Settings Endpoint Api V1 Businesses  Business Id  Quick Sales Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/quick-sales/anonymous-customer":{"get":{"tags":["quick-sales"],"summary":"دریافت یا ایجاد مشتری ناشناس","description":"دریافت مشتری ناشناس پیش‌فرض یا ایجاد آن در صورت عدم وجود","operationId":"get_anonymous_customer_endpoint_api_v1_businesses__business_id__quick_sales_anonymous_customer_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Anonymous Customer Endpoint Api V1 Businesses  Business Id  Quick Sales Anonymous Customer Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/document-numbering-settings":{"get":{"tags":["document-numbering"],"summary":"دریافت تمام تنظیمات شماره‌گذاری اسناد یک کسب و کار","description":"دریافت تمام تنظیمات شماره‌گذاری اسناد یک کسب و کار","operationId":"get_document_numbering_settings_api_v1_businesses__business_id__document_numbering_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب و کار","title":"Business Id"},"description":"شناسه کسب و کار"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Document Numbering Settings Api V1 Businesses  Business Id  Document Numbering Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["document-numbering"],"summary":"ایجاد یا به‌روزرسانی تنظیمات شماره‌گذاری","description":"ایجاد یا به‌روزرسانی تنظیمات شماره‌گذاری","operationId":"create_or_update_document_numbering_setting_api_v1_businesses__business_id__document_numbering_settings_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب و کار","title":"Business Id"},"description":"شناسه کسب و کار"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentNumberingSettingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Or Update Document Numbering Setting Api V1 Businesses  Business Id  Document Numbering Settings Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/document-numbering-settings/{document_type}":{"get":{"tags":["document-numbering"],"summary":"دریافت تنظیمات شماره‌گذاری برای یک نوع سند خاص","description":"دریافت تنظیمات شماره‌گذاری برای یک نوع سند خاص","operationId":"get_document_numbering_setting_api_v1_businesses__business_id__document_numbering_settings__document_type__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب و کار","title":"Business Id"},"description":"شناسه کسب و کار"},{"name":"document_type","in":"path","required":true,"schema":{"type":"string","description":"نوع سند","title":"Document Type"},"description":"نوع سند"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Document Numbering Setting Api V1 Businesses  Business Id  Document Numbering Settings  Document Type  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["document-numbering"],"summary":"حذف تنظیمات شماره‌گذاری (بازگشت به پیش‌فرض)","description":"حذف تنظیمات شماره‌گذاری (بازگشت به پیش‌فرض)","operationId":"delete_document_numbering_setting_api_v1_businesses__business_id__document_numbering_settings__document_type__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب و کار","title":"Business Id"},"description":"شناسه کسب و کار"},{"name":"document_type","in":"path","required":true,"schema":{"type":"string","description":"نوع سند","title":"Document Type"},"description":"نوع سند"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Document Numbering Setting Api V1 Businesses  Business Id  Document Numbering Settings  Document Type  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/plugins":{"get":{"tags":["یکپارچه‌سازی"],"summary":"لیست افزونه‌ها و پلن‌ها","operationId":"list_plugins_endpoint_api_v1_marketplace_plugins_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Plugins Endpoint Api V1 Marketplace Plugins Get"}}}}}}},"/api/v1/marketplace/business/{business_id}/purchase":{"post":{"tags":["یکپارچه‌سازی"],"summary":"خرید افزونه برای کسب‌وکار (پرداخت از کیف‌پول در صورت کفایت)","operationId":"purchase_plugin_endpoint_api_v1_marketplace_business__business_id__purchase_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Purchase Plugin Endpoint Api V1 Marketplace Business  Business Id  Purchase Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/business/{business_id}/orders":{"get":{"tags":["یکپارچه‌سازی"],"summary":"لیست سفارش‌های بازار افزونه برای کسب‌وکار","operationId":"list_orders_endpoint_api_v1_marketplace_business__business_id__orders_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Orders Endpoint Api V1 Marketplace Business  Business Id  Orders Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/business/{business_id}/invoices":{"get":{"tags":["یکپارچه‌سازی"],"summary":"لیست صورتحساب‌های بازار افزونه برای کسب‌وکار","operationId":"list_invoices_endpoint_api_v1_marketplace_business__business_id__invoices_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Invoices Endpoint Api V1 Marketplace Business  Business Id  Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/business/{business_id}/plugins":{"get":{"tags":["یکپارچه‌سازی"],"summary":"لیست افزونه‌های فعال کسب‌وکار","description":"دریافت لیست تمام افزونه‌های فعال و غیرفعال کسب‌وکار","operationId":"list_business_plugins_endpoint_api_v1_marketplace_business__business_id__plugins_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Plugins Endpoint Api V1 Marketplace Business  Business Id  Plugins Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/business/{business_id}/plugins/{plugin_id}/status":{"get":{"tags":["یکپارچه‌سازی"],"summary":"وضعیت افزونه برای کسب‌وکار","description":"بررسی وضعیت یک افزونه خاص برای کسب‌وکار","operationId":"get_business_plugin_status_endpoint_api_v1_marketplace_business__business_id__plugins__plugin_id__status_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"integer","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Business Plugin Status Endpoint Api V1 Marketplace Business  Business Id  Plugins  Plugin Id  Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/business/{business_id}/plugins/{plugin_id}/start-trial":{"post":{"tags":["یکپارچه‌سازی"],"summary":"شروع دوره trial برای افزونه","description":"شروع دوره تست رایگان برای یک افزونه (هر کسب‌وکار فقط یکبار می‌تواند از trial استفاده کند)","operationId":"start_trial_plugin_endpoint_api_v1_marketplace_business__business_id__plugins__plugin_id__start_trial_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"plugin_id","in":"path","required":true,"schema":{"type":"integer","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Trial Plugin Endpoint Api V1 Marketplace Business  Business Id  Plugins  Plugin Id  Start Trial Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/settings":{"get":{"tags":["warranty"],"summary":"دریافت تنظیمات گارانتی","operationId":"get_settings_endpoint_api_v1_warranty_business__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Settings Endpoint Api V1 Warranty Business  Business Id  Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["warranty"],"summary":"به‌روزرسانی تنظیمات گارانتی","operationId":"update_settings_endpoint_api_v1_warranty_business__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Settings Endpoint Api V1 Warranty Business  Business Id  Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/generate":{"post":{"tags":["warranty"],"summary":"تولید انبوه کدهای گارانتی","operationId":"generate_codes_endpoint_api_v1_warranty_business__business_id__generate_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Generate Codes Endpoint Api V1 Warranty Business  Business Id  Generate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/codes":{"get":{"tags":["warranty"],"summary":"لیست کدهای گارانتی","operationId":"list_codes_endpoint_api_v1_warranty_business__business_id__codes_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"product_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Codes Endpoint Api V1 Warranty Business  Business Id  Codes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/codes/person/{person_id}":{"get":{"tags":["warranty"],"summary":"لیست کدهای گارانتی یک Person","operationId":"list_codes_by_person_endpoint_api_v1_warranty_business__business_id__codes_person__person_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Codes By Person Endpoint Api V1 Warranty Business  Business Id  Codes Person  Person Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/public/activate/{business_id}":{"post":{"tags":["warranty"],"summary":"فعال‌سازی گارانتی (عمومی - بدون نیاز به احراز هویت)","operationId":"activate_public_endpoint_api_v1_warranty_public_activate__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"x-forwarded-for","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Forwarded-For"}},{"name":"user-agent","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User-Agent"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Activate Public Endpoint Api V1 Warranty Public Activate  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/public/track/{code_or_serial}":{"get":{"tags":["warranty"],"summary":"رهگیری گارانتی (عمومی)","operationId":"track_public_endpoint_api_v1_warranty_public_track__code_or_serial__get","parameters":[{"name":"code_or_serial","in":"path","required":true,"schema":{"type":"string","title":"Code Or Serial"}},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Track Public Endpoint Api V1 Warranty Public Track  Code Or Serial  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/public/track/link/{link_code}":{"get":{"tags":["warranty"],"summary":"رهگیری گارانتی از طریق لینک یکتا","operationId":"track_by_link_endpoint_api_v1_warranty_public_track_link__link_code__get","parameters":[{"name":"link_code","in":"path","required":true,"schema":{"type":"string","title":"Link Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Track By Link Endpoint Api V1 Warranty Public Track Link  Link Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/public/business/{business_id}/info":{"get":{"tags":["warranty"],"summary":"دریافت اطلاعات عمومی کسب و کار برای صفحه فعال‌سازی","operationId":"get_business_public_info_endpoint_api_v1_warranty_public_business__business_id__info_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Business Public Info Endpoint Api V1 Warranty Public Business  Business Id  Info Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/public/check/{business_id}/{code}":{"get":{"tags":["warranty"],"summary":"بررسی وضعیت کد گارانتی (عمومی)","operationId":"check_warranty_endpoint_api_v1_warranty_public_check__business_id___code__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Check Warranty Endpoint Api V1 Warranty Public Check  Business Id   Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/codes/{code_id}":{"delete":{"tags":["warranty"],"summary":"حذف یک کد گارانتی","description":"حذف یک کد گارانتی به صورت ایمن\n\nArgs:\n    business_id: شناسه کسب و کار\n    code_id: شناسه کد گارانتی\n    force: حذف اجباری حتی اگر کد فعال شده باشد (پیش‌فرض: False)","operationId":"delete_code_endpoint_api_v1_warranty_business__business_id__codes__code_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"code_id","in":"path","required":true,"schema":{"type":"integer","title":"Code Id"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Code Endpoint Api V1 Warranty Business  Business Id  Codes  Code Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/warranty/business/{business_id}/codes/bulk-delete":{"post":{"tags":["warranty"],"summary":"حذف گروهی کدهای گارانتی","description":"حذف گروهی کدهای گارانتی به صورت ایمن\n\nArgs:\n    business_id: شناسه کسب و کار\n    payload: شامل code_ids (لیست شناسه‌های کدها) و force (حذف اجباری)","operationId":"delete_codes_bulk_endpoint_api_v1_warranty_business__business_id__codes_bulk_delete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Codes Bulk Endpoint Api V1 Warranty Business  Business Id  Codes Bulk Delete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/settings":{"get":{"tags":["customer-club"],"summary":"Get Settings Endpoint","operationId":"get_settings_endpoint_api_v1_customer_club_business__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Settings Endpoint Api V1 Customer Club Business  Business Id  Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["customer-club"],"summary":"Update Settings Endpoint","operationId":"update_settings_endpoint_api_v1_customer_club_business__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Settings Endpoint Api V1 Customer Club Business  Business Id  Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/persons/{person_id}/balance":{"get":{"tags":["customer-club"],"summary":"Get Balance Endpoint","operationId":"get_balance_endpoint_api_v1_customer_club_business__business_id__persons__person_id__balance_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"person_id","in":"path","required":true,"schema":{"type":"integer","title":"Person Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Balance Endpoint Api V1 Customer Club Business  Business Id  Persons  Person Id  Balance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/ledger":{"get":{"tags":["customer-club"],"summary":"List Ledger Endpoint","operationId":"list_ledger_endpoint_api_v1_customer_club_business__business_id__ledger_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Ledger Endpoint Api V1 Customer Club Business  Business Id  Ledger Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/adjustments":{"post":{"tags":["customer-club"],"summary":"Adjustment Endpoint","operationId":"adjustment_endpoint_api_v1_customer_club_business__business_id__adjustments_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Adjustment Endpoint Api V1 Customer Club Business  Business Id  Adjustments Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/tiers":{"get":{"tags":["customer-club"],"summary":"List Tiers Endpoint","operationId":"list_tiers_endpoint_api_v1_customer_club_business__business_id__tiers_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Tiers Endpoint Api V1 Customer Club Business  Business Id  Tiers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["customer-club"],"summary":"Replace Tiers Endpoint","operationId":"replace_tiers_endpoint_api_v1_customer_club_business__business_id__tiers_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Replace Tiers Endpoint Api V1 Customer Club Business  Business Id  Tiers Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/analytics/rfm/summary":{"get":{"tags":["customer-club"],"summary":"Rfm Summary Endpoint","operationId":"rfm_summary_endpoint_api_v1_customer_club_business__business_id__analytics_rfm_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rfm Summary Endpoint Api V1 Customer Club Business  Business Id  Analytics Rfm Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/analytics/rfm/person-ids":{"get":{"tags":["customer-club"],"summary":"Rfm Person Ids Endpoint","operationId":"rfm_person_ids_endpoint_api_v1_customer_club_business__business_id__analytics_rfm_person_ids_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"segment_label","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Label"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search in person name/code","title":"Q"},"description":"Search in person name/code"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10000,"minimum":1,"default":5000,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rfm Person Ids Endpoint Api V1 Customer Club Business  Business Id  Analytics Rfm Person Ids Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/analytics/rfm/persons":{"get":{"tags":["customer-club"],"summary":"Rfm Persons Endpoint","operationId":"rfm_persons_endpoint_api_v1_customer_club_business__business_id__analytics_rfm_persons_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"segment_label","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Label"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search in person name/code","title":"Q"},"description":"Search in person name/code"},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"monetary_total","title":"Sort"}},{"name":"sort_dir","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Sort Dir"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rfm Persons Endpoint Api V1 Customer Club Business  Business Id  Analytics Rfm Persons Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/customer-club/business/{business_id}/analytics/rfm/recalculate":{"post":{"tags":["customer-club"],"summary":"Rfm Recalculate Endpoint","operationId":"rfm_recalculate_endpoint_api_v1_customer_club_business__business_id__analytics_rfm_recalculate_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rfm Recalculate Endpoint Api V1 Customer Club Business  Business Id  Analytics Rfm Recalculate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/summary":{"get":{"tags":["distribution"],"summary":"Get Summary","operationId":"get_summary_api_v1_distribution_business__business_id__summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Summary Api V1 Distribution Business  Business Id  Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/territories":{"get":{"tags":["distribution"],"summary":"List Territories","operationId":"list_territories_api_v1_distribution_business__business_id__territories_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Territories Api V1 Distribution Business  Business Id  Territories Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["distribution"],"summary":"Create Territory","operationId":"create_territory_api_v1_distribution_business__business_id__territories_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Territory Api V1 Distribution Business  Business Id  Territories Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/territories/{territory_id}":{"put":{"tags":["distribution"],"summary":"Update Territory","operationId":"update_territory_api_v1_distribution_business__business_id__territories__territory_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Territory Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Territory Api V1 Distribution Business  Business Id  Territories  Territory Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["distribution"],"summary":"Delete Territory","operationId":"delete_territory_api_v1_distribution_business__business_id__territories__territory_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"territory_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Territory Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Territory Api V1 Distribution Business  Business Id  Territories  Territory Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/routes":{"get":{"tags":["distribution"],"summary":"List Routes","operationId":"list_routes_api_v1_distribution_business__business_id__routes_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Routes Api V1 Distribution Business  Business Id  Routes Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["distribution"],"summary":"Create Route","operationId":"create_route_api_v1_distribution_business__business_id__routes_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Route Api V1 Distribution Business  Business Id  Routes Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/routes/{route_id}":{"put":{"tags":["distribution"],"summary":"Update Route","operationId":"update_route_api_v1_distribution_business__business_id__routes__route_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"route_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Route Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Route Api V1 Distribution Business  Business Id  Routes  Route Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/routes/{route_id}/stops":{"get":{"tags":["distribution"],"summary":"List Stops","operationId":"list_stops_api_v1_distribution_business__business_id__routes__route_id__stops_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"route_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Route Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Stops Api V1 Distribution Business  Business Id  Routes  Route Id  Stops Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["distribution"],"summary":"Upsert Stop","operationId":"upsert_stop_api_v1_distribution_business__business_id__routes__route_id__stops_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"route_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Route Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Upsert Stop Api V1 Distribution Business  Business Id  Routes  Route Id  Stops Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/routes/{route_id}/stops/{stop_id}":{"delete":{"tags":["distribution"],"summary":"Delete Stop","operationId":"delete_stop_api_v1_distribution_business__business_id__routes__route_id__stops__stop_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"route_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Route Id"}},{"name":"stop_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Stop Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Stop Api V1 Distribution Business  Business Id  Routes  Route Id  Stops  Stop Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/assignments":{"get":{"tags":["distribution"],"summary":"List Assignments","operationId":"list_assignments_api_v1_distribution_business__business_id__assignments_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"route_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Route Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Assignments Api V1 Distribution Business  Business Id  Assignments Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["distribution"],"summary":"Create Assignment","operationId":"create_assignment_api_v1_distribution_business__business_id__assignments_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Assignment Api V1 Distribution Business  Business Id  Assignments Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/assignments/{assignment_id}":{"delete":{"tags":["distribution"],"summary":"Delete Assignment","operationId":"delete_assignment_api_v1_distribution_business__business_id__assignments__assignment_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"assignment_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Assignment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Assignment Api V1 Distribution Business  Business Id  Assignments  Assignment Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/daily-plan":{"get":{"tags":["distribution"],"summary":"Daily Plan","operationId":"daily_plan_api_v1_distribution_business__business_id__daily_plan_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"plan_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Plan Date"},"description":"YYYY-MM-DD"},{"name":"target_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"برای سرپرست — ویزیتور دیگر","title":"Target User Id"},"description":"برای سرپرست — ویزیتور دیگر"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Daily Plan Api V1 Distribution Business  Business Id  Daily Plan Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/visits/start":{"post":{"tags":["distribution"],"summary":"Start Visit","operationId":"start_visit_api_v1_distribution_business__business_id__visits_start_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Start Visit Api V1 Distribution Business  Business Id  Visits Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/visits/{visit_id}/complete":{"post":{"tags":["distribution"],"summary":"Complete Visit","operationId":"complete_visit_api_v1_distribution_business__business_id__visits__visit_id__complete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"visit_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Visit Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Complete Visit Api V1 Distribution Business  Business Id  Visits  Visit Id  Complete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/visits/{visit_id}/cancel":{"post":{"tags":["distribution"],"summary":"Cancel Visit","operationId":"cancel_visit_api_v1_distribution_business__business_id__visits__visit_id__cancel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"visit_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Visit Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Visit Api V1 Distribution Business  Business Id  Visits  Visit Id  Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/visits":{"get":{"tags":["distribution"],"summary":"List Visits","operationId":"list_visits_api_v1_distribution_business__business_id__visits_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Visits Api V1 Distribution Business  Business Id  Visits Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/return-requests":{"post":{"tags":["distribution"],"summary":"Create Return","operationId":"create_return_api_v1_distribution_business__business_id__return_requests_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Return Api V1 Distribution Business  Business Id  Return Requests Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["distribution"],"summary":"List Returns","operationId":"list_returns_api_v1_distribution_business__business_id__return_requests_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Returns Api V1 Distribution Business  Business Id  Return Requests Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/return-requests/{request_id}/resolve":{"post":{"tags":["distribution"],"summary":"Resolve Return","operationId":"resolve_return_api_v1_distribution_business__business_id__return_requests__request_id__resolve_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"request_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Request Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resolve Return Api V1 Distribution Business  Business Id  Return Requests  Request Id  Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/settings":{"get":{"tags":["distribution"],"summary":"Get Distribution Settings","operationId":"get_distribution_settings_api_v1_distribution_business__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Distribution Settings Api V1 Distribution Business  Business Id  Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["distribution"],"summary":"Put Distribution Settings","operationId":"put_distribution_settings_api_v1_distribution_business__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Put Distribution Settings Api V1 Distribution Business  Business Id  Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/distribution/business/{business_id}/reports/dashboard":{"get":{"tags":["distribution"],"summary":"Distribution Reports Dashboard","operationId":"distribution_reports_dashboard_api_v1_distribution_business__business_id__reports_dashboard_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"from_date","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM-DD","title":"From Date"},"description":"YYYY-MM-DD"},{"name":"to_date","in":"query","required":true,"schema":{"type":"string","description":"YYYY-MM-DD","title":"To Date"},"description":"YYYY-MM-DD"},{"name":"target_user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Target User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Distribution Reports Dashboard Api V1 Distribution Business  Business Id  Reports Dashboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/plugin-status":{"get":{"tags":["Repair Shop"],"summary":"Get Plugin Status","description":"دریافت وضعیت افزونه برای کسب‌وکار","operationId":"get_plugin_status_api_v1_repair_shop_businesses__business_id__plugin_status_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/settings":{"get":{"tags":["Repair Shop"],"summary":"Get Settings","description":"دریافت تنظیمات تعمیرگاه","operationId":"get_settings_api_v1_repair_shop_businesses__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Repair Shop"],"summary":"Update Settings","description":"به‌روزرسانی تنظیمات تعمیرگاه","operationId":"update_settings_api_v1_repair_shop_businesses__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairShopSettingsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/technicians":{"get":{"tags":["Repair Shop"],"summary":"List Technicians","description":"لیست تعمیرکاران","operationId":"list_technicians_api_v1_repair_shop_businesses__business_id__technicians_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"only_active","in":"query","required":false,"schema":{"type":"boolean","description":"فقط تعمیرکاران فعال","default":true,"title":"Only Active"},"description":"فقط تعمیرکاران فعال"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"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":["Repair Shop"],"summary":"Create Technician","description":"ایجاد تعمیرکار جدید","operationId":"create_technician_api_v1_repair_shop_businesses__business_id__technicians_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairTechnicianCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/technicians/{technician_id}":{"get":{"tags":["Repair Shop"],"summary":"Get Technician","description":"دریافت اطلاعات یک تعمیرکار","operationId":"get_technician_api_v1_repair_shop_businesses__business_id__technicians__technician_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"technician_id","in":"path","required":true,"schema":{"type":"integer","title":"Technician Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Repair Shop"],"summary":"Update Technician","description":"به‌روزرسانی تعمیرکار","operationId":"update_technician_api_v1_repair_shop_businesses__business_id__technicians__technician_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"technician_id","in":"path","required":true,"schema":{"type":"integer","title":"Technician Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairTechnicianUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Repair Shop"],"summary":"Delete Technician","description":"حذف (غیرفعال کردن) تعمیرکار","operationId":"delete_technician_api_v1_repair_shop_businesses__business_id__technicians__technician_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"technician_id","in":"path","required":true,"schema":{"type":"integer","title":"Technician Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders":{"get":{"tags":["Repair Shop"],"summary":"List Repair Orders","description":"لیست سفارشات تعمیر","operationId":"list_repair_orders_api_v1_repair_shop_businesses__business_id__orders_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"customer_person_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Person Id"}},{"name":"assigned_technician_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned Technician Id"}},{"name":"warranty_code_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warranty Code Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"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"}}}}}},"post":{"tags":["Repair Shop"],"summary":"Create Repair Order","description":"ایجاد سفارش تعمیر جدید","operationId":"create_repair_order_api_v1_repair_shop_businesses__business_id__orders_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairOrderCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}":{"get":{"tags":["Repair Shop"],"summary":"Get Repair Order","description":"دریافت اطلاعات کامل یک سفارش تعمیر","operationId":"get_repair_order_api_v1_repair_shop_businesses__business_id__orders__order_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Repair Shop"],"summary":"Update Repair Order","description":"به‌روزرسانی سفارش تعمیر","operationId":"update_repair_order_api_v1_repair_shop_businesses__business_id__orders__order_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RepairOrderUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Repair Shop"],"summary":"Delete Repair Order","description":"حذف (لغو) سفارش تعمیر","operationId":"delete_repair_order_api_v1_repair_shop_businesses__business_id__orders__order_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/assign-technician":{"post":{"tags":["Repair Shop"],"summary":"Assign Technician","description":"اختصاص تعمیرکار به سفارش","operationId":"assign_technician_api_v1_repair_shop_businesses__business_id__orders__order_id__assign_technician_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignTechnicianRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/update-status":{"post":{"tags":["Repair Shop"],"summary":"Update Status","description":"تغییر وضعیت سفارش","operationId":"update_status_api_v1_repair_shop_businesses__business_id__orders__order_id__update_status_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schema_models__repair_shop__UpdateStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/add-parts":{"post":{"tags":["Repair Shop"],"summary":"Add Parts","description":"افزودن قطعات به سفارش","operationId":"add_parts_api_v1_repair_shop_businesses__business_id__orders__order_id__add_parts_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddPartsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/calculate-costs":{"post":{"tags":["Repair Shop"],"summary":"Calculate Costs","description":"محاسبه هزینه‌های نهایی","operationId":"calculate_costs_api_v1_repair_shop_businesses__business_id__orders__order_id__calculate_costs_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculateCostsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/complete":{"post":{"tags":["Repair Shop"],"summary":"Complete Repair","description":"اتمام تعمیر","operationId":"complete_repair_api_v1_repair_shop_businesses__business_id__orders__order_id__complete_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteRepairRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/deliver":{"post":{"tags":["Repair Shop"],"summary":"Deliver Repair","description":"تحویل کالا به مشتری","operationId":"deliver_repair_api_v1_repair_shop_businesses__business_id__orders__order_id__deliver_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliverRepairRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/create-invoice":{"post":{"tags":["Repair Shop"],"summary":"Create Repair Invoice","description":"صدور فاکتور تعمیر و ثبت اسناد حسابداری","operationId":"create_repair_invoice_api_v1_repair_shop_businesses__business_id__orders__order_id__create_invoice_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/orders/{order_id}/accounting-summary":{"get":{"tags":["Repair Shop"],"summary":"Get Accounting Summary","description":"دریافت خلاصه حسابداری سفارش تعمیر","operationId":"get_accounting_summary_api_v1_repair_shop_businesses__business_id__orders__order_id__accounting_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/repair-shop/businesses/{business_id}/warranty/{warranty_code_id}/history":{"get":{"tags":["Repair Shop"],"summary":"Get Warranty Repair History","description":"تاریخچه تعمیرات براساس کد گارانتی","operationId":"get_warranty_repair_history_api_v1_repair_shop_businesses__business_id__warranty__warranty_code_id__history_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"warranty_code_id","in":"path","required":true,"schema":{"type":"integer","title":"Warranty Code Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/event-types":{"get":{"tags":["Business Notifications"],"summary":"List Event Types","description":"لیست انواع رویدادهای قابل استفاده\n\nهر کسب‌وکار می‌تواند برای این رویدادها قالب تعریف کند","operationId":"list_event_types_api_v1_business_notifications_event_types_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/templates":{"get":{"tags":["Business Notifications"],"summary":"List Templates","description":"لیست قالب‌های یک کسب‌وکار","operationId":"list_templates_api_v1_business_notifications_businesses__business_id__templates_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط قالب‌های فعال یا غیرفعال","title":"Is Active"},"description":"فقط قالب‌های فعال یا غیرفعال"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"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"}}}}}},"post":{"tags":["Business Notifications"],"summary":"Create Template","description":"ایجاد قالب جدید\n\nقالب با وضعیت 'draft' ایجاد می‌شود و باید برای تایید ارسال شود","operationId":"create_template_api_v1_business_notifications_businesses__business_id__templates_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/templates/{template_id}":{"get":{"tags":["Business Notifications"],"summary":"Get Template","description":"دریافت جزئیات یک قالب","operationId":"get_template_api_v1_business_notifications_businesses__business_id__templates__template_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Business Notifications"],"summary":"Update Template","description":"به‌روزرسانی قالب","operationId":"update_template_api_v1_business_notifications_businesses__business_id__templates__template_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/templates/{template_id}/sms-cost-estimate":{"get":{"tags":["Business Notifications"],"summary":"Sms Cost Estimate","description":"برآورد هزینه پیامک برای ورک‌فلو / UI (بر اساس متن خام قالب و قیمت‌گذاری سیستم).","operationId":"sms_cost_estimate_api_v1_business_notifications_businesses__business_id__templates__template_id__sms_cost_estimate_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/templates/{template_id}/submit-for-approval":{"post":{"tags":["Business Notifications"],"summary":"Submit For Approval","description":"ارسال قالب برای تایید\n\nقالب وارد صف بررسی می‌شود و ابتدا توسط AI بررسی می‌شود","operationId":"submit_for_approval_api_v1_business_notifications_businesses__business_id__templates__template_id__submit_for_approval_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/templates/{template_id}/preview":{"post":{"tags":["Business Notifications"],"summary":"Preview Template","description":"پیش‌نمایش قالب با context نمونه","operationId":"preview_template_api_v1_business_notifications_businesses__business_id__templates__template_id__preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/send":{"post":{"tags":["Business Notifications"],"summary":"Send Notification","description":"ارسال نوتیفیکیشن به یک Person\n\nاز قالب فعال مرتبط با event_type استفاده می‌کند","operationId":"send_notification_api_v1_business_notifications_businesses__business_id__send_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendNotificationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business-notifications/businesses/{business_id}/logs":{"get":{"tags":["Business Notifications"],"summary":"List Send Logs","description":"لیست لاگ‌های ارسال","operationId":"list_send_logs_api_v1_business_notifications_businesses__business_id__logs_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"template_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"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/ping-pong/scores":{"post":{"tags":["ping-pong"],"summary":"ذخیره امتیاز بازی پینگ‌پنگ","description":"ذخیره امتیاز و اطلاعات بازی پینگ‌پنگ کاربر","operationId":"save_score_api_v1_ping_pong_scores_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveScoreRequest"}}},"required":true},"responses":{"200":{"description":"امتیاز با موفقیت ذخیره شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"message":"امتیاز با موفقیت ذخیره شد","data":{"id":123,"user_id":45,"score":120,"survival_time":120,"hero_mode_uses":2,"difficulty_level":2.5,"played_at":"2024-01-15T10:30:00Z","created_at":"2024-01-15T10:30:00Z"}}}}},"400":{"description":"خطا در اعتبارسنجی داده‌ها"},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ping-pong/scores/best":{"get":{"tags":["ping-pong"],"summary":"دریافت بهترین امتیاز کاربر","description":"دریافت بهترین امتیاز کاربر جاری","operationId":"get_best_score_api_v1_ping_pong_scores_best_get","responses":{"200":{"description":"بهترین امتیاز با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":{"id":123,"user_id":45,"score":180,"survival_time":180,"hero_mode_uses":1,"difficulty_level":3.0,"played_at":"2024-01-10T15:20:00Z","created_at":"2024-01-10T15:20:00Z"}}}}},"404":{"description":"هیچ امتیازی یافت نشد"},"401":{"description":"کاربر احراز هویت نشده است"}}}},"/api/v1/ping-pong/scores/leaderboard":{"get":{"tags":["ping-pong"],"summary":"دریافت جدول رده‌بندی","description":"دریافت جدول رده‌بندی 10 نفر برتر","operationId":"get_leaderboard_api_v1_ping_pong_scores_leaderboard_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"تعداد نتایج","default":10,"title":"Limit"},"description":"تعداد نتایج"}],"responses":{"200":{"description":"جدول رده‌بندی با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":[{"user_id":10,"user_name":"علی احمدی","score":300,"survival_time":300,"played_at":"2024-01-15T12:00:00Z","rank":1}]}}}},"401":{"description":"کاربر احراز هویت نشده است"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ping-pong/scores/stats":{"get":{"tags":["ping-pong"],"summary":"دریافت آمار کاربر","description":"دریافت آمار کامل بازی‌های کاربر","operationId":"get_stats_api_v1_ping_pong_scores_stats_get","responses":{"200":{"description":"آمار با موفقیت دریافت شد","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"},"example":{"success":true,"data":{"total_games":25,"best_score":180,"best_survival_time":180,"average_score":95.5,"total_playtime":2387,"hero_mode_uses_total":45}}}}},"401":{"description":"کاربر احراز هویت نشده است"}}}},"/api/v1/integrations/telegram/link":{"post":{"tags":["integrations.telegram"],"summary":"ایجاد لینک اتصال تلگرام","operationId":"create_link_api_v1_integrations_telegram_link_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Link Api V1 Integrations Telegram Link Post"}}}}}}},"/api/v1/integrations/telegram/status":{"get":{"tags":["integrations.telegram"],"summary":"وضعیت اتصال تلگرام","operationId":"link_status_api_v1_integrations_telegram_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Link Status Api V1 Integrations Telegram Status Get"}}}}}}},"/api/v1/integrations/telegram/unlink":{"delete":{"tags":["integrations.telegram"],"summary":"قطع اتصال تلگرام","operationId":"unlink_api_v1_integrations_telegram_unlink_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Unlink Api V1 Integrations Telegram Unlink Delete"}}}}}}},"/api/v1/integrations/telegram/webhook/{secret}":{"post":{"tags":["integrations.telegram"],"summary":"وبهوک تلگرام","operationId":"telegram_webhook_api_v1_integrations_telegram_webhook__secret__post","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Telegram Webhook Api V1 Integrations Telegram Webhook  Secret  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/bale/link":{"post":{"tags":["integrations.bale"],"summary":"ایجاد لینک اتصال بله","operationId":"create_link_api_v1_integrations_bale_link_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Link Api V1 Integrations Bale Link Post"}}}}}}},"/api/v1/integrations/bale/status":{"get":{"tags":["integrations.bale"],"summary":"وضعیت اتصال بله","operationId":"link_status_api_v1_integrations_bale_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Link Status Api V1 Integrations Bale Status Get"}}}}}}},"/api/v1/integrations/bale/unlink":{"delete":{"tags":["integrations.bale"],"summary":"قطع اتصال بله","operationId":"unlink_api_v1_integrations_bale_unlink_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Unlink Api V1 Integrations Bale Unlink Delete"}}}}}}},"/api/v1/integrations/bale/webhook/{secret}":{"post":{"tags":["integrations.bale"],"summary":"وب‌هوک بله","operationId":"bale_webhook_api_v1_integrations_bale_webhook__secret__post","parameters":[{"name":"secret","in":"path","required":true,"schema":{"type":"string","title":"Secret"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Bale Webhook Api V1 Integrations Bale Webhook  Secret  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/observability/metrics-summary":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Observability Metrics Summary","description":"شمارندهٔ تجمیعی عملیات باسلام (Redis). نیازمند دسترسی مدیر سیستم یا سوپرادمین.","operationId":"basalam_observability_metrics_summary_api_v1_basalam_observability_metrics_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Basalam Observability Metrics Summary Api V1 Basalam Observability Metrics Summary Get"}}}}}}},"/api/v1/basalam/business/{business_id}/currency-readiness":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Basalam Currency Readiness","operationId":"get_basalam_currency_readiness_api_v1_basalam_business__business_id__currency_readiness_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Basalam Currency Readiness Api V1 Basalam Business  Business Id  Currency Readiness Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/reports/overview":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Reports Overview","operationId":"basalam_reports_overview_api_v1_basalam_business__business_id__reports_overview_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"chart_days","in":"query","required":false,"schema":{"type":"integer","maximum":366,"minimum":7,"default":90,"title":"Chart Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Basalam Reports Overview Api V1 Basalam Business  Business Id  Reports Overview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/reports/synced-invoices":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Reports Synced Invoices","operationId":"basalam_reports_synced_invoices_api_v1_basalam_business__business_id__reports_synced_invoices_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Take"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Basalam Reports Synced Invoices Api V1 Basalam Business  Business Id  Reports Synced Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/reports/dead-letter":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Reports Dead Letter","operationId":"basalam_reports_dead_letter_api_v1_basalam_business__business_id__reports_dead_letter_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"item_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"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":{"type":"object","additionalProperties":true,"title":"Response Basalam Reports Dead Letter Api V1 Basalam Business  Business Id  Reports Dead Letter Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/reports/product-conflicts":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Reports Product Conflicts","operationId":"basalam_reports_product_conflicts_api_v1_basalam_business__business_id__reports_product_conflicts_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conflict_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conflict Type"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","default":"created_at","title":"Sort By"}},{"name":"sort_dir","in":"query","required":false,"schema":{"type":"string","default":"desc","title":"Sort Dir"}},{"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":"object","additionalProperties":true,"title":"Response Basalam Reports Product Conflicts Api V1 Basalam Business  Business Id  Reports Product Conflicts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/settings":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Basalam Settings","operationId":"get_basalam_settings_api_v1_basalam_business__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Basalam Settings Api V1 Basalam Business  Business Id  Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["یکپارچه‌سازی"],"summary":"Put Basalam Settings","operationId":"put_basalam_settings_api_v1_basalam_business__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Put Basalam Settings Api V1 Basalam Business  Business Id  Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/orders":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Manual Sync Basalam Orders","operationId":"manual_sync_basalam_orders_api_v1_basalam_business__business_id__sync_orders_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Manual Sync Basalam Orders Api V1 Basalam Business  Business Id  Sync Orders Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Manual Sync Basalam Products","operationId":"manual_sync_basalam_products_api_v1_basalam_business__business_id__sync_products_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Manual Sync Basalam Products Api V1 Basalam Business  Business Id  Sync Products Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/publish":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Publish Basalam Products","operationId":"publish_basalam_products_api_v1_basalam_business__business_id__sync_products_publish_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Publish Basalam Products Api V1 Basalam Business  Business Id  Sync Products Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/pull":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Pull Basalam Products","operationId":"pull_basalam_products_api_v1_basalam_business__business_id__sync_products_pull_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pull Basalam Products Api V1 Basalam Business  Business Id  Sync Products Pull Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/push/incremental":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Push Basalam Products Incremental","operationId":"push_basalam_products_incremental_api_v1_basalam_business__business_id__sync_products_push_incremental_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Push Basalam Products Incremental Api V1 Basalam Business  Business Id  Sync Products Push Incremental Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/publish/retry":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Retry Basalam Products Publish","operationId":"retry_basalam_products_publish_api_v1_basalam_business__business_id__sync_products_publish_retry_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Basalam Products Publish Api V1 Basalam Business  Business Id  Sync Products Publish Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/conflicts":{"get":{"tags":["یکپارچه‌سازی"],"summary":"List Basalam Product Conflicts","operationId":"list_basalam_product_conflicts_api_v1_basalam_business__business_id__sync_products_conflicts_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conflict_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conflict Type"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"created_at","title":"Sort By"}},{"name":"sort_dir","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"desc","title":"Sort Dir"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":25,"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":"object","additionalProperties":true,"title":"Response List Basalam Product Conflicts Api V1 Basalam Business  Business Id  Sync Products Conflicts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["یکپارچه‌سازی"],"summary":"Clear Basalam Product Conflicts","operationId":"clear_basalam_product_conflicts_api_v1_basalam_business__business_id__sync_products_conflicts_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Clear Basalam Product Conflicts Api V1 Basalam Business  Business Id  Sync Products Conflicts Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/products/conflicts/resolve":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Resolve Basalam Product Conflicts","operationId":"resolve_basalam_product_conflicts_api_v1_basalam_business__business_id__sync_products_conflicts_resolve_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resolve Basalam Product Conflicts Api V1 Basalam Business  Business Id  Sync Products Conflicts Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/payments/unverified":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Sync Basalam Unverified Payments","operationId":"sync_basalam_unverified_payments_api_v1_basalam_business__business_id__sync_payments_unverified_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"default":{},"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync Basalam Unverified Payments Api V1 Basalam Business  Business Id  Sync Payments Unverified Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/dead-letter":{"get":{"tags":["یکپارچه‌سازی"],"summary":"List Basalam Sync Dead Letter","operationId":"list_basalam_sync_dead_letter_api_v1_basalam_business__business_id__sync_dead_letter_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"item_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Item Type"}},{"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":"object","additionalProperties":true,"title":"Response List Basalam Sync Dead Letter Api V1 Basalam Business  Business Id  Sync Dead Letter Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/dead-letter/clear":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Clear Basalam Sync Dead Letter","operationId":"clear_basalam_sync_dead_letter_api_v1_basalam_business__business_id__sync_dead_letter_clear_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Clear Basalam Sync Dead Letter Api V1 Basalam Business  Business Id  Sync Dead Letter Clear Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/sync/chats/inbound":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Sync Basalam Inbound Chats","operationId":"sync_basalam_inbound_chats_api_v1_basalam_business__business_id__sync_chats_inbound_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync Basalam Inbound Chats Api V1 Basalam Business  Business Id  Sync Chats Inbound Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/business/{business_id}/chats/{conversation_id}/reply":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Send Basalam Chat Reply","operationId":"send_basalam_chat_reply_api_v1_basalam_business__business_id__chats__conversation_id__reply_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Send Basalam Chat Reply Api V1 Basalam Business  Business Id  Chats  Conversation Id  Reply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/basalam/webhook/{business_id}":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Basalam Webhook","operationId":"basalam_webhook_api_v1_basalam_webhook__business_id__post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"x-basalam-signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Basalam-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Basalam Webhook Api V1 Basalam Webhook  Business Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/settings":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Settings","operationId":"get_woocommerce_settings_api_v1_woocommerce_business__business_id__settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Settings Api V1 Woocommerce Business  Business Id  Settings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["یکپارچه‌سازی"],"summary":"Put Woocommerce Settings","operationId":"put_woocommerce_settings_api_v1_woocommerce_business__business_id__settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Put Woocommerce Settings Api V1 Woocommerce Business  Business Id  Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/test":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Test","operationId":"post_woocommerce_bridge_test_api_v1_woocommerce_business__business_id__bridge_test_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Test Api V1 Woocommerce Business  Business Id  Bridge Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/orders":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Orders","operationId":"get_woocommerce_bridge_orders_api_v1_woocommerce_business__business_id__bridge_orders_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Per Page"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}},{"name":"customer_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Customer Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"orderby","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"date|modified|id","title":"Orderby"},"description":"date|modified|id"},{"name":"order","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ASC|DESC","title":"Order"},"description":"ASC|DESC"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Orders Api V1 Woocommerce Business  Business Id  Bridge Orders Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/products":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Products","operationId":"get_woocommerce_bridge_products_api_v1_woocommerce_business__business_id__bridge_products_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Per Page"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Products Api V1 Woocommerce Business  Business Id  Bridge Products Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/reports/summary":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Reports Summary","operationId":"get_woocommerce_bridge_reports_summary_api_v1_woocommerce_business__business_id__bridge_reports_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"After"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Reports Summary Api V1 Woocommerce Business  Business Id  Bridge Reports Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/customers":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Customers","operationId":"get_woocommerce_bridge_customers_api_v1_woocommerce_business__business_id__bridge_customers_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Per Page"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Customers Api V1 Woocommerce Business  Business Id  Bridge Customers Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/sync-stats":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Sync Stats","operationId":"get_woocommerce_bridge_control_sync_stats_api_v1_woocommerce_business__business_id__bridge_control_sync_stats_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Sync Stats Api V1 Woocommerce Business  Business Id  Bridge Control Sync Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/settings-summary":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Settings Summary","operationId":"get_woocommerce_bridge_control_settings_summary_api_v1_woocommerce_business__business_id__bridge_control_settings_summary_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Settings Summary Api V1 Woocommerce Business  Business Id  Bridge Control Settings Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/logs":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Logs","operationId":"get_woocommerce_bridge_control_logs_api_v1_woocommerce_business__business_id__bridge_control_logs_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"per_page","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Per Page"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Logs Api V1 Woocommerce Business  Business Id  Bridge Control Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/connection":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Connection","operationId":"get_woocommerce_bridge_control_connection_api_v1_woocommerce_business__business_id__bridge_control_connection_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Connection Api V1 Woocommerce Business  Business Id  Bridge Control Connection Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/plugin":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Plugin","operationId":"get_woocommerce_bridge_control_plugin_api_v1_woocommerce_business__business_id__bridge_control_plugin_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Plugin Api V1 Woocommerce Business  Business Id  Bridge Control Plugin Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/sync/product":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Sync Product","operationId":"post_woocommerce_bridge_control_sync_product_api_v1_woocommerce_business__business_id__bridge_control_sync_product_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Sync Product Api V1 Woocommerce Business  Business Id  Bridge Control Sync Product Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/sync/orders":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Sync Orders","operationId":"post_woocommerce_bridge_control_sync_orders_api_v1_woocommerce_business__business_id__bridge_control_sync_orders_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Sync Orders Api V1 Woocommerce Business  Business Id  Bridge Control Sync Orders Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/sync/products":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Sync Products","operationId":"post_woocommerce_bridge_control_sync_products_api_v1_woocommerce_business__business_id__bridge_control_sync_products_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Sync Products Api V1 Woocommerce Business  Business Id  Bridge Control Sync Products Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/sync/customers":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Sync Customers","operationId":"post_woocommerce_bridge_control_sync_customers_api_v1_woocommerce_business__business_id__bridge_control_sync_customers_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Sync Customers Api V1 Woocommerce Business  Business Id  Bridge Control Sync Customers Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/queue/snapshot":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Queue Snapshot","operationId":"get_woocommerce_bridge_control_queue_snapshot_api_v1_woocommerce_business__business_id__bridge_control_queue_snapshot_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Queue Snapshot Api V1 Woocommerce Business  Business Id  Bridge Control Queue Snapshot Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/queue/process-once":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Queue Process Once","operationId":"post_woocommerce_bridge_control_queue_process_once_api_v1_woocommerce_business__business_id__bridge_control_queue_process_once_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Queue Process Once Api V1 Woocommerce Business  Business Id  Bridge Control Queue Process Once Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/plugin/update-check":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Plugin Update Check","operationId":"post_woocommerce_bridge_control_plugin_update_check_api_v1_woocommerce_business__business_id__bridge_control_plugin_update_check_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Plugin Update Check Api V1 Woocommerce Business  Business Id  Bridge Control Plugin Update Check Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/settings/patch":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Settings Patch","operationId":"post_woocommerce_bridge_control_settings_patch_api_v1_woocommerce_business__business_id__bridge_control_settings_patch_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Settings Patch Api V1 Woocommerce Business  Business Id  Bridge Control Settings Patch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/status":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Opening Inventory Status","operationId":"get_woocommerce_bridge_control_opening_inventory_status_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_status_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Opening Inventory Status Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/accounts":{"get":{"tags":["یکپارچه‌سازی"],"summary":"Get Woocommerce Bridge Control Opening Inventory Accounts","operationId":"get_woocommerce_bridge_control_opening_inventory_accounts_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_accounts_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Woocommerce Bridge Control Opening Inventory Accounts Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Accounts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/preview":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Opening Inventory Preview","operationId":"post_woocommerce_bridge_control_opening_inventory_preview_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_preview_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Opening Inventory Preview Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Preview Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/prepare":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Opening Inventory Prepare","operationId":"post_woocommerce_bridge_control_opening_inventory_prepare_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_prepare_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Opening Inventory Prepare Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Prepare Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/batch":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Opening Inventory Batch","operationId":"post_woocommerce_bridge_control_opening_inventory_batch_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_batch_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Opening Inventory Batch Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Batch Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/finalize":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Opening Inventory Finalize","operationId":"post_woocommerce_bridge_control_opening_inventory_finalize_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_finalize_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Opening Inventory Finalize Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Finalize Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/woocommerce/business/{business_id}/bridge/control/opening-inventory/cancel":{"post":{"tags":["یکپارچه‌سازی"],"summary":"Post Woocommerce Bridge Control Opening Inventory Cancel","operationId":"post_woocommerce_bridge_control_opening_inventory_cancel_api_v1_woocommerce_business__business_id__bridge_control_opening_inventory_cancel_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Woocommerce Bridge Control Opening Inventory Cancel Api V1 Woocommerce Business  Business Id  Bridge Control Opening Inventory Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/settings":{"get":{"tags":["اطلاع‌رسانی"],"summary":"دریافت تنظیمات نوتیفیکیشن کاربر","operationId":"get_settings_api_v1_notifications_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Settings Api V1 Notifications Settings Get"}}}}}},"put":{"tags":["اطلاع‌رسانی"],"summary":"به‌روزرسانی تنظیمات نوتیفیکیشن کاربر","operationId":"put_settings_api_v1_notifications_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Put Settings Api V1 Notifications Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/test":{"post":{"tags":["اطلاع‌رسانی"],"summary":"ارسال تست نوتیفیکیشن","operationId":"test_notification_api_v1_notifications_test_post","parameters":[{"name":"channel","in":"query","required":true,"schema":{"type":"string","pattern":"^(telegram|bale|email|sms|inapp)$","title":"Channel"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Notification Api V1 Notifications Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/history":{"post":{"tags":["اطلاع‌رسانی"],"summary":"دریافت تاریخچه ناتیفیکیشن‌های کاربر","description":"دریافت لیست ناتیفیکیشن‌های ارسال شده به کاربر با قابلیت فیلتر، جستجو، مرتب‌سازی و صفحه‌بندی\n\nپارامترهای QueryInfo:\n- sort_by: فیلد مرتب‌سازی (مثال: created_at, channel, event_key, status)\n- sort_desc: ترتیب نزولی (true/false)\n- take: تعداد رکورد در هر صفحه (پیش‌فرض: 10)\n- skip: تعداد رکورد صرف‌نظر شده (پیش‌فرض: 0)\n- search: عبارت جستجو (جستجو در event_key و payload)\n- search_fields: فیلدهای جستجو (اختیاری)\n- filters: آرایه فیلترها با ساختار:\n  [\n        {\n          \"property\": \"channel\",\n          \"operator\": \"=\",\n          \"value\": \"email\"\n        },\n        {\n          \"property\": \"event_key\",\n          \"operator\": \"=\",\n          \"value\": \"auth.otp_login\"\n        },\n        {\n          \"property\": \"status\",\n          \"operator\": \"=\",\n          \"value\": \"sent\"\n        }\n  ]","operationId":"get_notification_history_api_v1_notifications_history_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Notification History Api V1 Notifications History Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/backups":{"get":{"tags":["پشتیبان‌گیری"],"summary":"List Backups","description":"فهرست بکاپ‌های ثبت‌شده برای این کسب‌وکار.\nتوجه: از developer_data برای فیلتر بر اساس business_id استفاده می‌کنیم.","operationId":"list_backups_api_v1_businesses__business_id__backups_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["پشتیبان‌گیری"],"summary":"Create Backup","description":"ایجاد بکاپ پویا. به‌صورت پیش‌فرض غیرهمزمان اجرا می‌شود و job_id برمی‌گرداند.","operationId":"create_backup_api_v1_businesses__business_id__backups_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"async_mode","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Async Mode"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CreateBackupBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/backups/{backup_id}/download":{"get":{"tags":["پشتیبان‌گیری"],"summary":"Download Backup","description":"دانلود فایل بکاپ.","operationId":"download_backup_api_v1_businesses__business_id__backups__backup_id__download_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"backup_id","in":"path","required":true,"schema":{"type":"string","title":"Backup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/backups/{backup_id}":{"delete":{"tags":["پشتیبان‌گیری"],"summary":"Delete Backup","description":"حذف نرم فایل بکاپ.","operationId":"delete_backup_api_v1_businesses__business_id__backups__backup_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"backup_id","in":"path","required":true,"schema":{"type":"string","title":"Backup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/backups/restore":{"post":{"tags":["پشتیبان‌گیری"],"summary":"Restore Backup","description":"بازیابی داده‌ها از بکاپ.\n- mode == \"replace\": جایگزینی داده‌های مرتبط با business_id جاری\n- mode == \"new_business\": ایجاد کسب‌وکار جدید از بکاپ (ترتیب INSERT بر اساس FK)\n\nمی‌تواند به صورت JSON (با backup_id) یا form-data (با file) فراخوانی شود.","operationId":"restore_backup_api_v1_businesses__business_id__backups_restore_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"async_mode","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Async Mode"}}],"requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_restore_backup_api_v1_businesses__business_id__backups_restore_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/ftp-backup/settings":{"get":{"tags":["FTP بکاپ"],"summary":"Get Ftp Settings","operationId":"get_ftp_settings_api_v1_businesses__business_id__ftp_backup_settings_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["FTP بکاپ"],"summary":"Save Ftp Settings","operationId":"save_ftp_settings_api_v1_businesses__business_id__ftp_backup_settings_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpBackupSettingsSave"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["FTP بکاپ"],"summary":"Delete Ftp Settings","operationId":"delete_ftp_settings_api_v1_businesses__business_id__ftp_backup_settings_delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/ftp-backup/test":{"post":{"tags":["FTP بکاپ"],"summary":"Start Ftp Test Job","operationId":"start_ftp_test_job_api_v1_businesses__business_id__ftp_backup_test_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpConnectionTestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/ftp-backup/usage-scan":{"post":{"tags":["FTP بکاپ"],"summary":"Start Ftp Usage Job","operationId":"start_ftp_usage_job_api_v1_businesses__business_id__ftp_backup_usage_scan_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}/usage":{"get":{"tags":["business-storage"],"summary":"لیست وابستگی‌های فایل","description":"نمایش موجودیت‌هایی که از این فایل استفاده می‌کنند","operationId":"get_file_usage_endpoint_api_v1_business__business_id__storage_files__file_id__usage_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get File Usage Endpoint Api V1 Business  Business Id  Storage Files  File Id  Usage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/subscriptions":{"get":{"tags":["business-storage"],"summary":"لیست اشتراک‌های فعال","description":"دریافت تمام اشتراک‌های فعال کسب‌وکار","operationId":"list_subscriptions_endpoint_api_v1_business__business_id__storage_subscriptions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Subscriptions Endpoint Api V1 Business  Business Id  Storage Subscriptions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/subscribe":{"post":{"tags":["business-storage"],"summary":"اشتراک به یک پلن","description":"اشتراک کسب‌وکار به یک پلن ذخیره‌سازی","operationId":"subscribe_endpoint_api_v1_business__business_id__storage_subscribe_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Subscribe Endpoint Api V1 Business  Business Id  Storage Subscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/subscription/{subscription_id}/renew":{"put":{"tags":["business-storage"],"summary":"تمدید اشتراک","description":"تمدید اشتراک موجود","operationId":"renew_subscription_endpoint_api_v1_business__business_id__storage_subscription__subscription_id__renew_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"subscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Renew Subscription Endpoint Api V1 Business  Business Id  Storage Subscription  Subscription Id  Renew Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/subscription/{subscription_id}":{"delete":{"tags":["business-storage"],"summary":"لغو اشتراک","description":"لغو اشتراک موجود","operationId":"cancel_subscription_endpoint_api_v1_business__business_id__storage_subscription__subscription_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"subscription_id","in":"path","required":true,"schema":{"type":"integer","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Subscription Endpoint Api V1 Business  Business Id  Storage Subscription  Subscription Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/usage":{"get":{"tags":["business-storage"],"summary":"آمار استفاده","description":"دریافت آمار استفاده از ذخیره‌سازی","operationId":"get_usage_endpoint_api_v1_business__business_id__storage_usage_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Usage Endpoint Api V1 Business  Business Id  Storage Usage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/plans":{"get":{"tags":["business-storage"],"summary":"لیست پلن‌های قابل اشتراک","description":"دریافت لیست پلن‌های فعال برای اشتراک","operationId":"list_plans_endpoint_api_v1_business__business_id__storage_plans_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Plans Endpoint Api V1 Business  Business Id  Storage Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/invoices":{"get":{"tags":["business-storage"],"summary":"لیست صورتحساب‌ها","description":"دریافت لیست صورتحساب‌های ذخیره‌سازی","operationId":"list_invoices_endpoint_api_v1_business__business_id__storage_invoices_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"invoice_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Invoices Endpoint Api V1 Business  Business Id  Storage Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/invoices/{invoice_id}":{"get":{"tags":["business-storage"],"summary":"جزئیات صورتحساب","description":"دریافت جزئیات یک صورتحساب","operationId":"get_invoice_endpoint_api_v1_business__business_id__storage_invoices__invoice_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Invoice Endpoint Api V1 Business  Business Id  Storage Invoices  Invoice Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/invoices/{invoice_id}/pay":{"post":{"tags":["business-storage"],"summary":"پرداخت صورتحساب از کیف پول","description":"پرداخت صورتحساب ذخیره‌سازی از کیف پول","operationId":"pay_invoice_endpoint_api_v1_business__business_id__storage_invoices__invoice_id__pay_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pay Invoice Endpoint Api V1 Business  Business Id  Storage Invoices  Invoice Id  Pay Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/pay-over-usage":{"post":{"tags":["business-storage"],"summary":"پرداخت برای استفاده اضافی","description":"ایجاد و پرداخت صورتحساب برای استفاده اضافی از ذخیره‌سازی","operationId":"pay_over_usage_endpoint_api_v1_business__business_id__storage_pay_over_usage_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pay Over Usage Endpoint Api V1 Business  Business Id  Storage Pay Over Usage Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/export-zip":{"get":{"tags":["business-storage"],"summary":"دانلود ZIP تمام فایل‌ها","description":"دانلود تمام فایل‌های کسب‌وکار به صورت ZIP","operationId":"export_zip_endpoint_api_v1_business__business_id__storage_export_zip_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"module_context","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Module Context"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/export-info":{"get":{"tags":["business-storage"],"summary":"اطلاعات فایل‌های قابل دانلود","description":"دریافت اطلاعات فایل‌های قابل دانلود (بدون دانلود)","operationId":"get_export_info_endpoint_api_v1_business__business_id__storage_export_info_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"module_context","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Module Context"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Export Info Endpoint Api V1 Business  Business Id  Storage Export Info Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files":{"get":{"tags":["business-storage"],"summary":"لیست فایل‌های کسب‌وکار","description":"دریافت لیست فایل‌های آپلود شده برای کسب‌وکار","operationId":"list_files_endpoint_api_v1_business__business_id__storage_files_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"module_context","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Module Context"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"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":{"type":"object","additionalProperties":true,"title":"Response List Files Endpoint Api V1 Business  Business Id  Storage Files Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}/download":{"get":{"tags":["business-storage"],"summary":"دانلود فایل","description":"دانلود فایل الصاق شده به کسب‌وکار","operationId":"download_file_endpoint_api_v1_business__business_id__storage_files__file_id__download_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/upload":{"post":{"tags":["business-storage"],"summary":"آپلود فایل","description":"آپلود فایل برای کسب‌وکار و الصاق به سند یا بخش خاص","operationId":"upload_file_endpoint_api_v1_business__business_id__storage_files_upload_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_endpoint_api_v1_business__business_id__storage_files_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Upload File Endpoint Api V1 Business  Business Id  Storage Files Upload Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}/thumbnail":{"get":{"tags":["business-storage"],"summary":"دانلود thumbnail فایل تصویر","description":"دانلود نسخه کم‌حجم (thumbnail) برای فایل‌های تصویری الصاق شده به کسب‌وکار","operationId":"download_file_thumbnail_endpoint_api_v1_business__business_id__storage_files__file_id__thumbnail_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"size","in":"query","required":false,"schema":{"type":"string","description":"سایز thumbnail برای تصاویر (small یا medium). در صورت عدم پشتیبانی، نادیده گرفته می‌شود.","default":"small","title":"Size"},"description":"سایز thumbnail برای تصاویر (small یا medium). در صورت عدم پشتیبانی، نادیده گرفته می‌شود."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}/rename":{"put":{"tags":["business-storage"],"summary":"تغییر نام فایل","description":"تغییر نام فایل الصاق شده به کسب‌وکار","operationId":"rename_file_endpoint_api_v1_business__business_id__storage_files__file_id__rename_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_rename_file_endpoint_api_v1_business__business_id__storage_files__file_id__rename_put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Rename File Endpoint Api V1 Business  Business Id  Storage Files  File Id  Rename Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}":{"delete":{"tags":["business-storage"],"summary":"حذف فایل","description":"حذف فایل الصاق شده به کسب‌وکار","operationId":"delete_file_endpoint_api_v1_business__business_id__storage_files__file_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete File Endpoint Api V1 Business  Business Id  Storage Files  File Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/files/{file_id}/shares":{"post":{"tags":["business-storage"],"summary":"ایجاد لینک اشتراک برای فایل","operationId":"create_file_share_endpoint_api_v1_business__business_id__storage_files__file_id__shares_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create File Share Endpoint Api V1 Business  Business Id  Storage Files  File Id  Shares Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["business-storage"],"summary":"لیست لینک‌های اشتراک یک فایل","operationId":"list_file_shares_endpoint_api_v1_business__business_id__storage_files__file_id__shares_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List File Shares Endpoint Api V1 Business  Business Id  Storage Files  File Id  Shares Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/shares":{"get":{"tags":["business-storage"],"summary":"لیست همه لینک‌های اشتراک کسب‌وکار","operationId":"list_business_shares_endpoint_api_v1_business__business_id__storage_shares_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"only_active","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Shares Endpoint Api V1 Business  Business Id  Storage Shares Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/shares/{share_id}":{"delete":{"tags":["business-storage"],"summary":"لغو یک لینک اشتراک","operationId":"revoke_file_share_endpoint_api_v1_business__business_id__storage_shares__share_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"share_id","in":"path","required":true,"schema":{"type":"integer","title":"Share Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Revoke File Share Endpoint Api V1 Business  Business Id  Storage Shares  Share Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["business-storage"],"summary":"تغییر رمز یا انقضای لینک اشتراک","operationId":"patch_file_share_endpoint_api_v1_business__business_id__storage_shares__share_id__patch","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"share_id","in":"path","required":true,"schema":{"type":"integer","title":"Share Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Patch File Share Endpoint Api V1 Business  Business Id  Storage Shares  Share Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/storage/shares/revoke-all":{"post":{"tags":["business-storage"],"summary":"لغو همه لینک‌های اشتراک فعال کسب‌وکار","operationId":"revoke_all_file_shares_endpoint_api_v1_business__business_id__storage_shares_revoke_all_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Revoke All File Shares Endpoint Api V1 Business  Business Id  Storage Shares Revoke All Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/overview":{"get":{"tags":["business-document-monetization"],"summary":"نمای کلی سناریو","operationId":"document_monetization_overview_api_v1_business__business_id__document_monetization_overview_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Document Monetization Overview Api V1 Business  Business Id  Document Monetization Overview Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/plans":{"get":{"tags":["business-document-monetization"],"summary":"لیست پکیج‌ها و اشتراک فعال کسب‌وکار","operationId":"list_business_subscription_plans_api_v1_business__business_id__document_monetization_plans_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Subscription Plans Api V1 Business  Business Id  Document Monetization Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/subscriptions":{"post":{"tags":["business-document-monetization"],"summary":"فعال‌سازی پکیج توسط کسب‌وکار","operationId":"activate_business_subscription_api_v1_business__business_id__document_monetization_subscriptions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Activate Business Subscription Api V1 Business  Business Id  Document Monetization Subscriptions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/charges":{"get":{"tags":["business-document-monetization"],"summary":"لیست صورتحساب‌ها","operationId":"document_monetization_charges_api_v1_business__business_id__document_monetization_charges_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"charge_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Charge Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Document Monetization Charges Api V1 Business  Business Id  Document Monetization Charges Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/charges/table":{"post":{"tags":["business-document-monetization"],"summary":"لیست صورتحساب‌ها برای جدول (پگینیشن استاندارد)","description":"سازگار با DataTableWidget: ورودی QueryInfo و خروجی items/total/page/limit","operationId":"document_monetization_charges_table_api_v1_business__business_id__document_monetization_charges_table_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Document Monetization Charges Table Api V1 Business  Business Id  Document Monetization Charges Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/charges/{charge_id}/pay":{"post":{"tags":["business-document-monetization"],"summary":"پرداخت صورتحساب سناریو","operationId":"pay_document_monetization_charge_api_v1_business__business_id__document_monetization_charges__charge_id__pay_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"charge_id","in":"path","required":true,"schema":{"type":"integer","title":"Charge Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Pay Document Monetization Charge Api V1 Business  Business Id  Document Monetization Charges  Charge Id  Pay Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/documents/{document_id}/process":{"post":{"tags":["business-document-monetization"],"summary":"پردازش دستی سند برای سناریو","operationId":"process_document_usage_endpoint_api_v1_business__business_id__document_monetization_documents__document_id__process_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Process Document Usage Endpoint Api V1 Business  Business Id  Document Monetization Documents  Document Id  Process Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/finalize-volume":{"post":{"tags":["business-document-monetization"],"summary":"نهایی‌سازی دوره‌های حجمی","operationId":"finalize_volume_endpoint_api_v1_business__business_id__document_monetization_finalize_volume_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Finalize Volume Endpoint Api V1 Business  Business Id  Document Monetization Finalize Volume Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/business/{business_id}/document-monetization/validate":{"post":{"tags":["business-document-monetization"],"summary":"بررسی مجوز ثبت سند قبل از ذخیره","operationId":"validate_document_policy_endpoint_api_v1_business__business_id__document_monetization_validate_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Validate Document Policy Endpoint Api V1 Business  Business Id  Document Monetization Validate Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/jobs/{job_id}":{"get":{"tags":["jobs"],"summary":"Get Job Status","description":"دریافت وضعیت job","operationId":"get_job_status_api_v1_jobs__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["jobs"],"summary":"Cancel Job","description":"لغو یا حذف job","operationId":"cancel_job_api_v1_jobs__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","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/jobs/queue/stats":{"get":{"tags":["jobs"],"summary":"Get Queue Stats","description":"دریافت آمار queues","operationId":"get_queue_stats_api_v1_jobs_queue_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/jobs/failed":{"get":{"tags":["jobs"],"summary":"Get Failed Jobs","description":"دریافت لیست jobs ناموفق","operationId":"get_failed_jobs_api_v1_jobs_failed_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"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/jobs/reports":{"post":{"tags":["jobs"],"summary":"Enqueue Report Job","description":"ثبت یک job گزارش سنگین در صف Redis (QUEUE_REPORTS).\n\nBody:\n  - report_type: نوع گزارش (مثلاً general_ledger, trial_balance, pnl و ...)\n  - business_id: شناسه کسب‌وکار\n  - params: پارامترهای گزارش (اختیاری)","operationId":"enqueue_report_job_api_v1_jobs_reports_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"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/businesses/{business_id}/workflows/create":{"post":{"tags":["workflows"],"summary":"ایجاد workflow جدید","description":"ایجاد یک workflow جدید برای کسب‌وکار","operationId":"create_workflow_api_v1_businesses__business_id__workflows_create_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/list":{"post":{"tags":["workflows"],"summary":"لیست workflowها","description":"دریافت لیست workflowهای یک کسب‌وکار","operationId":"list_workflows_api_v1_businesses__business_id__workflows_list_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}":{"get":{"tags":["workflows"],"summary":"دریافت workflow","description":"دریافت اطلاعات یک workflow","operationId":"get_workflow_api_v1_businesses__business_id__workflows__workflow_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workflows"],"summary":"حذف workflow","description":"حذف یک workflow","operationId":"delete_workflow_api_v1_businesses__business_id__workflows__workflow_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/edit":{"put":{"tags":["workflows"],"summary":"به‌روزرسانی workflow","description":"به‌روزرسانی یک workflow","operationId":"update_workflow_api_v1_businesses__business_id__workflows__workflow_id__edit_put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/execute":{"post":{"tags":["workflows"],"summary":"اجرای workflow","description":"اجرای دستی. بدنه می‌تواند `dry_run: true` باشد (آزمایشی، بدون ارسال/ثبت واقعی).","operationId":"execute_workflow_api_v1_businesses__business_id__workflows__workflow_id__execute_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/executions":{"get":{"tags":["workflows"],"summary":"لیست اجراهای workflow","description":"دریافت لیست اجراهای یک workflow","operationId":"list_workflow_executions_api_v1_businesses__business_id__workflows__workflow_id__executions_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}},{"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":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/executions/{execution_id}":{"get":{"tags":["workflows"],"summary":"جزئیات یک اجرای workflow","description":"دریافت وضعیت یک اجرا (برای polling هنگام اجرای ناهمزمان)","operationId":"get_workflow_execution_api_v1_businesses__business_id__workflows__workflow_id__executions__execution_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"integer","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/executions/{execution_id}/logs":{"get":{"tags":["workflows"],"summary":"لاگ‌های اجرای workflow","description":"دریافت لاگ‌های یک اجرای workflow","operationId":"get_workflow_execution_logs_api_v1_businesses__business_id__workflows__workflow_id__executions__execution_id__logs_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"integer","title":"Execution Id"}},{"name":"after_log_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"فقط لاگ‌های با id بزرگ‌تر از این مقدار (polling افزایشی؛ ۰ یعنی از ابدا)","title":"After Log Id"},"description":"فقط لاگ‌های با id بزرگ‌تر از این مقدار (polling افزایشی؛ ۰ یعنی از ابدا)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/triggers":{"get":{"tags":["workflows"],"summary":"لیست triggerهای موجود","description":"دریافت لیست تمام triggerهای موجود","operationId":"list_triggers_api_v1_workflows_triggers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/workflows/actions":{"get":{"tags":["workflows"],"summary":"لیست actionهای موجود","description":"دریافت لیست تمام actionهای موجود","operationId":"list_actions_api_v1_workflows_actions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/businesses/{business_id}/workflows/analytics/errors":{"get":{"tags":["workflows"],"summary":"تحلیل خطاهای workflow","description":"دریافت آمار و تحلیل خطاهای workflow در بازه زمانی مشخص","operationId":"get_workflow_errors_analytics_api_v1_businesses__business_id__workflows_analytics_errors_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"description":"تعداد روزهای گذشته","default":7,"title":"Days"},"description":"تعداد روزهای گذشته"},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس workflow خاص","title":"Workflow Id"},"description":"فیلتر بر اساس workflow خاص"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/analytics/performance":{"get":{"tags":["workflows"],"summary":"تحلیل عملکرد workflows","description":"دریافت آمار عملکرد workflows شامل تعداد اجراها، نرخ موفقیت، و میانگین زمان اجرا","operationId":"get_workflow_performance_analytics_api_v1_businesses__business_id__workflows_analytics_performance_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس workflow خاص","title":"Workflow Id"},"description":"فیلتر بر اساس workflow خاص"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"تعداد روزهای گذشته","default":30,"title":"Days"},"description":"تعداد روزهای گذشته"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/{workflow_id}/executions/{execution_id}/timeline":{"get":{"tags":["workflows"],"summary":"Timeline اجرای workflow","description":"دریافت timeline دقیق اجرای workflow برای debugging","operationId":"get_execution_timeline_api_v1_businesses__business_id__workflows__workflow_id__executions__execution_id__timeline_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"workflow_id","in":"path","required":true,"schema":{"type":"integer","title":"Workflow Id"}},{"name":"execution_id","in":"path","required":true,"schema":{"type":"integer","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/metadata/triggers":{"get":{"tags":["workflows"],"summary":"دریافت metadata triggerها","description":"دریافت لیست triggerهای موجود با metadata","operationId":"get_triggers_metadata_api_v1_workflows_metadata_triggers_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","description":"زبان (fa/en)","default":"fa","title":"Lang"},"description":"زبان (fa/en)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/metadata/actions":{"get":{"tags":["workflows"],"summary":"دریافت metadata actionها","description":"دریافت لیست actionهای موجود با metadata","operationId":"get_actions_metadata_api_v1_workflows_metadata_actions_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","description":"زبان (fa/en)","default":"fa","title":"Lang"},"description":"زبان (fa/en)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/translations":{"get":{"tags":["workflows"],"summary":"دریافت تمام ترجمه‌های ورک‌فلو","description":"دریافت تمام رشته‌های ترجمه شده برای استفاده در UI","operationId":"get_workflow_translations_api_v1_workflows_translations_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","description":"زبان (fa/en)","default":"fa","title":"Lang"},"description":"زبان (fa/en)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/translations/export":{"get":{"tags":["workflows"],"summary":"صادرات ترجمه‌ها برای Flutter","description":"صادرات ترجمه‌های ورک‌فلو به فرمت مناسب برای فایل‌های arb","operationId":"export_workflow_translations_api_v1_workflows_translations_export_get","parameters":[{"name":"lang","in":"query","required":false,"schema":{"type":"string","description":"زبان (fa/en)","default":"fa","title":"Lang"},"description":"زبان (fa/en)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflow-hooks/{webhook_secret}":{"put":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"options":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["workflows"],"summary":"اجرای ورک‌فلو از طریق Webhook","description":"بدون احراز هویت کاربر؛ فقط با webhook_secret ذخیره‌شده در تنظیمات ورک‌فلو.","operationId":"workflow_webhook_inbound_api_v1_workflow_hooks__webhook_secret__put","parameters":[{"name":"webhook_secret","in":"path","required":true,"schema":{"type":"string","title":"Webhook Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/marketplace/packages":{"get":{"tags":["workflow-marketplace"],"summary":"لیست ورک‌فلوهای منتشرشده در مخزن","operationId":"marketplace_list_packages_api_v1_workflows_marketplace_packages_get","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Take"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace List Packages Api V1 Workflows Marketplace Packages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workflows/marketplace/packages/{package_id}":{"get":{"tags":["workflow-marketplace"],"summary":"جزئیات یک بسته (شامل گراف ورک‌فلو)","operationId":"marketplace_get_package_api_v1_workflows_marketplace_packages__package_id__get","parameters":[{"name":"package_id","in":"path","required":true,"schema":{"type":"integer","title":"Package Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace Get Package Api V1 Workflows Marketplace Packages  Package Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/my-packages":{"get":{"tags":["workflow-marketplace"],"summary":"بسته‌های منتشرشده توسط من در این کسب‌وکار","operationId":"marketplace_my_packages_api_v1_businesses__business_id__workflows_marketplace_my_packages_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Take"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace My Packages Api V1 Businesses  Business Id  Workflows Marketplace My Packages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/my-packages/{package_id}":{"get":{"tags":["workflow-marketplace"],"summary":"جزئیات بستهٔ منتشرشده توسط من (شامل گراف)","operationId":"marketplace_my_package_detail_api_v1_businesses__business_id__workflows_marketplace_my_packages__package_id__get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"package_id","in":"path","required":true,"schema":{"type":"integer","title":"Package Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace My Package Detail Api V1 Businesses  Business Id  Workflows Marketplace My Packages  Package Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/publish":{"post":{"tags":["workflow-marketplace"],"summary":"انتشار ورک‌فلو در مخزن","operationId":"marketplace_publish_api_v1_businesses__business_id__workflows_marketplace_publish_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace Publish Api V1 Businesses  Business Id  Workflows Marketplace Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/my-packages/{package_id}/unpublish":{"post":{"tags":["workflow-marketplace"],"summary":"خروج از انتشار در مخزن (مخفی برای دیگران، در فهرست من مانده)","operationId":"marketplace_unpublish_api_v1_businesses__business_id__workflows_marketplace_my_packages__package_id__unpublish_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"package_id","in":"path","required":true,"schema":{"type":"integer","title":"Package Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace Unpublish Api V1 Businesses  Business Id  Workflows Marketplace My Packages  Package Id  Unpublish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/my-packages/{package_id}/republish":{"post":{"tags":["workflow-marketplace"],"summary":"انتشار مجدد بسته مخفی در مخزن","operationId":"marketplace_republish_api_v1_businesses__business_id__workflows_marketplace_my_packages__package_id__republish_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"package_id","in":"path","required":true,"schema":{"type":"integer","title":"Package Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace Republish Api V1 Businesses  Business Id  Workflows Marketplace My Packages  Package Id  Republish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/workflows/marketplace/install":{"post":{"tags":["workflow-marketplace"],"summary":"افزودن ورک‌فلو از مخزن به این کسب‌وکار","operationId":"marketplace_install_api_v1_businesses__business_id__workflows_marketplace_install_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Marketplace Install Api V1 Businesses  Business Id  Workflows Marketplace Install Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/businesses/{business_id}/wallet/gateways":{"get":{"tags":["wallet"],"summary":"لیست درگاه‌های فعال برای کسب‌وکار","description":"اگر برای کسب‌وکار خاص درگاه‌هایی تنظیم شده باشد، همان‌ها را برمی‌گرداند؛ در غیر این صورت همه درگاه‌های فعال سیستم.","operationId":"list_business_gateways_api_v1_businesses__business_id__wallet_gateways_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Gateways Api V1 Businesses  Business Id  Wallet Gateways Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet/payments/callback/zarinpal":{"get":{"tags":["wallet-callbacks"],"summary":"بازگشت از زرین‌پال","operationId":"zarinpal_callback_api_v1_wallet_payments_callback_zarinpal_get","parameters":[{"name":"tx_id","in":"query","required":false,"schema":{"type":"integer","description":"شناسه تراکنش داخلی","default":0,"title":"Tx Id"},"description":"شناسه تراکنش داخلی"},{"name":"Authority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authority"}},{"name":"Status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"منبع درخواست (app/mobile_web/desktop)","title":"Source"},"description":"منبع درخواست (app/mobile_web/desktop)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet/payments/callback/parsian":{"get":{"tags":["wallet-callbacks"],"summary":"بازگشت از پارسیان","operationId":"parsian_callback_api_v1_wallet_payments_callback_parsian_get","parameters":[{"name":"tx_id","in":"query","required":false,"schema":{"type":"integer","description":"شناسه تراکنش داخلی","default":0,"title":"Tx Id"},"description":"شناسه تراکنش داخلی"},{"name":"Token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"منبع درخواست (app/mobile_web/desktop)","title":"Source"},"description":"منبع درخواست (app/mobile_web/desktop)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/wallet/payments/callback/bitpay":{"get":{"tags":["wallet-callbacks"],"summary":"بازگشت از بیت‌پی","operationId":"bitpay_callback_api_v1_wallet_payments_callback_bitpay_get","parameters":[{"name":"tx_id","in":"query","required":false,"schema":{"type":"integer","description":"شناسه تراکنش داخلی","default":0,"title":"Tx Id"},"description":"شناسه تراکنش داخلی"},{"name":"trans_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"شماره پیگیری تراکنش از بیت‌پی","title":"Trans Id"},"description":"شماره پیگیری تراکنش از بیت‌پی"},{"name":"id_get","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"شناسه پرداخت از بیت‌پی","title":"Id Get"},"description":"شناسه پرداخت از بیت‌پی"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"منبع درخواست (app/mobile_web/desktop)","title":"Source"},"description":"منبع درخواست (app/mobile_web/desktop)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/announcements":{"get":{"tags":["announcements"],"summary":"لیست اعلان‌های کاربر","operationId":"list_announcements_endpoint_api_v1_announcements_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"}},{"name":"only_unread","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Only Unread"}},{"name":"locale","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Announcements Endpoint Api V1 Announcements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/announcements/clear-all":{"post":{"tags":["announcements"],"summary":"پنهان‌سازی یکجای اعلان‌های درون‌برنامه","operationId":"clear_all_announcements_endpoint_api_v1_announcements_clear_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Clear All Announcements Endpoint Api V1 Announcements Clear All Post"}}}}}}},"/api/v1/announcements/{announcement_id}/mark-read":{"post":{"tags":["announcements"],"summary":"علامت خوانده شد","operationId":"mark_read_endpoint_api_v1_announcements__announcement_id__mark_read_post","parameters":[{"name":"announcement_id","in":"path","required":true,"schema":{"type":"integer","title":"Announcement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Mark Read Endpoint Api V1 Announcements  Announcement Id  Mark Read Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/announcements/{announcement_id}/dismiss":{"post":{"tags":["announcements"],"summary":"پنهان کردن اعلان","operationId":"dismiss_endpoint_api_v1_announcements__announcement_id__dismiss_post","parameters":[{"name":"announcement_id","in":"path","required":true,"schema":{"type":"integer","title":"Announcement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Dismiss Endpoint Api V1 Announcements  Announcement Id  Dismiss Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/person-links/{code}":{"get":{"tags":["public-share-links"],"summary":"دریافت اطلاعات عمومی کارت حساب بدون احراز هویت","operationId":"get_public_person_link_api_v1_public_person_links__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/person-links/{code}/business-logo":{"get":{"tags":["public-share-links"],"summary":"لوگوی کسب‌وکار برای لینک اشتراک کارت حساب (بدون شمارش بازدید)","operationId":"get_public_person_share_business_logo_api_v1_public_person_links__code__business_logo_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/person-links/{code}/invoices/{document_id}":{"get":{"tags":["public-share-links"],"summary":"دریافت جزئیات فاکتور از طریق لینک اشتراک","operationId":"get_public_invoice_details_endpoint_api_v1_public_person_links__code__invoices__document_id__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"integer","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/p/{code}":{"get":{"tags":["public-share-links"],"summary":"انتقال به صفحه عمومی Flutter","operationId":"redirect_public_person_link_p__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/invoice-links/{code}":{"get":{"tags":["public-share-links"],"summary":"نمایش عمومی فاکتور از طریق کد لینک (بدون احراز هویت)","operationId":"get_public_invoice_document_link_api_v1_public_invoice_links__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/invoice-links/{code}/pay/start":{"post":{"tags":["public-share-links"],"summary":"شروع پرداخت آنلاین از لینک عمومی فاکتور","operationId":"post_public_invoice_pay_start_api_v1_public_invoice_links__code__pay_start_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInvoicePayStartBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/invoice-links/{code}/business-logo":{"get":{"tags":["public-share-links"],"summary":"لوگوی کسب‌وکار برای لینک اشتراک فاکتور (بدون شمارش بازدید)","operationId":"get_public_invoice_share_business_logo_api_v1_public_invoice_links__code__business_logo_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/invoice-links/{code}/pdf":{"get":{"tags":["public-share-links"],"summary":"خروجی PDF عمومی فاکتور از طریق کد لینک (بدون احراز هویت)","operationId":"get_public_invoice_document_pdf_api_v1_public_invoice_links__code__pdf_get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/i/{code}":{"get":{"tags":["public-share-links"],"summary":"انتقال به صفحهٔ عمومی فاکتور در Flutter","operationId":"redirect_public_invoice_link_i__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/widget-options":{"get":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Widget Options","description":"گزینه‌های نمایشی ویجت برای کلاینت بدون لاگین (هم‌راستا با تنظیمات CRM کسب‌وکار).","operationId":"public_widget_options_api_v1_public_crm_chat_widget_options_get","parameters":[{"name":"public_key","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":64,"title":"Public Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Public Widget Options Api V1 Public Crm Chat Widget Options Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/conversations/start":{"post":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Start Conversation","operationId":"public_start_conversation_api_v1_public_crm_chat_conversations_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatConversationStartPublic"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Public Start Conversation Api V1 Public Crm Chat Conversations Start Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/messages":{"post":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Post Message","operationId":"public_post_message_api_v1_public_crm_chat_messages_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatVisitorMessageCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Public Post Message Api V1 Public Crm Chat Messages Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/conversations/{conversation_id}/messages":{"get":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public List Messages","operationId":"public_list_messages_api_v1_public_crm_chat_conversations__conversation_id__messages_get","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"visitor_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"(قدیمی) اگر هدر ارسال نمی‌کنید","title":"Visitor Token"},"description":"(قدیمی) اگر هدر ارسال نمی‌کنید"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"before_message_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"بارگذاری پیام‌های قدیمی‌تر (id کوچک‌تر از این مقدار)","title":"Before Message Id"},"description":"بارگذاری پیام‌های قدیمی‌تر (id کوچک‌تر از این مقدار)"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Visitor-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Visitor-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Public List Messages Api V1 Public Crm Chat Conversations  Conversation Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/conversations/{conversation_id}/current-page":{"patch":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Patch Visitor Current Page","description":"به‌روزرسانی URL صفحهٔ فعلی بازدیدکننده (ویجت وب؛ برای نمایش زنده نزد اپراتور).","operationId":"public_patch_visitor_current_page_api_v1_public_crm_chat_conversations__conversation_id__current_page_patch","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"visitor_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"(قدیمی) اگر هدر ارسال نمی‌کنید","title":"Visitor Token"},"description":"(قدیمی) اگر هدر ارسال نمی‌کنید"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Visitor-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Visitor-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatVisitorPageUrlPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Public Patch Visitor Current Page Api V1 Public Crm Chat Conversations  Conversation Id  Current Page Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/conversations/{conversation_id}/read":{"post":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Mark Messages Read","operationId":"public_mark_messages_read_api_v1_public_crm_chat_conversations__conversation_id__read_post","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"visitor_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"(قدیمی) اگر هدر ارسال نمی‌کنید","title":"Visitor Token"},"description":"(قدیمی) اگر هدر ارسال نمی‌کنید"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Visitor-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Visitor-Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CrmChatMarkReadBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Public Mark Messages Read Api V1 Public Crm Chat Conversations  Conversation Id  Read Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/messages/file":{"post":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Post Message File","description":"ارسال فایل توسط بازدیدکننده (پس از فعال‌سازی در تنظیمات CRM کسب‌وکار).","operationId":"public_post_message_file_api_v1_public_crm_chat_messages_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_public_post_message_file_api_v1_public_crm_chat_messages_file_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Public Post Message File Api V1 Public Crm Chat Messages File Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/crm-chat/conversations/{conversation_id}/files/{file_id}/download":{"get":{"tags":["public-share-links","عمومی — چت وب CRM"],"summary":"Public Download Crm File","description":"دانلود فایل ضمیمه برای بازدیدکننده (همان مکالمه).","operationId":"public_download_crm_file_api_v1_public_crm_chat_conversations__conversation_id__files__file_id__download_get","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","title":"File Id"}},{"name":"visitor_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"(قدیمی) اگر هدر ارسال نمی‌کنید","title":"Visitor Token"},"description":"(قدیمی) اگر هدر ارسال نمی‌کنید"},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Visitor-Token","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Visitor-Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/storage/shares/{token}/info":{"get":{"tags":["public-storage-file-shares"],"summary":"اطلاعات فایل اشتراکی (بدون احراز هویت)","operationId":"public_storage_share_info_api_v1_public_storage_shares__token__info_get","parameters":[{"name":"token","in":"path","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"}}}}}}},"/api/v1/public/storage/shares/{token}/unlock":{"post":{"tags":["public-storage-file-shares"],"summary":"باز کردن لینک دارای رمز","operationId":"public_storage_share_unlock_api_v1_public_storage_shares__token__unlock_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","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/v1/public/storage/shares/{token}/file":{"get":{"tags":["public-storage-file-shares"],"summary":"دانلود یا نمایش فایل اشتراکی","operationId":"public_storage_share_file_api_v1_public_storage_shares__token__file_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"access_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"توکن کوتاه‌عمر پس از unlock (برای لینک‌های رمزدار)","title":"Access Token"},"description":"توکن کوتاه‌عمر پس از unlock (برای لینک‌های رمزدار)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/storage/s/{token}":{"get":{"tags":["public-storage-file-shares"],"summary":"هدایت به صفحهٔ وب اشتراک فایل","operationId":"redirect_public_storage_share_api_v1_public_storage_s__token__get","parameters":[{"name":"token","in":"path","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"}}}}}}},"/api/v1/public/catalog/products":{"get":{"tags":["public-product-catalog"],"summary":"Public Catalog List Products","operationId":"public_catalog_list_products_api_v1_public_catalog_products_get","parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Search"}},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"category_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"}},{"name":"province","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","maximum":500000,"minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Take"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/catalog/products/{catalog_public_uuid}":{"get":{"tags":["public-product-catalog"],"summary":"Public Catalog Get Product","operationId":"public_catalog_get_product_api_v1_public_catalog_products__catalog_public_uuid__get","parameters":[{"name":"catalog_public_uuid","in":"path","required":true,"schema":{"type":"string","title":"Catalog Public Uuid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/catalog/products/{catalog_public_uuid}/image":{"get":{"tags":["public-product-catalog"],"summary":"Public Catalog Get Product Image","operationId":"public_catalog_get_product_image_api_v1_public_catalog_products__catalog_public_uuid__image_get","parameters":[{"name":"catalog_public_uuid","in":"path","required":true,"schema":{"type":"string","title":"Catalog Public Uuid"}},{"name":"size","in":"query","required":false,"schema":{"type":"string","description":"original | small | medium","default":"original","title":"Size"},"description":"original | small | medium"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/catalog/feed.json":{"get":{"tags":["public-product-catalog"],"summary":"Public Catalog Feed Json","operationId":"public_catalog_feed_json_api_v1_public_catalog_feed_json_get","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","maximum":500000,"minimum":0,"default":0,"title":"Skip"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Take"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/catalog/contact-messages":{"post":{"tags":["public-product-catalog"],"summary":"Public Catalog Post Contact","operationId":"public_catalog_post_contact_api_v1_public_catalog_contact_messages_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCatalogContactBody"}}},"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/support/search":{"post":{"summary":"Search User Tickets","description":"جستجو در تیکت‌های کاربر","operationId":"search_user_tickets_api_v1_support_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support":{"post":{"summary":"Create Ticket","description":"ایجاد تیکت جدید","operationId":"create_ticket_api_v1_support_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTicketRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/{ticket_id}":{"get":{"summary":"Get Ticket","description":"مشاهده تیکت","operationId":"get_ticket_api_v1_support__ticket_id__get","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/{ticket_id}/messages":{"post":{"summary":"Send Message","description":"ارسال پیام به تیکت","operationId":"send_message_api_v1_support__ticket_id__messages_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/{ticket_id}/messages/search":{"post":{"summary":"Search Ticket Messages","description":"جستجو در پیام‌های تیکت","operationId":"search_ticket_messages_api_v1_support__ticket_id__messages_search_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/search":{"post":{"summary":"Search Operator Tickets","description":"جستجو در تمام تیکت‌ها برای اپراتور","operationId":"search_operator_tickets_api_v1_support_operator_tickets_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/{ticket_id}":{"get":{"summary":"Get Operator Ticket","description":"مشاهده تیکت برای اپراتور","operationId":"get_operator_ticket_api_v1_support_operator_tickets__ticket_id__get","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"delete":{"summary":"Delete Ticket","description":"حذف تیکت (فقط برای مدیر سیستم)","operationId":"delete_ticket_api_v1_support_operator_tickets__ticket_id__delete","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/{ticket_id}/status":{"put":{"summary":"Update Ticket Status","description":"تغییر وضعیت تیکت","operationId":"update_ticket_status_api_v1_support_operator_tickets__ticket_id__status_put","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__support__schemas__UpdateStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/{ticket_id}/assign":{"post":{"summary":"Assign Ticket","description":"تخصیص تیکت به اپراتور","operationId":"assign_ticket_api_v1_support_operator_tickets__ticket_id__assign_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignTicketRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/{ticket_id}/messages":{"post":{"summary":"Send Operator Message","description":"ارسال پیام اپراتور به تیکت","operationId":"send_operator_message_api_v1_support_operator_tickets__ticket_id__messages_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/{ticket_id}/messages/search":{"post":{"summary":"Search Operator Ticket Messages","description":"جستجو در پیام‌های تیکت برای اپراتور","operationId":"search_operator_ticket_messages_api_v1_support_operator_tickets__ticket_id__messages_search_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryInfo"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/bulk-assign":{"post":{"summary":"Bulk Assign Tickets","description":"تخصیص گروهی تیکت‌ها به اپراتور","operationId":"bulk_assign_tickets_api_v1_support_operator_tickets_bulk_assign_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkAssignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/operator/tickets/bulk-update-status":{"post":{"summary":"Bulk Update Ticket Status","description":"تغییر وضعیت گروهی تیکت‌ها","operationId":"bulk_update_ticket_status_api_v1_support_operator_tickets_bulk_update_status_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUpdateStatusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/tickets/{ticket_id}/ai-suggest-reply":{"post":{"tags":["support-ai"],"summary":"پیشنهاد پاسخ AI","description":"دریافت پیشنهاد پاسخ AI برای تیکت","operationId":"suggest_ai_reply_api_v1_support_tickets__ticket_id__ai_suggest_reply_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISuggestReplyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Suggest Ai Reply Api V1 Support Tickets  Ticket Id  Ai Suggest Reply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/support/tickets/{ticket_id}/ai-auto-reply":{"post":{"tags":["support-ai"],"summary":"پاسخ خودکار AI","description":"ارسال خودکار پاسخ AI به تیکت","operationId":"ai_auto_reply_api_v1_support_tickets__ticket_id__ai_auto_reply_post","parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISuggestReplyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Ai Auto Reply Api V1 Support Tickets  Ticket Id  Ai Auto Reply Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/metadata/categories":{"get":{"summary":"Get Categories","description":"دریافت لیست دسته‌بندی‌های فعال","operationId":"get_categories_api_v1_metadata_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}}},"/api/v1/metadata/priorities":{"get":{"summary":"Get Priorities","description":"دریافت لیست اولویت‌ها - با caching","operationId":"get_priorities_api_v1_metadata_priorities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}}},"/api/v1/metadata/statuses":{"get":{"summary":"Get Statuses","description":"دریافت لیست وضعیت‌ها - با caching","operationId":"get_statuses_api_v1_metadata_statuses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}}},"/api/v1/admin/files/":{"get":{"tags":["Admin File Management"],"summary":"List All Files","description":"لیست تمام فایل‌ها با فیلتر","operationId":"list_all_files_api_v1_admin_files__get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Size"}},{"name":"module_context","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Module Context"}},{"name":"is_temporary","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Temporary"}},{"name":"is_verified","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Verified"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List All Files Api V1 Admin Files  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/unverified":{"get":{"tags":["Admin File Management"],"summary":"Get Unverified Files","description":"فایل‌های تایید نشده","operationId":"get_unverified_files_api_v1_admin_files_unverified_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Unverified Files Api V1 Admin Files Unverified Get"}}}}}}},"/api/v1/admin/files/cleanup-temporary":{"post":{"tags":["Admin File Management"],"summary":"Cleanup Temporary Files","description":"پاکسازی فایل‌های موقت","operationId":"cleanup_temporary_files_api_v1_admin_files_cleanup_temporary_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Cleanup Temporary Files Api V1 Admin Files Cleanup Temporary Post"}}}}}}},"/api/v1/admin/files/{file_id}":{"delete":{"tags":["Admin File Management"],"summary":"Force Delete File","description":"حذف اجباری فایل","operationId":"force_delete_file_api_v1_admin_files__file_id__delete","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Force Delete File Api V1 Admin Files  File Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/{file_id}/restore":{"put":{"tags":["Admin File Management"],"summary":"Restore File","description":"بازیابی فایل حذف شده","operationId":"restore_file_api_v1_admin_files__file_id__restore_put","parameters":[{"name":"file_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"File Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Restore File Api V1 Admin Files  File Id  Restore Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/statistics":{"get":{"tags":["Admin File Management"],"summary":"Get File Statistics","description":"آمار استفاده از فضای ذخیره‌سازی","operationId":"get_file_statistics_api_v1_admin_files_statistics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get File Statistics Api V1 Admin Files Statistics Get"}}}}}}},"/api/v1/admin/files/storage-configs/":{"get":{"tags":["Admin File Management"],"summary":"Get Storage Configs","description":"لیست تنظیمات ذخیره‌سازی","operationId":"get_storage_configs_api_v1_admin_files_storage_configs__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Storage Configs Api V1 Admin Files Storage Configs  Get"}}}}}},"post":{"tags":["Admin File Management"],"summary":"Create Storage Config","description":"ایجاد تنظیمات ذخیره‌سازی جدید","operationId":"create_storage_config_api_v1_admin_files_storage_configs__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageConfigCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Storage Config Api V1 Admin Files Storage Configs  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/storage-configs/ftp/test-draft":{"post":{"tags":["Admin File Management"],"summary":"Test Ftp Storage Draft","description":"تست اتصال FTP با مقادیر فرم (بدون ذخیره). برای ویرایش، با existing_config_id رمز ذخیره‌شده ادغام می‌شود.","operationId":"test_ftp_storage_draft_api_v1_admin_files_storage_configs_ftp_test_draft_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FtpStorageTestDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Test Ftp Storage Draft Api V1 Admin Files Storage Configs Ftp Test Draft Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/storage-configs/{config_id}":{"put":{"tags":["Admin File Management"],"summary":"Update Storage Config","description":"بروزرسانی تنظیمات ذخیره‌سازی","operationId":"update_storage_config_api_v1_admin_files_storage_configs__config_id__put","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageConfigUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Storage Config Api V1 Admin Files Storage Configs  Config Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin File Management"],"summary":"Delete Storage Config","description":"حذف تنظیمات ذخیره‌سازی","operationId":"delete_storage_config_api_v1_admin_files_storage_configs__config_id__delete","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Storage Config Api V1 Admin Files Storage Configs  Config Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/storage-configs/{config_id}/set-default":{"put":{"tags":["Admin File Management"],"summary":"Set Default Storage Config","description":"تنظیم به عنوان پیش‌فرض","operationId":"set_default_storage_config_api_v1_admin_files_storage_configs__config_id__set_default_put","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Default Storage Config Api V1 Admin Files Storage Configs  Config Id  Set Default Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/files/storage-configs/{config_id}/test":{"post":{"tags":["Admin File Management"],"summary":"Test Storage Config","description":"تست اتصال به storage","operationId":"test_storage_config_api_v1_admin_files_storage_configs__config_id__test_post","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"string","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Test Storage Config Api V1 Admin Files Storage Configs  Config Id  Test Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/configs":{"get":{"tags":["Email Configuration"],"summary":"Get Email Configs","description":"Get all email configurations","operationId":"get_email_configs_api_v1_admin_email_configs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}}}},"post":{"tags":["Email Configuration"],"summary":"Create Email Config","description":"Create new email configuration","operationId":"create_email_config_api_v1_admin_email_configs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/configs/{config_id}":{"get":{"tags":["Email Configuration"],"summary":"Get Email Config","description":"Get specific email configuration","operationId":"get_email_config_api_v1_admin_email_configs__config_id__get","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Email Configuration"],"summary":"Update Email Config","description":"Update email configuration","operationId":"update_email_config_api_v1_admin_email_configs__config_id__put","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Email Configuration"],"summary":"Delete Email Config","description":"Delete email configuration","operationId":"delete_email_config_api_v1_admin_email_configs__config_id__delete","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/configs/{config_id}/test":{"post":{"tags":["Email Configuration"],"summary":"Test Email Config","description":"Test email configuration connection","operationId":"test_email_config_api_v1_admin_email_configs__config_id__test_post","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/configs/{config_id}/activate":{"post":{"tags":["Email Configuration"],"summary":"Activate Email Config","description":"Activate email configuration","operationId":"activate_email_config_api_v1_admin_email_configs__config_id__activate_post","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/configs/{config_id}/set-default":{"post":{"tags":["Email Configuration"],"summary":"Set Default Email Config","description":"Set email configuration as default","operationId":"set_default_email_config_api_v1_admin_email_configs__config_id__set_default_post","parameters":[{"name":"config_id","in":"path","required":true,"schema":{"type":"integer","title":"Config Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/email/send":{"post":{"tags":["Email Configuration"],"summary":"Send Email","description":"Send email using configured SMTP","operationId":"send_email_api_v1_admin_email_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/adapters__api__v1__schemas__SuccessResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/wallet":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات کیف‌پول (ارز پایه)","description":"خواندن ارز پایه کیف‌پول. اگر تنظیم نشده باشد IRR بازگردانده می‌شود.","operationId":"get_wallet_settings_endpoint_api_v1_admin_system_settings_wallet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Wallet Settings Endpoint Api V1 Admin System Settings Wallet Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"تنظیم ارز پایه کیف‌پول","description":"تنظیم کد ارز پایه کیف‌پول (مثلاً IRR). تنها برای مدیر سیستم.","operationId":"set_wallet_settings_endpoint_api_v1_admin_system_settings_wallet_put","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Wallet Settings Endpoint Api V1 Admin System Settings Wallet Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/notifications":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات یکپارچه‌سازی نوتیفیکیشن‌ها (تلگرام/SMS)","description":"خواندن کانفیگ‌های ربات تلگرام و SMS از تنظیمات سیستم","operationId":"get_notifications_settings_endpoint_api_v1_admin_system_settings_notifications_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Notifications Settings Endpoint Api V1 Admin System Settings Notifications Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"تنظیم کانفیگ‌های ربات تلگرام و SMS","description":"ذخیره تنظیمات یکپارچه‌سازی نوتیفیکیشن‌ها. توجه: تغییرات ممکن است نیاز به راه‌اندازی مجدد سرویس داشته باشد.","operationId":"put_notifications_settings_endpoint_api_v1_admin_system_settings_notifications_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationsConfigPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Put Notifications Settings Endpoint Api V1 Admin System Settings Notifications Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/share-links":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات لینک‌های اشتراک عمومی","description":"بازگرداندن آدرس مقصدی که لینک کوتاه پس از کلیک به آن هدایت می‌شود (افزونه Flutter Web).","operationId":"get_share_link_settings_endpoint_api_v1_admin_system_settings_share_links_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Share Link Settings Endpoint Api V1 Admin System Settings Share Links Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"تنظیم آدرس اپلیکیشن عمومی لینک اشتراک","description":"ثبت آدرس مقصد برای نمایش کارت حساب (مثلاً https://app.hesabix.com/public).","operationId":"set_share_link_settings_endpoint_api_v1_admin_system_settings_share_links_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkSettingsPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Share Link Settings Endpoint Api V1 Admin System Settings Share Links Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/notifications/telegram/webhook":{"post":{"tags":["مدیریت سیستم"],"summary":"ثبت وب‌هوک تلگرام از طریق API","description":"با استفاده از کانفیگ فعلی، آدرس وب‌هوک به سرور تلگرام اعلام می‌شود و نتیجه برگردانده می‌شود.","operationId":"register_telegram_webhook_endpoint_api_v1_admin_system_settings_notifications_telegram_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Telegram Webhook Endpoint Api V1 Admin System Settings Notifications Telegram Webhook Post"}}}}}}},"/api/v1/admin/system-settings/notifications/bale/webhook":{"post":{"tags":["مدیریت سیستم"],"summary":"ثبت وب‌هوک بله","description":"با استفاده از کانفیگ فعلی، آدرس وب‌هوک به سرور بله اعلام می‌شود. پورت‌های مجاز: 443، 88","operationId":"register_bale_webhook_endpoint_api_v1_admin_system_settings_notifications_bale_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Bale Webhook Endpoint Api V1 Admin System Settings Notifications Bale Webhook Post"}}}}}}},"/api/v1/admin/system-settings/configuration":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات پیکربندی سیستم","description":"خواندن تنظیمات عمومی سیستم شامل نام اپلیکیشن، نسخه، زبان پیش‌فرض، تم و سایر تنظیمات.","operationId":"get_system_configuration_endpoint_api_v1_admin_system_settings_configuration_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get System Configuration Endpoint Api V1 Admin System Settings Configuration Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"به‌روزرسانی تنظیمات پیکربندی سیستم","description":"ذخیره تنظیمات عمومی سیستم. تنها برای مدیر سیستم.","operationId":"set_system_configuration_endpoint_api_v1_admin_system_settings_configuration_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemConfigurationPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set System Configuration Endpoint Api V1 Admin System Settings Configuration Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/auth-security-report":{"get":{"tags":["مدیریت سیستم"],"summary":"گزارش رویدادهای امنیت احراز هویت و کپچا","description":"آمار و آخرین رویدادها (محدود به مدیر سیستم).","operationId":"get_auth_security_report_endpoint_api_v1_admin_system_settings_auth_security_report_get","parameters":[{"name":"hours","in":"query","required":false,"schema":{"type":"integer","maximum":2160,"minimum":1,"default":24,"title":"Hours"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":80,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Auth Security Report Endpoint Api V1 Admin System Settings Auth Security Report Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/redis":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات Redis Cache","description":"خواندن تنظیمات Redis شامل فعال/غیرفعال بودن، آدرس، پورت، شماره دیتابیس و رمز عبور.","operationId":"get_redis_configuration_endpoint_api_v1_admin_system_settings_redis_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Redis Configuration Endpoint Api V1 Admin System Settings Redis Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"به‌روزرسانی تنظیمات Redis Cache","description":"ذخیره تنظیمات Redis. توجه: تغییرات نیاز به راه‌اندازی مجدد سرویس ندارد و به صورت خودکار اعمال می‌شود.","operationId":"set_redis_configuration_endpoint_api_v1_admin_system_settings_redis_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedisConfigurationPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Redis Configuration Endpoint Api V1 Admin System Settings Redis Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/redis/test":{"post":{"tags":["مدیریت سیستم"],"summary":"تست اتصال Redis","description":"تست اتصال به Redis با تنظیمات فعلی و برگرداندن وضعیت اتصال.","operationId":"test_redis_connection_endpoint_api_v1_admin_system_settings_redis_test_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Test Redis Connection Endpoint Api V1 Admin System Settings Redis Test Post"}}}}}}},"/api/v1/admin/system-settings/zohal":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات سرویس زحل","description":"خواندن تنظیمات API Key و پیکربندی سرویس زحل","operationId":"get_zohal_settings_endpoint_api_v1_admin_system_settings_zohal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Zohal Settings Endpoint Api V1 Admin System Settings Zohal Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"تنظیم پیکربندی سرویس زحل","description":"تنظیم API Key، آدرس پایه و آستانه موجودی کم برای سرویس زحل","operationId":"set_zohal_settings_endpoint_api_v1_admin_system_settings_zohal_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZohalSettingsPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Zohal Settings Endpoint Api V1 Admin System Settings Zohal Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/notification-sms-pricing":{"get":{"tags":["مدیریت سیستم"],"summary":"دریافت تنظیمات قیمت‌گذاری پیامک ناتیفیکیشن","description":"خواندن قیمت‌گذاری پیامک‌های ناتیفیکیشن کسب‌وکارها","operationId":"get_notification_sms_pricing_endpoint_api_v1_admin_system_settings_notification_sms_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Notification Sms Pricing Endpoint Api V1 Admin System Settings Notification Sms Pricing Get"}}}}}},"put":{"tags":["مدیریت سیستم"],"summary":"تنظیم قیمت‌گذاری پیامک ناتیفیکیشن","description":"تنظیم قیمت هر پیامک برای ناتیفیکیشن‌های کسب‌وکارها. قیمت‌ها بر اساس ارز کیف پول هستند.","operationId":"set_notification_sms_pricing_endpoint_api_v1_admin_system_settings_notification_sms_pricing_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationSmsPricingPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Notification Sms Pricing Endpoint Api V1 Admin System Settings Notification Sms Pricing Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-settings/database-backup":{"post":{"tags":["مدیریت سیستم"],"summary":"بکاپ دیتابیس","description":"ایجاد بکاپ کامل دیتابیس و تحویل به روش download، email یا ftp. تنها برای مدیر سیستم.","operationId":"create_database_backup_endpoint_api_v1_admin_system_settings_database_backup_post","parameters":[{"name":"delivery","in":"query","required":true,"schema":{"type":"string","description":"download | email | ftp","title":"Delivery"},"description":"download | email | ftp"},{"name":"compress","in":"query","required":false,"schema":{"type":"boolean","description":"فشرده‌سازی با gzip","default":true,"title":"Compress"},"description":"فشرده‌سازی با gzip"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/DatabaseBackupPayload"},{"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/system-settings/database-restore":{"post":{"tags":["مدیریت سیستم"],"summary":"ریستور دیتابیس","description":"بازیابی کامل دیتابیس از فایل بکاپ .sql یا .sql.gz. نیاز به تأیید. به صورت Job پس‌زمینه اجرا می‌شود. تنها برای superadmin.","operationId":"create_database_restore_endpoint_api_v1_admin_system_settings_database_restore_post","parameters":[{"name":"confirmation","in":"query","required":true,"schema":{"type":"string","description":"برای تأیید عبارت 'بازیابی' یا 'RESTORE' را وارد کنید","title":"Confirmation"},"description":"برای تأیید عبارت 'بازیابی' یا 'RESTORE' را وارد کنید"}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_database_restore_endpoint_api_v1_admin_system_settings_database_restore_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/rules":{"get":{"tags":["فایروال داخلی"],"summary":"لیست قوانین فایروال","operationId":"list_rules_api_v1_admin_firewall_rules_get","parameters":[{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","description":"فقط قوانین فعال (enabled و غیرمنقضی)","default":false,"title":"Active Only"},"description":"فقط قوانین فعال (enabled و غیرمنقضی)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Rules Api V1 Admin Firewall Rules Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["فایروال داخلی"],"summary":"ایجاد قانون","operationId":"create_rule_endpoint_api_v1_admin_firewall_rules_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallRuleCreatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Rule Endpoint Api V1 Admin Firewall Rules Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/rules/{rule_id}":{"put":{"tags":["فایروال داخلی"],"summary":"ویرایش قانون","operationId":"update_rule_endpoint_api_v1_admin_firewall_rules__rule_id__put","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallRuleUpdatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Rule Endpoint Api V1 Admin Firewall Rules  Rule Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["فایروال داخلی"],"summary":"حذف قانون","operationId":"delete_rule_endpoint_api_v1_admin_firewall_rules__rule_id__delete","parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"integer","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Rule Endpoint Api V1 Admin Firewall Rules  Rule Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/ban":{"post":{"tags":["فایروال داخلی"],"summary":"مسدودسازی IP (موقت یا دائم)","operationId":"ban_endpoint_api_v1_admin_firewall_ban_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallBanPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Ban Endpoint Api V1 Admin Firewall Ban Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/unban":{"post":{"tags":["فایروال داخلی"],"summary":"رفع مسدودیت برای IP / CIDR","operationId":"unban_endpoint_api_v1_admin_firewall_unban_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallUnbanPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Unban Endpoint Api V1 Admin Firewall Unban Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/rate-policies":{"get":{"tags":["فایروال داخلی"],"summary":"سیاست‌های نرخ (فایروال مرکزی / دیتابیس)","operationId":"list_rate_policies_api_v1_admin_firewall_rate_policies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Rate Policies Api V1 Admin Firewall Rate Policies Get"}}}}}},"post":{"tags":["فایروال داخلی"],"summary":"ایجاد سیاست نرخ","operationId":"create_rate_policy_endpoint_api_v1_admin_firewall_rate_policies_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallRatePolicyCreatePayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Rate Policy Endpoint Api V1 Admin Firewall Rate Policies Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/rate-policies/{policy_id}":{"put":{"tags":["فایروال داخلی"],"summary":"ویرایش سیاست نرخ","operationId":"update_rate_policy_endpoint_api_v1_admin_firewall_rate_policies__policy_id__put","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"integer","title":"Policy Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FirewallRatePolicyUpdatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Rate Policy Endpoint Api V1 Admin Firewall Rate Policies  Policy Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["فایروال داخلی"],"summary":"حذف سیاست نرخ","operationId":"delete_rate_policy_endpoint_api_v1_admin_firewall_rate_policies__policy_id__delete","parameters":[{"name":"policy_id","in":"path","required":true,"schema":{"type":"integer","title":"Policy Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Rate Policy Endpoint Api V1 Admin Firewall Rate Policies  Policy Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/logs/requests":{"get":{"tags":["فایروال داخلی"],"summary":"لاگ درخواست‌های مسدود شده","operationId":"request_logs_api_v1_admin_firewall_logs_requests_get","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"client_ip","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Ip"}},{"name":"hours","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":720,"minimum":1},{"type":"null"}],"description":"فیلتر از N ساعت اخیر","title":"Hours"},"description":"فیلتر از N ساعت اخیر"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Logs Api V1 Admin Firewall Logs Requests Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/logs/audit":{"get":{"tags":["فایروال داخلی"],"summary":"لاگ ممیزی مدیریتی","operationId":"audit_logs_api_v1_admin_firewall_logs_audit_get","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"hours","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":720,"minimum":1},{"type":"null"}],"title":"Hours"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Audit Logs Api V1 Admin Firewall Logs Audit Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/firewall/reports/summary":{"get":{"tags":["فایروال داخلی"],"summary":"گزارش خلاصه مسدودسازی‌ها","operationId":"reports_summary_api_v1_admin_firewall_reports_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reports Summary Api V1 Admin Firewall Reports Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/currencies":{"get":{"tags":["مدیریت ارزها"],"summary":"فهرست کامل ارزها (ادمین)","operationId":"admin_list_currencies_api_v1_admin_currencies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Admin List Currencies Api V1 Admin Currencies Get"}}}}}},"post":{"tags":["مدیریت ارزها"],"summary":"ایجاد ارز","operationId":"admin_create_currency_api_v1_admin_currencies_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrencyCreateBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Admin Create Currency Api V1 Admin Currencies Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/currencies/{currency_id}":{"patch":{"tags":["مدیریت ارزها"],"summary":"ویرایش ارز","operationId":"admin_update_currency_api_v1_admin_currencies__currency_id__patch","parameters":[{"name":"currency_id","in":"path","required":true,"schema":{"type":"integer","title":"Currency Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CurrencyUpdateBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Update Currency Api V1 Admin Currencies  Currency Id  Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["مدیریت ارزها"],"summary":"حذف ارز در صورت نبود وابستگی","operationId":"admin_delete_currency_api_v1_admin_currencies__currency_id__delete","parameters":[{"name":"currency_id","in":"path","required":true,"schema":{"type":"integer","title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Delete Currency Api V1 Admin Currencies  Currency Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/currencies/{currency_id}/delete-check":{"get":{"tags":["مدیریت ارزها"],"summary":"بررسی امکان حذف ارز (لیست مانع‌ها)","operationId":"admin_currency_delete_check_api_v1_admin_currencies__currency_id__delete_check_get","parameters":[{"name":"currency_id","in":"path","required":true,"schema":{"type":"integer","title":"Currency Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Currency Delete Check Api V1 Admin Currencies  Currency Id  Delete Check Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/notifications/outbox/summary":{"get":{"tags":["admin-monitoring"],"summary":"خلاصه صف اعلان‌ها و پیامک","description":"آمار outbox، آستانه‌ها، Redis و سقف SMS به‌ازای مقصد — برای مانیتورینگ توسط مدیر","operationId":"get_notification_outbox_summary_endpoint_api_v1_admin_monitoring_notifications_outbox_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Notification Outbox Summary Endpoint Api V1 Admin Monitoring Notifications Outbox Summary Get"}}}}}}},"/api/v1/admin/monitoring/notifications/outbox/abandon":{"post":{"tags":["admin-monitoring"],"summary":"رها کردن دسته‌ای ردیف‌های outbox","description":"خالی کردن صف retry/pending مطابق فیلتر؛ نیاز به عبارت تأیید از خلاصه outbox","operationId":"abandon_notification_outbox_endpoint_api_v1_admin_monitoring_notifications_outbox_abandon_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AbandonNotificationOutboxBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Abandon Notification Outbox Endpoint Api V1 Admin Monitoring Notifications Outbox Abandon Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/hardware/current":{"get":{"tags":["admin-monitoring"],"summary":"دریافت وضعیت فعلی منابع سخت‌افزاری","description":"دریافت metrics فعلی CPU، Memory، Disk و Network","operationId":"get_hardware_current_api_v1_admin_monitoring_hardware_current_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Hardware Current Api V1 Admin Monitoring Hardware Current Get"}}}}}}},"/api/v1/admin/monitoring/hardware/history":{"get":{"tags":["admin-monitoring"],"summary":"دریافت تاریخچه منابع سخت‌افزاری","description":"دریافت تاریخچه metrics در بازه زمانی مشخص","operationId":"get_hardware_history_api_v1_admin_monitoring_hardware_history_get","parameters":[{"name":"metric_type","in":"query","required":true,"schema":{"type":"string","description":"نوع metric (cpu, memory, disk, network)","title":"Metric Type"},"description":"نوع metric (cpu, memory, disk, network)"},{"name":"metric_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"نام metric خاص (اختیاری)","title":"Metric Name"},"description":"نام metric خاص (اختیاری)"},{"name":"start_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"زمان شروع (ISO format)","title":"Start Time"},"description":"زمان شروع (ISO format)"},{"name":"end_time","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"زمان پایان (ISO format)","title":"End Time"},"description":"زمان پایان (ISO format)"},{"name":"interval_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":60,"minimum":1,"description":"فاصله زمانی بر حسب دقیقه","default":1,"title":"Interval Minutes"},"description":"فاصله زمانی بر حسب دقیقه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Hardware History Api V1 Admin Monitoring Hardware History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/services/status":{"get":{"tags":["admin-monitoring"],"summary":"دریافت وضعیت همه سرویس‌ها","description":"بررسی وضعیت API Server، Database، Redis و Workers","operationId":"get_services_status_api_v1_admin_monitoring_services_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Services Status Api V1 Admin Monitoring Services Status Get"}}}}}}},"/api/v1/admin/monitoring/services/{service_name}/status":{"get":{"tags":["admin-monitoring"],"summary":"دریافت وضعیت یک سرویس خاص","description":"بررسی وضعیت یک سرویس مشخص","operationId":"get_service_status_api_v1_admin_monitoring_services__service_name__status_get","parameters":[{"name":"service_name","in":"path","required":true,"schema":{"type":"string","title":"Service Name"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Service Status Api V1 Admin Monitoring Services  Service Name  Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/performance/overview":{"get":{"tags":["admin-monitoring"],"summary":"دریافت خلاصه عملکرد","description":"دریافت آمار کلی عملکرد API","operationId":"get_performance_overview_api_v1_admin_monitoring_performance_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Performance Overview Api V1 Admin Monitoring Performance Overview Get"}}}}}}},"/api/v1/admin/monitoring/performance/endpoints":{"get":{"tags":["admin-monitoring"],"summary":"دریافت آمار endpoint ها","description":"دریافت آمار عملکرد endpoint های مختلف","operationId":"get_endpoint_performance_api_v1_admin_monitoring_performance_endpoints_get","parameters":[{"name":"method","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"HTTP Method","title":"Method"},"description":"HTTP Method"},{"name":"path","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Path endpoint","title":"Path"},"description":"Path endpoint"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Endpoint Performance Api V1 Admin Monitoring Performance Endpoints Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/performance/slow-endpoints":{"get":{"tags":["admin-monitoring"],"summary":"دریافت endpoint های کند","description":"دریافت لیست endpoint هایی که زمان پاسخ بالایی دارند","operationId":"get_slow_endpoints_api_v1_admin_monitoring_performance_slow_endpoints_get","parameters":[{"name":"threshold_ms","in":"query","required":false,"schema":{"type":"integer","minimum":100,"description":"آستانه زمان پاسخ بر حسب میلی‌ثانیه","default":1000,"title":"Threshold Ms"},"description":"آستانه زمان پاسخ بر حسب میلی‌ثانیه"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Slow Endpoints Api V1 Admin Monitoring Performance Slow Endpoints Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/alerts":{"get":{"tags":["admin-monitoring"],"summary":"دریافت لیست هشدارها","description":"دریافت لیست هشدارهای سیستم (فعال، تایید شده، حل شده)","operationId":"get_alerts_api_v1_admin_monitoring_alerts_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر بر اساس وضعیت (active, acknowledged, resolved)","title":"Status"},"description":"فیلتر بر اساس وضعیت (active, acknowledged, resolved)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"تعداد هشدارها","default":50,"title":"Limit"},"description":"تعداد هشدارها"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Alerts Api V1 Admin Monitoring Alerts Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/alerts/active":{"get":{"tags":["admin-monitoring"],"summary":"دریافت هشدارهای فعال","description":"دریافت لیست هشدارهای فعال (نیاز به توجه)","operationId":"get_active_alerts_api_v1_admin_monitoring_alerts_active_get","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":{"type":"object","additionalProperties":true,"title":"Response Get Active Alerts Api V1 Admin Monitoring Alerts Active Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/alerts/{alert_id}/acknowledge":{"post":{"tags":["admin-monitoring"],"summary":"تایید هشدار","description":"تایید یک هشدار توسط مدیر","operationId":"acknowledge_alert_api_v1_admin_monitoring_alerts__alert_id__acknowledge_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Acknowledge Alert Api V1 Admin Monitoring Alerts  Alert Id  Acknowledge Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/monitoring/alerts/{alert_id}/resolve":{"post":{"tags":["admin-monitoring"],"summary":"حل کردن هشدار","description":"حل کردن یک هشدار (به معنای حل شدن مشکل)","operationId":"resolve_alert_api_v1_admin_monitoring_alerts__alert_id__resolve_post","parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"integer","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Resolve Alert Api V1 Admin Monitoring Alerts  Alert Id  Resolve Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-services/logging-diagnostics":{"get":{"tags":["admin-system-services"],"summary":"وضعیت پیکربندی لاگ API","description":"سطح لاگ مؤثر، لاگرهای اصلی (uvicorn/sqlalchemy/…) و راهنمای فعال‌سازی DEBUG. تغییر LOG_LEVEL نیازمند ری‌استارت سرویس است (به‌ویژه با چند worker).","operationId":"get_logging_diagnostics_endpoint_api_v1_admin_system_services_logging_diagnostics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Logging Diagnostics Endpoint Api V1 Admin System Services Logging Diagnostics Get"}}}}}}},"/api/v1/admin/system-services/allowed-services":{"get":{"tags":["admin-system-services"],"summary":"نام سرویس‌های مجاز","description":"لیست واحدهای systemd مجاز برای مشاهده لاگ و restart","operationId":"list_allowed_services_api_v1_admin_system_services_allowed_services_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Allowed Services Api V1 Admin System Services Allowed Services Get"}}}}}}},"/api/v1/admin/system-services/logs":{"get":{"tags":["admin-system-services"],"summary":"دریافت لاگ‌های سرویس‌های سیستم","description":"دریافت لاگ از journalctl برای سرویس‌های مجاز (لیست در /allowed-services)","operationId":"get_service_logs_api_v1_admin_system_services_logs_get","parameters":[{"name":"service_name","in":"query","required":true,"schema":{"type":"string","description":"نام واحد systemd (مثلاً hesabix-api)","title":"Service Name"},"description":"نام واحد systemd (مثلاً hesabix-api)"},{"name":"lines","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"تعداد خطوط لاگ","default":100,"title":"Lines"},"description":"تعداد خطوط لاگ"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Service Logs Api V1 Admin System Services Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-services/status":{"get":{"tags":["admin-system-services"],"summary":"دریافت وضعیت سرویس‌های سیستم","description":"دریافت وضعیت فعال/غیرفعال بودن سرویس‌ها","operationId":"get_service_status_api_v1_admin_system_services_status_get","parameters":[{"name":"service_name","in":"query","required":true,"schema":{"type":"string","description":"نام واحد systemd مجاز","title":"Service Name"},"description":"نام واحد systemd مجاز"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Service Status Api V1 Admin System Services Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/system-services/status/all":{"get":{"tags":["admin-system-services"],"summary":"دریافت وضعیت همه سرویس‌ها","description":"دریافت وضعیت همه سرویس‌های مجاز","operationId":"get_all_services_status_api_v1_admin_system_services_status_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get All Services Status Api V1 Admin System Services Status All Get"}}}}}}},"/api/v1/admin/system-services/restart":{"post":{"tags":["admin-system-services"],"summary":"Restart کردن سرویس سیستم","description":"Restart یک واحد systemd از لیست سرویس‌های مجاز","operationId":"restart_service_api_v1_admin_system_services_restart_post","parameters":[{"name":"service_name","in":"query","required":true,"schema":{"type":"string","description":"نام واحد systemd مجاز","title":"Service Name"},"description":"نام واحد systemd مجاز"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Restart Service Api V1 Admin System Services Restart Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets":{"get":{"tags":["admin-wallet"],"summary":"فهرست کیف‌پول کسب‌وکارها","operationId":"list_wallets_admin_api_v1_admin_wallets_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Wallets Admin Api V1 Admin Wallets Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets/{business_id}/refunds":{"post":{"tags":["admin-wallet"],"summary":"ایجاد استرداد (مدیریتی)","operationId":"create_refund_admin_api_v1_admin_wallets__business_id__refunds_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Refund Admin Api V1 Admin Wallets  Business Id  Refunds Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets/payouts/stats":{"get":{"tags":["admin-wallet"],"summary":"آمار کلی درخواست‌های تسویه کیف‌پول","operationId":"get_wallet_payouts_stats_endpoint_api_v1_admin_wallets_payouts_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Wallet Payouts Stats Endpoint Api V1 Admin Wallets Payouts Stats Get"}}}}}}},"/api/v1/admin/wallets/payouts/table":{"post":{"tags":["admin-wallet"],"summary":"لیست درخواست‌های تسویه کیف‌پول (برای جدول)","operationId":"list_wallet_payouts_admin_table_endpoint_api_v1_admin_wallets_payouts_table_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Wallet Payouts Admin Table Endpoint Api V1 Admin Wallets Payouts Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets/payouts/{payout_id}":{"get":{"tags":["admin-wallet"],"summary":"جزئیات درخواست تسویه کیف‌پول","operationId":"get_wallet_payout_admin_endpoint_api_v1_admin_wallets_payouts__payout_id__get","parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Wallet Payout Admin Endpoint Api V1 Admin Wallets Payouts  Payout Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets/payouts/{payout_id}/approve":{"put":{"tags":["admin-wallet"],"summary":"تایید درخواست تسویه (مدیریتی)","operationId":"approve_payout_admin_api_v1_admin_wallets_payouts__payout_id__approve_put","parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Approve Payout Admin Api V1 Admin Wallets Payouts  Payout Id  Approve Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/wallets/payouts/{payout_id}/settle":{"put":{"tags":["admin-wallet"],"summary":"تسویه درخواست Payout (مدیریتی)","operationId":"settle_payout_admin_api_v1_admin_wallets_payouts__payout_id__settle_put","parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Settle Payout Admin Api V1 Admin Wallets Payouts  Payout Id  Settle Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/storage-plans":{"post":{"tags":["admin-storage-plans"],"summary":"ایجاد پلن جدید","description":"ایجاد پلن جدید برای ذخیره‌سازی توسط مدیر","operationId":"create_storage_plan_endpoint_api_v1_admin_storage_plans_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Storage Plan Endpoint Api V1 Admin Storage Plans Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin-storage-plans"],"summary":"لیست پلن‌ها","description":"دریافت لیست تمام پلن‌های ذخیره‌سازی","operationId":"list_storage_plans_endpoint_api_v1_admin_storage_plans_get","parameters":[{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط پلن‌های فعال","title":"Only Active"},"description":"فقط پلن‌های فعال"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Storage Plans Endpoint Api V1 Admin Storage Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/storage-plans/{plan_id}":{"put":{"tags":["admin-storage-plans"],"summary":"ویرایش پلن","description":"ویرایش پلن موجود","operationId":"update_storage_plan_endpoint_api_v1_admin_storage_plans__plan_id__put","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Storage Plan Endpoint Api V1 Admin Storage Plans  Plan Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin-storage-plans"],"summary":"جزئیات پلن","description":"دریافت جزئیات یک پلن","operationId":"get_storage_plan_endpoint_api_v1_admin_storage_plans__plan_id__get","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Storage Plan Endpoint Api V1 Admin Storage Plans  Plan Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-storage-plans"],"summary":"حذف/غیرفعال کردن پلن","description":"حذف یا غیرفعال کردن پلن (اگر اشتراک فعالی نداشته باشد حذف می‌شود، وگرنه فقط غیرفعال می‌شود)","operationId":"delete_storage_plan_endpoint_api_v1_admin_storage_plans__plan_id__delete","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Storage Plan Endpoint Api V1 Admin Storage Plans  Plan Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/businesses/list":{"post":{"tags":["admin-businesses"],"summary":"لیست تمام کسب و کارها (سوپر ادمین)","description":"دریافت لیست تمام کسب و کارهای سیستم با قابلیت فیلتر، جستجو و صفحه‌بندی (فقط برای سوپر ادمین)","operationId":"list_all_businesses_admin_api_v1_admin_businesses_list_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"لیست کسب و کارها با موفقیت دریافت شد","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List All Businesses Admin Api V1 Admin Businesses List Post"},"example":{"success":true,"message":"لیست کسب و کارها دریافت شد","data":{"items":[{"id":1,"name":"شرکت نمونه","business_type":"شرکت","business_field":"تولیدی","owner_id":1,"owner":{"id":1,"email":"owner@example.com","mobile":"09123456789","first_name":"احمد","last_name":"احمدی","full_name":"احمد احمدی"},"address":"تهران، خیابان ولیعصر","phone":"02112345678","mobile":"09123456789","national_id":"1234567890","province":"تهران","city":"تهران","created_at":"1403/01/01 00:00:00"}],"pagination":{"total":100,"page":1,"per_page":10,"total_pages":10,"has_next":true,"has_prev":false}}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - فقط سوپر ادمین"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/businesses/{business_id}/wallet":{"get":{"tags":["admin-businesses"],"summary":"اطلاعات کیف‌پول کسب‌وکار (سوپر ادمین)","description":"دریافت اطلاعات کیف‌پول کسب‌وکار شامل موجودی قابل استفاده، موجودی در انتظار و وضعیت (فقط برای سوپر ادمین)","operationId":"get_business_wallet_admin_api_v1_admin_businesses__business_id__wallet_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"}],"responses":{"200":{"description":"اطلاعات کیف‌پول با موفقیت دریافت شد","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Business Wallet Admin Api V1 Admin Businesses  Business Id  Wallet Get"},"example":{"success":true,"message":"اطلاعات کیف‌پول دریافت شد","data":{"business_id":1,"available_balance":1000000.0,"pending_balance":0.0,"status":"active","base_currency_code":"IRR","base_currency_id":1}}}}},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - فقط سوپر ادمین"},"404":{"description":"کسب‌وکار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/businesses/{business_id}/wallet/add-gift":{"post":{"tags":["admin-businesses"],"summary":"افزودن موجودی هدیه به کیف‌پول (سوپر ادمین)","description":"افزودن موجودی هدیه به کیف‌پول کسب‌وکار توسط مدیر سیستم. این عملیات یک سند حسابداری ایجاد می‌کند (فقط برای سوپر ادمین)","operationId":"add_gift_balance_business_admin_api_v1_admin_businesses__business_id__wallet_add_gift_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه کسب‌وکار","title":"Business Id"},"description":"شناسه کسب‌وکار"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"موجودی هدیه با موفقیت اضافه شد","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add Gift Balance Business Admin Api V1 Admin Businesses  Business Id  Wallet Add Gift Post"},"example":{"success":true,"message":"موجودی هدیه با موفقیت اضافه شد","data":{"transaction_id":123,"business_id":1,"amount":500000.0,"available_balance":1500000.0,"pending_balance":0.0,"status":"active","document_id":456}}}}},"400":{"description":"مبلغ نامعتبر است"},"401":{"description":"کاربر احراز هویت نشده است"},"403":{"description":"دسترسی غیرمجاز - فقط سوپر ادمین"},"404":{"description":"کسب‌وکار یافت نشد"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}/app-permissions":{"get":{"tags":["مدیریت کاربران","مدیریت سیستم"],"summary":"دریافت App Permissions کاربر","description":"دریافت دسترسی‌های سطح اپلیکیشن یک کاربر. نیاز به مجوز SuperAdmin دارد.","operationId":"get_user_app_permissions_api_v1_admin_users__user_id__app_permissions_get","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppPermissionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"put":{"tags":["مدیریت کاربران","مدیریت سیستم"],"summary":"به‌روزرسانی App Permissions کاربر","description":"به‌روزرسانی دسترسی‌های سطح اپلیکیشن یک کاربر. فقط SuperAdmin.","operationId":"update_user_app_permissions_api_v1_admin_users__user_id__app_permissions_put","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateAppPermissionsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/admin/users/operators":{"get":{"tags":["مدیریت کاربران","مدیریت سیستم"],"summary":"لیست اپراتورهای پشتیبانی","description":"دریافت لیست تمام اپراتورهای پشتیبانی فعال","operationId":"list_support_operators_api_v1_admin_users_operators_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/admin/users/operators/{user_id}":{"post":{"tags":["مدیریت کاربران","مدیریت سیستم"],"summary":"اضافه کردن اپراتور پشتیبانی","description":"افزودن مجوز اپراتور پشتیبانی به یک کاربر","operationId":"add_support_operator_api_v1_admin_users_operators__user_id__post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]},"delete":{"tags":["مدیریت کاربران","مدیریت سیستم"],"summary":"حذف اپراتور پشتیبانی","description":"لغو مجوز اپراتور پشتیبانی از یک کاربر","operationId":"remove_support_operator_api_v1_admin_users_operators__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"ApiKeyAuth":[]}]}},"/api/v1/admin/scripts":{"get":{"tags":["مدیریت سیستم"],"summary":"لیست اسکریپت‌های ادمین","description":"دریافت کاتالوگ اسکریپت‌های قابل اجرا توسط مدیر سیستم","operationId":"list_scripts_endpoint_api_v1_admin_scripts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/scripts/{script_key}/runs":{"post":{"tags":["مدیریت سیستم"],"summary":"ایجاد اجرای اسکریپت","description":"ایجاد اجرای جدید برای یک اسکریپت. اجرای واقعی در پس‌زمینه انجام می‌شود.","operationId":"create_script_run_endpoint_api_v1_admin_scripts__script_key__runs_post","parameters":[{"name":"script_key","in":"path","required":true,"schema":{"type":"string","title":"Script Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScriptRunCreatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scripts/runs":{"get":{"tags":["مدیریت سیستم"],"summary":"لیست اجرای اسکریپت‌ها","description":"لیست تاریخچه اجرای اسکریپت‌ها با امکان فیلتر","operationId":"list_script_runs_endpoint_api_v1_admin_scripts_runs_get","parameters":[{"name":"script_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Script Key"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"take","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Take"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/scripts/runs/{run_id}":{"get":{"tags":["مدیریت سیستم"],"summary":"جزئیات اجرای اسکریپت","description":"نمایش جزئیات اجرای اسکریپت به همراه لاگ‌ها","operationId":"get_script_run_endpoint_api_v1_admin_scripts_runs__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run 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/scripts/runs/{run_id}/cancel":{"post":{"tags":["مدیریت سیستم"],"summary":"لغو اجرای اسکریپت","description":"علامت‌گذاری اجرای در حال انجام به عنوان لغو شده","operationId":"cancel_script_run_endpoint_api_v1_admin_scripts_runs__run_id__cancel_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"integer","title":"Run 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/payment-gateways":{"get":{"tags":["admin-payment-gateways"],"summary":"فهرست درگاه‌های پرداخت","operationId":"list_payment_gateways_api_v1_admin_payment_gateways_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Payment Gateways Api V1 Admin Payment Gateways Get"}}}}}},"post":{"tags":["admin-payment-gateways"],"summary":"ایجاد درگاه پرداخت","operationId":"create_payment_gateway_api_v1_admin_payment_gateways_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Payment Gateway Api V1 Admin Payment Gateways Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/payment-gateways/{gateway_id}":{"get":{"tags":["admin-payment-gateways"],"summary":"دریافت جزئیات درگاه پرداخت","operationId":"get_payment_gateway_api_v1_admin_payment_gateways__gateway_id__get","parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"integer","title":"Gateway Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Payment Gateway Api V1 Admin Payment Gateways  Gateway Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["admin-payment-gateways"],"summary":"ویرایش درگاه پرداخت","operationId":"update_payment_gateway_api_v1_admin_payment_gateways__gateway_id__put","parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"integer","title":"Gateway Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Payment Gateway Api V1 Admin Payment Gateways  Gateway Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-payment-gateways"],"summary":"حذف درگاه پرداخت","operationId":"delete_payment_gateway_api_v1_admin_payment_gateways__gateway_id__delete","parameters":[{"name":"gateway_id","in":"path","required":true,"schema":{"type":"integer","title":"Gateway Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Payment Gateway Api V1 Admin Payment Gateways  Gateway Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/announcements":{"get":{"tags":["admin_announcements"],"summary":"لیست اعلان‌ها (ادمین)","operationId":"admin_list_endpoint_api_v1_admin_announcements_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Level"}},{"name":"active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin List Endpoint Api V1 Admin Announcements Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin_announcements"],"summary":"ایجاد اعلان (ادمین)","operationId":"admin_create_endpoint_api_v1_admin_announcements_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Create Endpoint Api V1 Admin Announcements Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/announcements/{announcement_id}":{"put":{"tags":["admin_announcements"],"summary":"ویرایش اعلان (ادمین)","operationId":"admin_update_endpoint_api_v1_admin_announcements__announcement_id__put","parameters":[{"name":"announcement_id","in":"path","required":true,"schema":{"type":"integer","title":"Announcement Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Update Endpoint Api V1 Admin Announcements  Announcement Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin_announcements"],"summary":"حذف اعلان (ادمین)","operationId":"admin_delete_endpoint_api_v1_admin_announcements__announcement_id__delete","parameters":[{"name":"announcement_id","in":"path","required":true,"schema":{"type":"integer","title":"Announcement Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Delete Endpoint Api V1 Admin Announcements  Announcement Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/announcements/{announcement_id}/publish":{"post":{"tags":["admin_announcements"],"summary":"انتشار/توقف اعلان (ادمین)","operationId":"admin_publish_endpoint_api_v1_admin_announcements__announcement_id__publish_post","parameters":[{"name":"announcement_id","in":"path","required":true,"schema":{"type":"integer","title":"Announcement Id"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Admin Publish Endpoint Api V1 Admin Announcements  Announcement Id  Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-templates":{"get":{"tags":["admin.notification_templates"],"summary":"لیست قالب‌ها","operationId":"list_templates_api_v1_admin_notification_templates_get","parameters":[{"name":"event_key","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر بر اساس event_key","title":"Event Key"},"description":"فیلتر بر اساس event_key"},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر بر اساس channel","title":"Channel"},"description":"فیلتر بر اساس channel"},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فیلتر بر اساس وضعیت فعال/غیرفعال","title":"Is Active"},"description":"فیلتر بر اساس وضعیت فعال/غیرفعال"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Templates Api V1 Admin Notification Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin.notification_templates"],"summary":"ایجاد قالب","operationId":"create_template_api_v1_admin_notification_templates_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Template Api V1 Admin Notification Templates Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-templates/list":{"post":{"tags":["admin.notification_templates"],"summary":"لیست قالب‌ها با QueryInfo","operationId":"list_templates_with_query_api_v1_admin_notification_templates_list_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Query Info"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Templates With Query Api V1 Admin Notification Templates List Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-templates/{template_id}":{"put":{"tags":["admin.notification_templates"],"summary":"ویرایش قالب","operationId":"update_template_api_v1_admin_notification_templates__template_id__put","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplatePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Template Api V1 Admin Notification Templates  Template Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin.notification_templates"],"summary":"حذف قالب","operationId":"delete_template_api_v1_admin_notification_templates__template_id__delete","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Template Api V1 Admin Notification Templates  Template Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-templates/preview":{"post":{"tags":["admin.notification_templates"],"summary":"پیش‌نمایش رندر قالب نوتیفیکیشن","operationId":"preview_template_api_v1_admin_notification_templates_preview_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Preview Template Api V1 Admin Notification Templates Preview Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/queue":{"get":{"tags":["Admin - Notification Moderation"],"summary":"Get Moderation Queue","description":"دریافت صف بررسی قالب‌ها\n\nفقط مدیران سیستم دسترسی دارند","operationId":"get_moderation_queue_api_v1_admin_notification_moderation_queue_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر وضعیت","title":"Status"},"description":"فیلتر وضعیت"},{"name":"ai_decision","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر تصمیم AI","title":"Ai Decision"},"description":"فیلتر تصمیم AI"},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر کسب‌وکار","title":"Business Id"},"description":"فیلتر کسب‌وکار"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"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/notification-moderation/queue/stats":{"get":{"tags":["Admin - Notification Moderation"],"summary":"Get Queue Stats","description":"آمار کلی صف بررسی","operationId":"get_queue_stats_api_v1_admin_notification_moderation_queue_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/admin/notification-moderation/queue/{queue_id}/approve":{"post":{"tags":["Admin - Notification Moderation"],"summary":"Approve Template","description":"تایید قالب توسط مدیر سیستم","operationId":"approve_template_api_v1_admin_notification_moderation_queue__queue_id__approve_post","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/queue/{queue_id}/reject":{"post":{"tags":["Admin - Notification Moderation"],"summary":"Reject Template","description":"رد قالب توسط مدیر سیستم","operationId":"reject_template_api_v1_admin_notification_moderation_queue__queue_id__reject_post","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/queue/{queue_id}/template":{"patch":{"tags":["Admin - Notification Moderation"],"summary":"Admin Edit Queue Template","description":"ویرایش محتوای قالب توسط مدیر (فقط برای آیتم‌های در وضعیت قابل بررسی)","operationId":"admin_edit_queue_template_api_v1_admin_notification_moderation_queue__queue_id__template_patch","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminEditTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/{queue_id}/approve":{"post":{"tags":["Admin - Notification Moderation"],"summary":"Approve Template Alt","description":"تایید قالب توسط مدیر سیستم (endpoint جایگزین بدون /queue/)","operationId":"approve_template_alt_api_v1_admin_notification_moderation__queue_id__approve_post","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ApproveTemplateRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/{queue_id}/reject":{"post":{"tags":["Admin - Notification Moderation"],"summary":"Reject Template Alt","description":"رد قالب توسط مدیر سیستم (endpoint جایگزین بدون /queue/)","operationId":"reject_template_alt_api_v1_admin_notification_moderation__queue_id__reject_post","parameters":[{"name":"queue_id","in":"path","required":true,"schema":{"type":"integer","title":"Queue Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/notification-moderation/templates/{template_id}":{"get":{"tags":["Admin - Notification Moderation"],"summary":"Get Template For Review","description":"دریافت جزئیات کامل قالب برای بررسی","operationId":"get_template_for_review_api_v1_admin_notification_moderation_templates__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"integer","title":"Template 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/document-monetization/subscription-plans":{"get":{"tags":["admin-document-monetization"],"summary":"لیست پلن‌های اشتراک اسناد","operationId":"list_subscription_plans_endpoint_api_v1_admin_document_monetization_subscription_plans_get","parameters":[{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Subscription Plans Endpoint Api V1 Admin Document Monetization Subscription Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin-document-monetization"],"summary":"ایجاد پلن اشتراک","operationId":"create_subscription_plan_endpoint_api_v1_admin_document_monetization_subscription_plans_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Subscription Plan Endpoint Api V1 Admin Document Monetization Subscription Plans Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/subscription-plans/{plan_id}":{"put":{"tags":["admin-document-monetization"],"summary":"ویرایش پلن اشتراک","operationId":"update_subscription_plan_endpoint_api_v1_admin_document_monetization_subscription_plans__plan_id__put","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Subscription Plan Endpoint Api V1 Admin Document Monetization Subscription Plans  Plan Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-document-monetization"],"summary":"حذف/غیرفعال کردن پلن","operationId":"delete_subscription_plan_endpoint_api_v1_admin_document_monetization_subscription_plans__plan_id__delete","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Subscription Plan Endpoint Api V1 Admin Document Monetization Subscription Plans  Plan Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/business/{business_id}/policies":{"get":{"tags":["admin-document-monetization"],"summary":"لیست سیاست‌های کسب‌وکار","operationId":"list_business_policies_endpoint_api_v1_admin_document_monetization_business__business_id__policies_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Policies Endpoint Api V1 Admin Document Monetization Business  Business Id  Policies Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["admin-document-monetization"],"summary":"ایجاد سیاست جدید برای کسب‌وکار","operationId":"create_business_policy_endpoint_api_v1_admin_document_monetization_business__business_id__policies_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Business Policy Endpoint Api V1 Admin Document Monetization Business  Business Id  Policies Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/business/{business_id}/policies/{policy_id}":{"put":{"tags":["admin-document-monetization"],"summary":"ویرایش سیاست کسب‌وکار","operationId":"update_business_policy_endpoint_api_v1_admin_document_monetization_business__business_id__policies__policy_id__put","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"policy_id","in":"path","required":true,"schema":{"type":"integer","title":"Policy Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Business Policy Endpoint Api V1 Admin Document Monetization Business  Business Id  Policies  Policy Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-document-monetization"],"summary":"حذف سیاست کسب‌وکار","operationId":"delete_business_policy_endpoint_api_v1_admin_document_monetization_business__business_id__policies__policy_id__delete","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"policy_id","in":"path","required":true,"schema":{"type":"integer","title":"Policy Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Business Policy Endpoint Api V1 Admin Document Monetization Business  Business Id  Policies  Policy Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/business/{business_id}/subscriptions":{"post":{"tags":["admin-document-monetization"],"summary":"اختصاص پلن اشتراک به کسب‌وکار","operationId":"assign_subscription_endpoint_api_v1_admin_document_monetization_business__business_id__subscriptions_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Assign Subscription Endpoint Api V1 Admin Document Monetization Business  Business Id  Subscriptions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/business/{business_id}/charges":{"get":{"tags":["admin-document-monetization"],"summary":"لیست صورتحساب‌های سناریوی اسناد","operationId":"list_business_charges_endpoint_api_v1_admin_document_monetization_business__business_id__charges_get","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","title":"Business Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"charge_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Charge Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Business Charges Endpoint Api V1 Admin Document Monetization Business  Business Id  Charges Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/process-pending":{"post":{"tags":["admin-document-monetization"],"summary":"اجرای پردازش اسناد معوق","operationId":"process_pending_endpoint_api_v1_admin_document_monetization_process_pending_post","parameters":[{"name":"batch_size","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Batch Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Process Pending Endpoint Api V1 Admin Document Monetization Process Pending Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/document-monetization/default-policies":{"get":{"tags":["admin-document-monetization"],"summary":"دریافت سیاست‌های پیش‌فرض کسب‌وکارهای جدید","operationId":"get_default_policies_endpoint_api_v1_admin_document_monetization_default_policies_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Default Policies Endpoint Api V1 Admin Document Monetization Default Policies Get"}}}}}},"put":{"tags":["admin-document-monetization"],"summary":"تنظیم سیاست‌های پیش‌فرض کسب‌وکارهای جدید","operationId":"set_default_policies_endpoint_api_v1_admin_document_monetization_default_policies_put","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Default Policies Endpoint Api V1 Admin Document Monetization Default Policies Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/settings":{"get":{"tags":["admin-zohal"],"summary":"دریافت تنظیمات سرویس زحل","description":"خواندن تنظیمات API Key و پیکربندی سرویس زحل","operationId":"get_zohal_settings_endpoint_api_v1_admin_zohal_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Zohal Settings Endpoint Api V1 Admin Zohal Settings Get"}}}}}},"put":{"tags":["admin-zohal"],"summary":"تنظیم پیکربندی سرویس زحل","description":"تنظیم API Key، آدرس پایه و آستانه موجودی کم برای سرویس زحل","operationId":"set_zohal_settings_endpoint_api_v1_admin_zohal_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ZohalSettingsPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Set Zohal Settings Endpoint Api V1 Admin Zohal Settings Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/services":{"get":{"tags":["admin-zohal"],"summary":"لیست سرویس‌های زحل","description":"دریافت لیست تمام سرویس‌های زحل با امکان فیلتر","operationId":"list_zohal_services_endpoint_api_v1_admin_zohal_services_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"فیلتر بر اساس دسته‌بندی","title":"Category"},"description":"فیلتر بر اساس دسته‌بندی"},{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط سرویس‌های فعال","title":"Only Active"},"description":"فقط سرویس‌های فعال"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Zohal Services Endpoint Api V1 Admin Zohal Services Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/services/{service_id}":{"get":{"tags":["admin-zohal"],"summary":"دریافت اطلاعات یک سرویس","description":"دریافت جزئیات یک سرویس زحل","operationId":"get_zohal_service_endpoint_api_v1_admin_zohal_services__service_id__get","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه سرویس","title":"Service Id"},"description":"شناسه سرویس"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Zohal Service Endpoint Api V1 Admin Zohal Services  Service Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/services/{service_id}/toggle":{"put":{"tags":["admin-zohal"],"summary":"فعال/غیرفعال کردن سرویس","description":"تغییر وضعیت فعال/غیرفعال یک سرویس","operationId":"toggle_zohal_service_endpoint_api_v1_admin_zohal_services__service_id__toggle_put","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه سرویس","title":"Service Id"},"description":"شناسه سرویس"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleServicePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Toggle Zohal Service Endpoint Api V1 Admin Zohal Services  Service Id  Toggle Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/services/{service_id}/price":{"put":{"tags":["admin-zohal"],"summary":"به‌روزرسانی قیمت سرویس","description":"تغییر قیمت و ارز یک سرویس","operationId":"update_zohal_service_price_endpoint_api_v1_admin_zohal_services__service_id__price_put","parameters":[{"name":"service_id","in":"path","required":true,"schema":{"type":"integer","description":"شناسه سرویس","title":"Service Id"},"description":"شناسه سرویس"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePricePayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Zohal Service Price Endpoint Api V1 Admin Zohal Services  Service Id  Price Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/services/load-from-json":{"post":{"tags":["admin-zohal"],"summary":"بارگذاری سرویس‌ها از فایل JSON","description":"بارگذاری و به‌روزرسانی سرویس‌ها از فایل OpenAPI JSON","operationId":"load_services_from_json_endpoint_api_v1_admin_zohal_services_load_from_json_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoadServicesPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Load Services From Json Endpoint Api V1 Admin Zohal Services Load From Json Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/zohal/statistics":{"get":{"tags":["admin-zohal"],"summary":"آمار استفاده از سرویس‌های زحل","description":"دریافت آمار استفاده از سرویس‌های زحل","operationId":"get_zohal_statistics_endpoint_api_v1_admin_zohal_statistics_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ شروع (ISO format)","title":"Start Date"},"description":"تاریخ شروع (ISO format)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ پایان (ISO format)","title":"End Date"},"description":"تاریخ پایان (ISO format)"},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس کسب‌وکار","title":"Business Id"},"description":"فیلتر بر اساس کسب‌وکار"},{"name":"service_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"فیلتر بر اساس سرویس","title":"Service Id"},"description":"فیلتر بر اساس سرویس"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Zohal Statistics Endpoint Api V1 Admin Zohal Statistics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketplace/plugins":{"post":{"tags":["admin-marketplace"],"summary":"ایجاد افزونه جدید","description":"ایجاد افزونه جدید در بازار افزونه‌ها","operationId":"create_plugin_endpoint_api_v1_admin_marketplace_plugins_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Plugin Endpoint Api V1 Admin Marketplace Plugins Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin-marketplace"],"summary":"لیست تمام افزونه‌ها","description":"دریافت لیست تمام افزونه‌ها (برای ادمین)","operationId":"list_all_plugins_endpoint_api_v1_admin_marketplace_plugins_get","parameters":[{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"فقط افزونه‌های فعال","title":"Only Active"},"description":"فقط افزونه‌های فعال"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List All Plugins Endpoint Api V1 Admin Marketplace Plugins Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketplace/plugins/{plugin_id}":{"put":{"tags":["admin-marketplace"],"summary":"ویرایش افزونه","description":"ویرایش افزونه موجود","operationId":"update_plugin_endpoint_api_v1_admin_marketplace_plugins__plugin_id__put","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"integer","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Plugin Endpoint Api V1 Admin Marketplace Plugins  Plugin Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-marketplace"],"summary":"حذف افزونه","description":"حذف افزونه (یا غیرفعال کردن در صورت استفاده)","operationId":"delete_plugin_endpoint_api_v1_admin_marketplace_plugins__plugin_id__delete","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"integer","title":"Plugin Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Plugin Endpoint Api V1 Admin Marketplace Plugins  Plugin Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketplace/plugins/sync-defaults":{"post":{"tags":["admin-marketplace"],"summary":"به‌روزرسانی لیست افزونه‌های پیش‌فرض بازار","description":"ایجاد یا تکمیل افزونه‌ها و پلن‌های سیستمی (نصب‌های قدیمی و محیط‌های جدید)","operationId":"sync_default_plugins_endpoint_api_v1_admin_marketplace_plugins_sync_defaults_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Sync Default Plugins Endpoint Api V1 Admin Marketplace Plugins Sync Defaults Post"}}}}}}},"/api/v1/admin/marketplace/plugins/{plugin_id}/plans":{"post":{"tags":["admin-marketplace"],"summary":"ایجاد پلن برای افزونه","description":"ایجاد پلن جدید برای یک افزونه","operationId":"create_plugin_plan_endpoint_api_v1_admin_marketplace_plugins__plugin_id__plans_post","parameters":[{"name":"plugin_id","in":"path","required":true,"schema":{"type":"integer","title":"Plugin Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Plugin Plan Endpoint Api V1 Admin Marketplace Plugins  Plugin Id  Plans Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketplace/plans/{plan_id}":{"put":{"tags":["admin-marketplace"],"summary":"ویرایش پلن","description":"ویرایش پلن موجود","operationId":"update_plugin_plan_endpoint_api_v1_admin_marketplace_plans__plan_id__put","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Plugin Plan Endpoint Api V1 Admin Marketplace Plans  Plan Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-marketplace"],"summary":"حذف پلن","description":"حذف پلن (یا غیرفعال کردن در صورت استفاده)","operationId":"delete_plugin_plan_endpoint_api_v1_admin_marketplace_plans__plan_id__delete","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Plugin Plan Endpoint Api V1 Admin Marketplace Plans  Plan Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/marketplace/licenses/check-expired":{"post":{"tags":["admin-marketplace"],"summary":"بررسی لایسنس‌های منقضی شده","description":"بررسی و به‌روزرسانی لایسنس‌های منقضی شده","operationId":"check_expired_licenses_endpoint_api_v1_admin_marketplace_licenses_check_expired_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Check Expired Licenses Endpoint Api V1 Admin Marketplace Licenses Check Expired Post"}}}}}}},"/api/v1/admin/ai/config":{"get":{"tags":["admin-ai"],"summary":"دریافت تنظیمات AI","description":"دریافت تنظیمات AI (فقط مدیر سیستم)","operationId":"get_ai_config_api_v1_admin_ai_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Ai Config Api V1 Admin Ai Config Get"}}}}}},"put":{"tags":["admin-ai"],"summary":"به‌روزرسانی تنظیمات AI","description":"به‌روزرسانی تنظیمات AI (فقط مدیر سیستم)","operationId":"update_ai_config_api_v1_admin_ai_config_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIConfigRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Update Ai Config Api V1 Admin Ai Config Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/ai/config/test-connection":{"post":{"tags":["admin-ai"],"summary":"تست اتصال به AI Provider","description":"تست اتصال به AI Provider (فقط مدیر سیستم)","operationId":"test_ai_connection_api_v1_admin_ai_config_test_connection_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Test Ai Connection Api V1 Admin Ai Config Test Connection Post"}}}}}}},"/api/v1/admin/ai/plans":{"post":{"tags":["admin-ai-plans"],"summary":"ایجاد پلن AI جدید","description":"ایجاد پلن AI جدید (فقط مدیر سیستم)","operationId":"create_ai_plan_api_v1_admin_ai_plans_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Ai Plan Api V1 Admin Ai Plans Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["admin-ai-plans"],"summary":"لیست پلن‌های AI","description":"دریافت لیست پلن‌های AI (فقط مدیر سیستم)","operationId":"list_ai_plans_api_v1_admin_ai_plans_get","parameters":[{"name":"only_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Active"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Ai Plans Api V1 Admin Ai Plans Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/ai/plans/{plan_id}":{"get":{"tags":["admin-ai-plans"],"summary":"جزئیات پلن","description":"دریافت جزئیات یک پلن (فقط مدیر سیستم)","operationId":"get_ai_plan_api_v1_admin_ai_plans__plan_id__get","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Ai Plan Api V1 Admin Ai Plans  Plan Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["admin-ai-plans"],"summary":"ویرایش پلن","description":"ویرایش پلن (فقط مدیر سیستم)","operationId":"update_ai_plan_api_v1_admin_ai_plans__plan_id__put","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Ai Plan Api V1 Admin Ai Plans  Plan Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin-ai-plans"],"summary":"حذف/غیرفعال کردن پلن","description":"غیرفعال کردن پلن (فقط مدیر سیستم)","operationId":"delete_ai_plan_api_v1_admin_ai_plans__plan_id__delete","parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"integer","title":"Plan Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Ai Plan Api V1 Admin Ai Plans  Plan Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/ai/prompts/default":{"get":{"tags":["admin-ai-prompts"],"summary":"دریافت prompt های پیش‌فرض","description":"دریافت prompt های پیش‌فرض (فقط مدیر سیستم)","operationId":"get_default_prompts_api_v1_admin_ai_prompts_default_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Default Prompts Api V1 Admin Ai Prompts Default Get"}}}}}}},"/api/v1/admin/ai/prompts/default/{role}":{"put":{"tags":["admin-ai-prompts"],"summary":"به‌روزرسانی prompt پیش‌فرض","description":"به‌روزرسانی prompt پیش‌فرض (فقط مدیر سیستم)","operationId":"update_default_prompt_endpoint_api_v1_admin_ai_prompts_default__role__put","parameters":[{"name":"role","in":"path","required":true,"schema":{"type":"string","title":"Role"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_default_prompt_endpoint_api_v1_admin_ai_prompts_default__role__put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update Default Prompt Endpoint Api V1 Admin Ai Prompts Default  Role  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/chat/check-availability":{"post":{"tags":["هوش مصنوعی"],"summary":"بررسی امکان استفاده از AI","description":"بررسی اینکه آیا کاربر می‌تواند از AI استفاده کند\n(چک پیشگیرانه قبل از ارسال پیام)","operationId":"check_ai_availability_api_v1_ai_chat_check_availability_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckAvailabilityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Check Ai Availability Api V1 Ai Chat Check Availability Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/chat/sessions":{"get":{"tags":["هوش مصنوعی"],"summary":"لیست گفت‌وگوها","description":"دریافت لیست گفت‌وگوهای کاربر","operationId":"get_chat_sessions_api_v1_ai_chat_sessions_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Chat Sessions Api V1 Ai Chat Sessions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["هوش مصنوعی"],"summary":"ایجاد گفت‌وگوی جدید","description":"ایجاد گفت‌وگوی جدید","operationId":"create_chat_session_api_v1_ai_chat_sessions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_create_chat_session_api_v1_ai_chat_sessions_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Chat Session Api V1 Ai Chat Sessions Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/chat/sessions/{session_id}/messages":{"get":{"tags":["هوش مصنوعی"],"summary":"دریافت پیام‌های جلسه","description":"دریافت پیام‌های یک گفت‌وگو","operationId":"get_session_messages_api_v1_ai_chat_sessions__session_id__messages_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Session Messages Api V1 Ai Chat Sessions  Session Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["هوش مصنوعی"],"summary":"ارسال پیام به AI","description":"ارسال پیام به AI و دریافت پاسخ (با یا بدون streaming)","operationId":"send_message_api_v1_ai_chat_sessions__session_id__messages_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}},{"name":"stream","in":"query","required":false,"schema":{"type":"boolean","description":"استفاده از streaming","default":false,"title":"Stream"},"description":"استفاده از streaming"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/chat/sessions/{session_id}":{"delete":{"tags":["هوش مصنوعی"],"summary":"حذف گفت‌وگو","description":"حذف گفت‌وگو","operationId":"delete_chat_session_api_v1_ai_chat_sessions__session_id__delete","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete Chat Session Api V1 Ai Chat Sessions  Session Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/crm/businesses/{business_id}/summarize-lead":{"post":{"tags":["AI-CRM"],"summary":"خلاصه و پیشنهاد مرحله بعد برای سرنخ","description":"دریافت خلاصه AI و پیشنهاد مرحله بعد برای یک سرنخ","operationId":"summarize_lead_api_v1_ai_crm_businesses__business_id__summarize_lead_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_summarize_lead_api_v1_ai_crm_businesses__business_id__summarize_lead_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Summarize Lead Api V1 Ai Crm Businesses  Business Id  Summarize Lead Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/crm/businesses/{business_id}/summarize-deal":{"post":{"tags":["AI-CRM"],"summary":"خلاصه و پیشنهاد مرحله بعد برای فرصت فروش","description":"دریافت خلاصه AI و پیشنهاد مرحله بعد برای یک فرصت فروش","operationId":"summarize_deal_api_v1_ai_crm_businesses__business_id__summarize_deal_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_summarize_deal_api_v1_ai_crm_businesses__business_id__summarize_deal_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Summarize Deal Api V1 Ai Crm Businesses  Business Id  Summarize Deal Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/crm/businesses/{business_id}/suggest-activity-text":{"post":{"tags":["AI-CRM"],"summary":"پیشنهاد متن فعالیت (تماس، ایمیل، جلسه، یادداشت)","description":"پیشنهاد متن برای فعالیت CRM بر اساس شخص و فرصت فروش","operationId":"suggest_activity_text_api_v1_ai_crm_businesses__business_id__suggest_activity_text_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_suggest_activity_text_api_v1_ai_crm_businesses__business_id__suggest_activity_text_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Suggest Activity Text Api V1 Ai Crm Businesses  Business Id  Suggest Activity Text Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/crm/businesses/{business_id}/suggest-deal-probability":{"post":{"tags":["AI-CRM"],"summary":"پیشنهاد احتمال موفقیت فرصت فروش","description":"پیشنهاد احتمال موفقیت (۰-۱۰۰) برای فرصت فروش","operationId":"suggest_deal_probability_api_v1_ai_crm_businesses__business_id__suggest_deal_probability_post","parameters":[{"name":"business_id","in":"path","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Business Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_suggest_deal_probability_api_v1_ai_crm_businesses__business_id__suggest_deal_probability_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Suggest Deal Probability Api V1 Ai Crm Businesses  Business Id  Suggest Deal Probability Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription":{"get":{"tags":["هوش مصنوعی"],"summary":"دریافت اشتراک فعلی","description":"دریافت اشتراک فعال کاربر","operationId":"get_subscription_api_v1_ai_subscription_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Subscription Api V1 Ai Subscription Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription/current":{"get":{"tags":["هوش مصنوعی"],"summary":"دریافت اشتراک فعلی (alias)","description":"Alias برای سازگاری با frontend","operationId":"get_subscription_current_api_v1_ai_subscription_current_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Subscription Current Api V1 Ai Subscription Current Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription/subscribe":{"post":{"tags":["هوش مصنوعی"],"summary":"اشتراک به پلن","description":"اشتراک به یک پلن AI","operationId":"subscribe_to_plan_endpoint_api_v1_ai_subscription_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_subscribe_to_plan_endpoint_api_v1_ai_subscription_subscribe_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Subscribe To Plan Endpoint Api V1 Ai Subscription Subscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription/upgrade":{"post":{"tags":["هوش مصنوعی"],"summary":"ارتقا به پلن دیگر","description":"ارتقا به پلن دیگر؛ منطق با subscribe یکسان است (اشتراک فعال قبلی غیرفعال می‌شود).","operationId":"upgrade_to_plan_api_v1_ai_subscription_upgrade_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_upgrade_to_plan_api_v1_ai_subscription_upgrade_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Upgrade To Plan Api V1 Ai Subscription Upgrade Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription/usage":{"get":{"tags":["هوش مصنوعی"],"summary":"آمار استفاده","description":"دریافت آمار استفاده از AI","operationId":"get_usage_statistics_api_v1_ai_subscription_usage_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"from_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Date"}},{"name":"to_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Usage Statistics Api V1 Ai Subscription Usage Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/subscription/cancel":{"post":{"tags":["هوش مصنوعی"],"summary":"لغو اشتراک فعال","description":"لغو اشتراک فعال کاربر","operationId":"cancel_subscription_api_v1_ai_subscription_cancel_post","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Subscription Api V1 Ai Subscription Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/prompts/my":{"get":{"tags":["هوش مصنوعی"],"summary":"دریافت prompt های شخصی","description":"دریافت prompt های شخصی کاربر","operationId":"get_my_prompts_api_v1_ai_prompts_my_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get My Prompts Api V1 Ai Prompts My Get"}}}}}},"post":{"tags":["هوش مصنوعی"],"summary":"ایجاد prompt شخصی","description":"ایجاد prompt شخصی","operationId":"create_my_prompt_api_v1_ai_prompts_my_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePromptRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create My Prompt Api V1 Ai Prompts My Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/prompts/my/{prompt_id}":{"put":{"tags":["هوش مصنوعی"],"summary":"ویرایش prompt شخصی","description":"ویرایش prompt شخصی","operationId":"update_my_prompt_api_v1_ai_prompts_my__prompt_id__put","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"integer","title":"Prompt Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Body_update_my_prompt_api_v1_ai_prompts_my__prompt_id__put"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Update My Prompt Api V1 Ai Prompts My  Prompt Id  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["هوش مصنوعی"],"summary":"حذف prompt شخصی","description":"حذف prompt شخصی","operationId":"delete_my_prompt_api_v1_ai_prompts_my__prompt_id__delete","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"integer","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Delete My Prompt Api V1 Ai Prompts My  Prompt Id  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/stats":{"get":{"tags":["ai-usage"],"summary":"آمار استفاده از AI","description":"دریافت آمار استفاده از AI","operationId":"get_usage_stats_api_v1_ai_usage_stats_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ شروع (ISO format)","title":"Start Date"},"description":"تاریخ شروع (ISO format)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"تاریخ پایان (ISO format)","title":"End Date"},"description":"تاریخ پایان (ISO format)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Usage Stats Api V1 Ai Usage Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/logs":{"get":{"tags":["ai-usage"],"summary":"لاگ استفاده از AI","description":"دریافت لاگ استفاده از AI","operationId":"get_usage_logs_api_v1_ai_usage_logs_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Usage Logs Api V1 Ai Usage Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/logs/table":{"post":{"tags":["ai-usage"],"summary":"جدول لاگ استفاده از AI","description":"دریافت لاگ استفاده از AI به صورت جدول با فیلتر پیشرفته","operationId":"get_usage_logs_table_api_v1_ai_usage_logs_table_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Usage Logs Table Api V1 Ai Usage Logs Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/daily/table":{"post":{"tags":["ai-usage"],"summary":"آمار روزانه AI به صورت جدول","description":"دریافت آمار استفاده روزانه با قابلیت صفحه‌بندی و فیلتر","operationId":"get_daily_usage_table_api_v1_ai_usage_daily_table_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Daily Usage Table Api V1 Ai Usage Daily Table Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/invoices":{"get":{"tags":["ai-usage"],"summary":"لیست فاکتورهای AI","description":"دریافت لیست فاکتورهای AI","operationId":"get_ai_invoices_api_v1_ai_usage_invoices_get","parameters":[{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},{"name":"invoice_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"نوع فاکتور: subscription, usage, renewal","title":"Invoice Type"},"description":"نوع فاکتور: subscription, usage, renewal"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Ai Invoices Api V1 Ai Usage Invoices Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/invoices/{invoice_id}":{"get":{"tags":["ai-usage"],"summary":"جزئیات فاکتور AI","description":"دریافت جزئیات یک فاکتور AI","operationId":"get_ai_invoice_details_api_v1_ai_usage_invoices__invoice_id__get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Ai Invoice Details Api V1 Ai Usage Invoices  Invoice Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/invoices/{invoice_id}/pay":{"post":{"tags":["ai-usage"],"summary":"پرداخت صورتحساب AI از کیف پول","description":"برای فاکتورهای در وضعیت issued (مثلاً قبل از اصلاح خودکار subscribe)","operationId":"post_pay_ai_invoice_api_v1_ai_usage_invoices__invoice_id__pay_post","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"business_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Post Pay Ai Invoice Api V1 Ai Usage Invoices  Invoice Id  Pay Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/voice/interactions/{interaction_id}/feedback":{"post":{"tags":["هوش مصنوعی"],"summary":"ثبت بازخورد کیفیت صدای AI","operationId":"submit_voice_feedback_api_v1_ai_voice_interactions__interaction_id__feedback_post","parameters":[{"name":"interaction_id","in":"path","required":true,"schema":{"type":"integer","title":"Interaction Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceFeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Submit Voice Feedback Api V1 Ai Voice Interactions  Interaction Id  Feedback Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"tags":["general"],"summary":"اطلاعات سرویس","description":"دریافت اطلاعات کلی سرویس و نسخه","operationId":"read_root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object","title":"Response Read Root  Get"}}}}}}}},"components":{"schemas":{"AIConfigRequest":{"properties":{"provider":{"type":"string","title":"Provider"},"model_name":{"type":"string","title":"Model Name"},"api_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Base Url"},"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"max_tokens":{"type":"integer","title":"Max Tokens","default":4000},"temperature":{"type":"number","title":"Temperature","default":0.7},"is_active":{"type":"boolean","title":"Is Active","default":true},"function_calling_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Function Calling Enabled"}},"type":"object","required":["provider","model_name"],"title":"AIConfigRequest"},"AISuggestReplyRequest":{"properties":{"use_ticket_history":{"type":"boolean","title":"Use Ticket History","default":true},"use_business_info":{"type":"boolean","title":"Use Business Info","default":true}},"type":"object","title":"AISuggestReplyRequest"},"AbandonNotificationOutboxBody":{"properties":{"confirm_phrase":{"type":"string","title":"Confirm Phrase","description":"باید دقیقاً مقدار abandon_confirm_phrase از خلاصهٔ outbox باشد"},"statuses":{"items":{"type":"string"},"type":"array","title":"Statuses","description":"فقط failed و/یا pending"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel","description":"مثلاً sms — خالی یعنی همه کانال‌ها"},"event_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Key","description":"مثلاً auth.password_reset"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id","description":"محدود به یک کاربر"},"only_retry_scheduled":{"type":"boolean","title":"Only Retry Scheduled","description":"فقط ردیف‌هایی که next_attempt_at دارند","default":true},"max_rows":{"type":"integer","maximum":500000.0,"minimum":1.0,"title":"Max Rows","default":50000},"admin_note":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Admin Note","description":"یادداشت کوتاه در لاگ خطا"}},"type":"object","required":["confirm_phrase"],"title":"AbandonNotificationOutboxBody"},"AccountCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"code":{"type":"string","maxLength":50,"minLength":1,"title":"Code"},"account_type":{"type":"string","maxLength":50,"minLength":1,"title":"Account Type"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["name","code","account_type"],"title":"AccountCreateRequest"},"AccountUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"code":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Code"},"account_type":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Account Type"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"}},"type":"object","title":"AccountUpdateRequest"},"AddPartRequest":{"properties":{"product_id":{"type":"integer","title":"Product Id","description":"شناسه قطعه"},"quantity":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Quantity","description":"تعداد"},"unit_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unit Price","description":"قیمت واحد (اختیاری)"},"warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warehouse Id","description":"انبار"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["product_id","quantity"],"title":"AddPartRequest","description":"افزودن قطعه"},"AddPartsRequest":{"properties":{"parts":{"items":{"$ref":"#/components/schemas/AddPartRequest"},"type":"array","minItems":1,"title":"Parts","description":"لیست قطعات"}},"type":"object","required":["parts"],"title":"AddPartsRequest","description":"افزودن چند قطعه"},"AddUserRequest":{"properties":{"email_or_phone":{"type":"string","title":"Email Or Phone"},"membership_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Membership Expires At","description":"پایان عضویت؛ خالی یا null یعنی نامحدود."}},"type":"object","required":["email_or_phone"],"title":"AddUserRequest","example":{"email_or_phone":"user@example.com"}},"AddUserResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"user":{"anyOf":[{"$ref":"#/components/schemas/BusinessUserSchema"},{"type":"null"}]}},"type":"object","required":["success","message"],"title":"AddUserResponse"},"AdminEditTemplateRequest":{"properties":{"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject","description":"موضوع"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body","description":"متن قالب"}},"type":"object","title":"AdminEditTemplateRequest","description":"ویرایش قالب توسط مدیر (فقط برای آیتم‌های در صف)"},"AdminSetUserPasswordRequest":{"properties":{"mode":{"type":"string","enum":["direct","random"],"title":"Mode","description":"direct: new_password + confirm_password؛ random: تولید در سرور","default":"direct"},"new_password":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"New Password","description":"الزام در حالت direct"},"confirm_password":{"anyOf":[{"type":"string","maxLength":128,"minLength":8},{"type":"null"}],"title":"Confirm Password","description":"الزام در حالت direct"}},"additionalProperties":false,"type":"object","title":"AdminSetUserPasswordRequest","description":"تنظیم رمز توسط مدیر: مستقیم (انتخابی) یا تولید تصادفی (یک‌بار نمایش)."},"AppPermissionsResponse":{"properties":{"user_id":{"type":"integer","title":"User Id"},"email":{"type":"string","title":"Email"},"app_permissions":{"additionalProperties":{"type":"boolean"},"type":"object","title":"App Permissions"}},"type":"object","required":["user_id","email"],"title":"AppPermissionsResponse","description":"پاسخ دریافت App Permissions"},"ApproveTemplateRequest":{"properties":{"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"یادداشت مدیر"}},"type":"object","title":"ApproveTemplateRequest","description":"درخواست تایید قالب"},"AssignTechnicianRequest":{"properties":{"technician_id":{"type":"integer","title":"Technician Id","description":"شناسه تعمیرکار"}},"type":"object","required":["technician_id"],"title":"AssignTechnicianRequest","description":"اختصاص تعمیرکار"},"AssignTicketRequest":{"properties":{"operator_id":{"type":"integer","title":"Operator Id"}},"type":"object","required":["operator_id"],"title":"AssignTicketRequest"},"AvailableChannelsRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"identifier":{"type":"string","maxLength":255,"minLength":3,"title":"Identifier","description":"ایمیل یا شماره موبایل"}},"type":"object","required":["captcha_id","captcha_code","identifier"],"title":"AvailableChannelsRequest"},"BOMExplosionRequest":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"bom_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bom Id"},"quantity":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Quantity","description":"مقدار تولید"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},"type":"object","required":["quantity"],"title":"BOMExplosionRequest","examples":[{"product_id":1,"quantity":100}]},"BankAccountCreateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"branch":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"sheba_number":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Sheba Number"},"card_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Card Number"},"owner_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Owner Name"},"pos_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Pos Number"},"payment_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Payment Id"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"currency_id":{"type":"integer","minimum":1.0,"title":"Currency Id"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_default":{"type":"boolean","title":"Is Default","default":false}},"type":"object","required":["name","currency_id"],"title":"BankAccountCreateRequest"},"BankAccountUpdateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"branch":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"sheba_number":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Sheba Number"},"card_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Card Number"},"owner_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Owner Name"},"pos_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Pos Number"},"payment_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Payment Id"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"},"currency_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Currency Id"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"}},"type":"object","title":"BankAccountUpdateRequest"},"Body_create_chat_session_api_v1_ai_chat_sessions_post":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"business_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"}},"type":"object","title":"Body_create_chat_session_api_v1_ai_chat_sessions_post"},"Body_create_database_restore_endpoint_api_v1_admin_system_settings_database_restore_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"فایل بکاپ .sql یا .sql.gz"}},"type":"object","required":["file"],"title":"Body_create_database_restore_endpoint_api_v1_admin_system_settings_database_restore_post"},"Body_create_product_endpoint_api_v1_products_business__business_id__post":{"properties":{"payload":{"$ref":"#/components/schemas/ProductCreateRequest"},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","title":"Body_create_product_endpoint_api_v1_products_business__business_id__post"},"Body_delete_business_info_api_v1_businesses__business_id__delete":{"properties":{"deletion_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deletion Reason"}},"type":"object","title":"Body_delete_business_info_api_v1_businesses__business_id__delete"},"Body_import_bulk_product_prices_sheet_excel_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_import_excel_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_import_bulk_product_prices_sheet_excel_endpoint_api_v1_products_business__business_id__bulk_prices_sheet_import_excel_post"},"Body_import_business_from_backup_api_v1_businesses_import_from_backup_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_import_business_from_backup_api_v1_businesses_import_from_backup_post"},"Body_import_invoices_excel_api_v1_invoices_business__business_id__import_excel_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"فایل Excel (.xlsx) مطابق تمپلیت ایمپورت"},"dry_run":{"type":"string","title":"Dry Run","description":"true: فقط اعتبارسنجی و گزارش؛ false: ثبت فاکتورهای معتبر","default":"true"}},"type":"object","required":["file"],"title":"Body_import_invoices_excel_api_v1_invoices_business__business_id__import_excel_post"},"Body_import_persons_excel_api_v1_persons_businesses__business_id__persons_import_excel_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"dry_run":{"type":"string","title":"Dry Run","default":"true"},"match_by":{"type":"string","title":"Match By","default":"code"},"conflict_policy":{"type":"string","title":"Conflict Policy","default":"upsert"}},"type":"object","required":["file"],"title":"Body_import_persons_excel_api_v1_persons_businesses__business_id__persons_import_excel_post"},"Body_import_products_excel_api_v1_products_business__business_id__import_excel_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"dry_run":{"type":"string","title":"Dry Run","default":"true"},"match_by":{"type":"string","title":"Match By","default":"code"},"conflict_policy":{"type":"string","title":"Conflict Policy","default":"upsert"},"on_missing_category":{"type":"string","title":"On Missing Category","default":"error"},"on_missing_attributes":{"type":"string","title":"On Missing Attributes","default":"error"}},"type":"object","required":["file"],"title":"Body_import_products_excel_api_v1_products_business__business_id__import_excel_post"},"Body_import_tax_codes_endpoint_api_v1_admin_tax_product_codes_import_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"فایل XML دانلود شده از سامانه امور مالیاتی"}},"type":"object","required":["file"],"title":"Body_import_tax_codes_endpoint_api_v1_admin_tax_product_codes_import_post"},"Body_public_post_message_file_api_v1_public_crm_chat_messages_file_post":{"properties":{"visitor_token":{"type":"string","minLength":16,"title":"Visitor Token"},"conversation_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Conversation Id"},"caption":{"type":"string","title":"Caption","default":""},"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["visitor_token","conversation_id","file"],"title":"Body_public_post_message_file_api_v1_public_crm_chat_messages_file_post"},"Body_rename_file_endpoint_api_v1_business__business_id__storage_files__file_id__rename_put":{"properties":{"new_name":{"type":"string","title":"New Name"}},"type":"object","required":["new_name"],"title":"Body_rename_file_endpoint_api_v1_business__business_id__storage_files__file_id__rename_put"},"Body_restore_backup_api_v1_businesses__business_id__backups_restore_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_restore_backup_api_v1_businesses__business_id__backups_restore_post"},"Body_subscribe_to_plan_endpoint_api_v1_ai_subscription_subscribe_post":{"properties":{"plan_id":{"type":"integer","title":"Plan Id"},"business_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"},"period":{"type":"string","title":"Period","default":"monthly"}},"type":"object","required":["plan_id"],"title":"Body_subscribe_to_plan_endpoint_api_v1_ai_subscription_subscribe_post"},"Body_suggest_activity_text_api_v1_ai_crm_businesses__business_id__suggest_activity_text_post":{"properties":{"person_id":{"type":"integer","title":"Person Id"},"activity_type":{"type":"string","title":"Activity Type","default":"note"},"deal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["person_id"],"title":"Body_suggest_activity_text_api_v1_ai_crm_businesses__business_id__suggest_activity_text_post"},"Body_suggest_deal_probability_api_v1_ai_crm_businesses__business_id__suggest_deal_probability_post":{"properties":{"deal_id":{"type":"integer","title":"Deal Id"}},"type":"object","required":["deal_id"],"title":"Body_suggest_deal_probability_api_v1_ai_crm_businesses__business_id__suggest_deal_probability_post"},"Body_summarize_deal_api_v1_ai_crm_businesses__business_id__summarize_deal_post":{"properties":{"deal_id":{"type":"integer","title":"Deal Id"}},"type":"object","required":["deal_id"],"title":"Body_summarize_deal_api_v1_ai_crm_businesses__business_id__summarize_deal_post"},"Body_summarize_lead_api_v1_ai_crm_businesses__business_id__summarize_lead_post":{"properties":{"lead_id":{"type":"integer","title":"Lead Id"}},"type":"object","required":["lead_id"],"title":"Body_summarize_lead_api_v1_ai_crm_businesses__business_id__summarize_lead_post"},"Body_update_default_prompt_endpoint_api_v1_admin_ai_prompts_default__role__put":{"properties":{"content":{"type":"string","title":"Content"}},"type":"object","required":["content"],"title":"Body_update_default_prompt_endpoint_api_v1_admin_ai_prompts_default__role__put"},"Body_update_my_prompt_api_v1_ai_prompts_my__prompt_id__put":{"properties":{"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","title":"Body_update_my_prompt_api_v1_ai_prompts_my__prompt_id__put"},"Body_update_product_endpoint_api_v1_products_business__business_id___product_id__put":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"}},"type":"object","title":"Body_update_product_endpoint_api_v1_products_business__business_id___product_id__put"},"Body_upgrade_to_plan_api_v1_ai_subscription_upgrade_post":{"properties":{"plan_id":{"type":"integer","title":"Plan Id"},"business_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"},"period":{"type":"string","title":"Period","default":"monthly"}},"type":"object","required":["plan_id"],"title":"Body_upgrade_to_plan_api_v1_ai_subscription_upgrade_post"},"Body_upload_business_logo_api_v1_businesses__business_id__logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_business_logo_api_v1_businesses__business_id__logo_post"},"Body_upload_business_stamp_api_v1_businesses__business_id__stamp_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_business_stamp_api_v1_businesses__business_id__stamp_post"},"Body_upload_file_endpoint_api_v1_business__business_id__storage_files_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"module_context":{"type":"string","title":"Module Context","default":"accounting"},"context_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Id"}},"type":"object","required":["file"],"title":"Body_upload_file_endpoint_api_v1_business__business_id__storage_files_upload_post"},"Body_upload_my_signature_api_v1_users_me_signature_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_my_signature_api_v1_users_me_signature_post"},"BomItem":{"properties":{"line_no":{"type":"integer","title":"Line No"},"component_product_id":{"type":"integer","title":"Component Product Id"},"qty_per":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Qty Per","description":"مقدار برای تولید 1 واحد"},"uom":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Uom"},"wastage_percent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Wastage Percent"},"is_optional":{"type":"boolean","title":"Is Optional","default":false},"substitute_group":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Substitute Group"},"suggested_warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Suggested Warehouse Id"}},"type":"object","required":["line_no","component_product_id","qty_per"],"title":"BomItem"},"BomOperation":{"properties":{"line_no":{"type":"integer","title":"Line No"},"operation_name":{"type":"string","title":"Operation Name"},"cost_fixed":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Cost Fixed"},"cost_per_unit":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Cost Per Unit"},"cost_uom":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Cost Uom"},"work_center":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Work Center"}},"type":"object","required":["line_no","operation_name"],"title":"BomOperation"},"BomOutput":{"properties":{"line_no":{"type":"integer","title":"Line No"},"output_product_id":{"type":"integer","title":"Output Product Id"},"ratio":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Ratio"},"uom":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Uom"}},"type":"object","required":["line_no","output_product_id","ratio"],"title":"BomOutput"},"BulkActivateRequest":{"properties":{"user_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"User Ids","description":"لیست شناسه‌های کاربران برای فعال‌سازی","example":[1,2,3]}},"type":"object","required":["user_ids"],"title":"BulkActivateRequest","description":"درخواست فعال‌سازی دسته‌ای کاربران","example":{"user_ids":[1,2,3,4,5]}},"BulkAssignRequest":{"properties":{"ticket_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Ticket Ids","description":"لیست شناسه تیکت‌ها"},"operator_id":{"type":"integer","title":"Operator Id","description":"شناسه اپراتور"}},"type":"object","required":["ticket_ids","operator_id"],"title":"BulkAssignRequest"},"BulkDefaultWarehouseApplyResponse":{"properties":{"total_requested":{"type":"integer","title":"Total Requested"},"found_count":{"type":"integer","title":"Found Count"},"updated_count":{"type":"integer","title":"Updated Count"},"forced_service_null_count":{"type":"integer","title":"Forced Service Null Count","default":0},"skipped":{"items":{"$ref":"#/components/schemas/BulkDefaultWarehouseSkippedItem"},"type":"array","title":"Skipped"},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","required":["total_requested","found_count","updated_count"],"title":"BulkDefaultWarehouseApplyResponse"},"BulkDefaultWarehouseApplyScope":{"type":"string","enum":["track_inventory_true","track_inventory_false","all"],"title":"BulkDefaultWarehouseApplyScope","description":"دامنه اعمال تغییر انبار پیش‌فرض به صورت گروهی"},"BulkDefaultWarehousePreviewResponse":{"properties":{"total_requested":{"type":"integer","title":"Total Requested"},"found_count":{"type":"integer","title":"Found Count"},"will_update_count":{"type":"integer","title":"Will Update Count"},"forced_service_null_count":{"type":"integer","title":"Forced Service Null Count","default":0},"skipped":{"items":{"$ref":"#/components/schemas/BulkDefaultWarehouseSkippedItem"},"type":"array","title":"Skipped"},"notes":{"items":{"type":"string"},"type":"array","title":"Notes"}},"type":"object","required":["total_requested","found_count","will_update_count"],"title":"BulkDefaultWarehousePreviewResponse"},"BulkDefaultWarehouseRequest":{"properties":{"ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Ids","description":"لیست شناسه کالاها"},"default_warehouse_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Default Warehouse Id","description":"شناسه انبار پیش‌فرض جدید (اگر null باشد یعنی پاک‌سازی)"},"apply_scope":{"$ref":"#/components/schemas/BulkDefaultWarehouseApplyScope","description":"اعمال روی کالاهای انبارداری/غیرانبارداری/همه","default":"all"}},"type":"object","required":["ids"],"title":"BulkDefaultWarehouseRequest","description":"درخواست تغییر گروهی انبار پیش‌فرض کالاها"},"BulkDefaultWarehouseSkippedItem":{"properties":{"id":{"type":"integer","title":"Id"},"reason":{"type":"string","title":"Reason"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"type":"object","required":["id","reason"],"title":"BulkDefaultWarehouseSkippedItem"},"BulkPriceListItemPreview":{"properties":{"price_item_id":{"type":"integer","title":"Price Item Id"},"price_list_id":{"type":"integer","title":"Price List Id"},"price_list_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price List Name"},"currency_id":{"type":"integer","title":"Currency Id"},"tier_name":{"type":"string","title":"Tier Name"},"current_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Current Price"},"new_price":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"New Price"},"price_change":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Price Change"}},"type":"object","required":["price_item_id","price_list_id","currency_id","tier_name","current_price","new_price","price_change"],"title":"BulkPriceListItemPreview","description":"پیش‌نمایش یک ردیف قیمت در لیست قیمت"},"BulkPriceUpdateDirection":{"type":"string","enum":["increase","decrease"],"title":"BulkPriceUpdateDirection","description":"جهت تغییر قیمت"},"BulkPriceUpdatePreview":{"properties":{"product_id":{"type":"integer","title":"Product Id"},"product_name":{"type":"string","title":"Product Name"},"product_code":{"type":"string","title":"Product Code"},"category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Name"},"current_sales_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Current Sales Price"},"current_purchase_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Current Purchase Price"},"new_sales_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"New Sales Price"},"new_purchase_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"New Purchase Price"},"sales_price_change":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Sales Price Change"},"purchase_price_change":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Purchase Price Change"},"price_list_items":{"items":{"$ref":"#/components/schemas/BulkPriceListItemPreview"},"type":"array","title":"Price List Items","description":"پیش‌نمایش تغییر قیمت در لیست‌های قیمت (هم‌خوان با اعمال)"}},"type":"object","required":["product_id","product_name","product_code"],"title":"BulkPriceUpdatePreview","description":"پیش‌نمایش تغییرات قیمت"},"BulkPriceUpdatePreviewResponse":{"properties":{"total_products":{"type":"integer","title":"Total Products","description":"تعداد کل محصولات مطابق فیلترها"},"affected_products":{"items":{"$ref":"#/components/schemas/BulkPriceUpdatePreview"},"type":"array","title":"Affected Products","description":"لیست محصولات و پیش‌نمایش تغییرات قیمت"},"summary":{"additionalProperties":true,"type":"object","title":"Summary","description":"خلاصه آماری تغییرات"}},"type":"object","required":["total_products","affected_products","summary"],"title":"BulkPriceUpdatePreviewResponse","description":"پیش‌نمایش تغییر قیمت گروهی (مطابق خروجی سرویس bulk_price_update_service و فرانت)","example":{"affected_products":[{"category_name":"دسته ۱","current_purchase_price":80000,"current_sales_price":100000,"new_purchase_price":88000,"new_sales_price":110000,"product_code":"P-001","product_id":1,"product_name":"محصول A","purchase_price_change":8000,"sales_price_change":10000}],"summary":{"affected_products":3,"direction":"increase","products_with_purchase_change":3,"products_with_sales_change":3,"target":"both","total_products":3,"total_purchase_change":24000,"total_sales_change":30000,"update_type":"amount","value":1000},"total_products":3}},"BulkPriceUpdateRequest":{"properties":{"update_type":{"$ref":"#/components/schemas/BulkPriceUpdateType","description":"نوع تغییر: percentage (درصدی) یا amount (مبلغی)"},"direction":{"$ref":"#/components/schemas/BulkPriceUpdateDirection","description":"جهت تغییر: increase (افزایش) یا decrease (کاهش)","default":"increase"},"target":{"$ref":"#/components/schemas/BulkPriceUpdateTarget","description":"هدف تغییر: sales_price / purchase_price / both"},"update_scope":{"$ref":"#/components/schemas/BulkPriceUpdateScope","description":"محدوده اعمال: فقط قیمت پایه، فقط آیتم‌های لیست قیمت، یا هر دو","default":"both"},"value":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Value","description":"مقدار تغییر (همیشه غیرمنفی؛ جهت از طریق direction تعیین می‌شود)"},"category_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","minItems":1},{"type":"null"}],"title":"Category Ids","description":"فیلتر بر اساس دسته‌بندی"},"currency_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","minItems":1},{"type":"null"}],"title":"Currency Ids","description":"فیلتر بر اساس ارز"},"price_list_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","minItems":1},{"type":"null"}],"title":"Price List Ids","description":"فیلتر بر اساس لیست قیمت"},"item_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductItemType"},"type":"array","minItems":1},{"type":"null"}],"title":"Item Types","description":"فیلتر بر اساس نوع آیتم"},"product_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array","minItems":1},{"type":"null"}],"title":"Product Ids","description":"شناسه‌های کالاهای خاص"},"only_products_with_inventory":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Only Products With Inventory","description":"اگر true باشد فقط کالاهای دارای کنترل موجودی؛ اگر false باشد فقط کالاهای بدون کنترل موجودی؛ اگر null باشد بدون فیلتر"},"only_products_with_base_price":{"type":"boolean","title":"Only Products With Base Price","description":"فقط کالاهایی که قیمت پایه (متناسب با target) دارند","default":true}},"type":"object","required":["update_type","target","value"],"title":"BulkPriceUpdateRequest","description":"درخواست تغییر گروهی قیمت (نسخه جدید)\n\nنکته: این مدل باید با فرانت (`BulkPriceUpdateRequest.toJson`) و سرویس\n`app/services/bulk_price_update_service.py` هم‌خوان باشد.","examples":[{"summary":"افزایش 10 درصدی قیمت فروش (با فیلتر دسته)","value":{"category_ids":[1],"direction":"increase","only_products_with_base_price":true,"target":"sales_price","update_type":"percentage","value":10}},{"summary":"کاهش 50000 تومانی قیمت خرید (برای محصولات انتخاب‌شده)","value":{"direction":"decrease","product_ids":[4,5],"target":"purchase_price","update_type":"amount","value":50000}}]},"BulkPriceUpdateScope":{"type":"string","enum":["base_prices","price_list_items","both"],"title":"BulkPriceUpdateScope","description":"محدوده اعمال تغییر قیمت گروهی"},"BulkPriceUpdateTarget":{"type":"string","enum":["sales_price","purchase_price","both"],"title":"BulkPriceUpdateTarget","description":"هدف تغییر قیمت"},"BulkPriceUpdateType":{"type":"string","enum":["percentage","amount"],"title":"BulkPriceUpdateType","description":"نوع تغییر قیمت گروهی"},"BulkProductPriceSheetApplyRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/BulkProductPriceSheetRow"},"type":"array","maxItems":500,"minItems":1,"title":"Items","description":"حداکثر ۵۰۰ ردیف در هر درخواست"}},"type":"object","required":["items"],"title":"BulkProductPriceSheetApplyRequest","description":"اعمال دسته‌ای قیمت‌های پایه (مثلاً از نمای شبیه اکسل)"},"BulkProductPriceSheetExcelExportRequest":{"properties":{"search":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Search"},"searchFields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Searchfields"},"price_list_ids":{"items":{"type":"integer"},"type":"array","maxItems":12,"title":"Price List Ids","description":"لیست‌های قیمت برای ستون‌های pi_*؛ خالی یعنی فقط قیمت‌های پایه"}},"type":"object","title":"BulkProductPriceSheetExcelExportRequest","description":"خروجی اکسل ورق ویرایش گسترده قیمت (همان فیلتر جستجو و لیست‌های قیمت انتخاب‌شده در UI)"},"BulkProductPriceSheetItemsRequest":{"properties":{"product_ids":{"items":{"type":"integer"},"type":"array","maxItems":200,"minItems":1,"title":"Product Ids"},"price_list_ids":{"items":{"type":"integer"},"type":"array","maxItems":12,"minItems":1,"title":"Price List Ids","description":"حداقل یک لیست قیمت برای بارگذاری ستون‌ها"}},"type":"object","required":["product_ids","price_list_ids"],"title":"BulkProductPriceSheetItemsRequest","description":"دریافت ردیف‌های قیمت لیست برای نمایش در ورق ویرایش"},"BulkProductPriceSheetPriceItemUpdate":{"properties":{"price_item_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Price Item Id"},"price":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Price","description":"قیمت جدید (عدد صحیح غیرمنفی)"}},"type":"object","required":["price_item_id","price"],"title":"BulkProductPriceSheetPriceItemUpdate","description":"به‌روزرسانی یک سلول قیمت در لیست قیمت (ورق ویرایش)"},"BulkProductPriceSheetRow":{"properties":{"product_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Product Id"},"base_sales_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Sales Price","description":"در صورت ارسال (و بدون clear)، قیمت فروش پایه به‌روز می‌شود"},"base_purchase_price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Purchase Price","description":"در صورت ارسال (و بدون clear)، قیمت خرید پایه به‌روز می‌شود"},"clear_base_sales_price":{"type":"boolean","title":"Clear Base Sales Price","description":"اگر true باشد قیمت فروش پایه پاک (null) می‌شود","default":false},"clear_base_purchase_price":{"type":"boolean","title":"Clear Base Purchase Price","description":"اگر true باشد قیمت خرید پایه پاک (null) می‌شود","default":false},"price_item_updates":{"items":{"$ref":"#/components/schemas/BulkProductPriceSheetPriceItemUpdate"},"type":"array","title":"Price Item Updates","description":"تغییر قیمت ردیف‌های لیست قیمت مرتبط با همین کالا"}},"type":"object","required":["product_id"],"title":"BulkProductPriceSheetRow","description":"یک ردیف ویرایش گسترده: قیمت پایه و/یا ردیف‌های لیست قیمت"},"BulkResetPasswordRequest":{"properties":{"user_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"User Ids","description":"لیست شناسه‌های کاربران برای بازنشانی رمز عبور","example":[1,2,3]},"send_notification":{"type":"boolean","title":"Send Notification","description":"برای هر کاربری که توکن ساخته شد، اعلان auth.password_reset ارسال شود","default":true}},"type":"object","required":["user_ids"],"title":"BulkResetPasswordRequest","description":"درخواست بازنشانی رمز عبور دسته‌ای کاربران","example":{"send_notification":true,"user_ids":[1,2,3,4,5]}},"BulkSuspendRequest":{"properties":{"user_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"User Ids","description":"لیست شناسه‌های کاربران برای تعلیق","example":[1,2,3]}},"type":"object","required":["user_ids"],"title":"BulkSuspendRequest","description":"درخواست تعلیق دسته‌ای کاربران","example":{"user_ids":[1,2,3,4,5]}},"BulkUpdateStatusRequest":{"properties":{"ticket_ids":{"items":{"type":"integer"},"type":"array","minItems":1,"title":"Ticket Ids","description":"لیست شناسه تیکت‌ها"},"status_id":{"type":"integer","title":"Status Id","description":"شناسه وضعیت جدید"},"assigned_operator_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned Operator Id","description":"شناسه اپراتور (اختیاری)"}},"type":"object","required":["ticket_ids","status_id"],"title":"BulkUpdateStatusRequest"},"BusinessCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"نام کسب و کار"},"business_type":{"$ref":"#/components/schemas/BusinessType","description":"نوع کسب و کار"},"business_field":{"$ref":"#/components/schemas/BusinessField","description":"زمینه فعالیت"},"address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Address","description":"آدرس"},"phone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Phone","description":"تلفن ثابت"},"mobile":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile","description":"موبایل"},"national_id":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"National Id","description":"کد ملی"},"registration_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Registration Number","description":"شماره ثبت"},"economic_id":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Economic Id","description":"شناسه اقتصادی"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country","description":"کشور"},"province":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province","description":"استان"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City","description":"شهر"},"postal_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Postal Code","description":"کد پستی"},"fiscal_years":{"anyOf":[{"items":{"$ref":"#/components/schemas/FiscalYearCreate"},"type":"array"},{"type":"null"}],"title":"Fiscal Years","description":"آرایه سال‌های مالی برای ایجاد اولیه"},"default_currency_id":{"type":"integer","title":"Default Currency Id","description":"شناسه ارز پیشفرض (الزامی)"},"currency_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Currency Ids","description":"لیست شناسه ارزهای قابل استفاده"},"default_credit_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Credit Limit","description":"سقف اعتبار پیشفرض اشخاص"},"check_credit_enabled_by_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Check Credit Enabled By Default","description":"بررسی اعتبار مشتریان به صورت پیشفرض (خاموش)","default":false},"include_sample_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Sample Data","description":"در صورت true، پس از ایجاد کسب‌وکار دادهٔ نمونه (مشتری، کالا، انبار، ...) درج می‌شود؛ فقط برای ایجاد معقول است نه ایمپورت پشتیبان","default":false}},"type":"object","required":["name","business_type","business_field","default_currency_id"],"title":"BusinessCreateRequest"},"BusinessCrmSettingsUpdate":{"properties":{"allow_web_chat_file_upload":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Web Chat File Upload","description":"ارسال فایل توسط بازدیدکننده در چت وب"},"allow_web_chat_voice":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Web Chat Voice","description":"ارسال پیام صوتی در چت وب (بازدیدکننده و اعمال محدودیت نوع صوت)"}},"type":"object","title":"BusinessCrmSettingsUpdate"},"BusinessField":{"type":"string","enum":["تولیدی","بازرگانی","خدماتی","سایر"],"title":"BusinessField"},"BusinessType":{"type":"string","enum":["شرکت","مغازه","فروشگاه","اتحادیه","باشگاه","موسسه","شخصی"],"title":"BusinessType"},"BusinessUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name","description":"نام کسب و کار"},"business_type":{"anyOf":[{"$ref":"#/components/schemas/BusinessType"},{"type":"null"}],"description":"نوع کسب و کار"},"business_field":{"anyOf":[{"$ref":"#/components/schemas/BusinessField"},{"type":"null"}],"description":"زمینه فعالیت"},"address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Address","description":"آدرس"},"phone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Phone","description":"تلفن ثابت"},"mobile":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile","description":"موبایل"},"national_id":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"National Id","description":"کد ملی"},"registration_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Registration Number","description":"شماره ثبت"},"economic_id":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Economic Id","description":"شناسه اقتصادی"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country","description":"کشور"},"province":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province","description":"استان"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City","description":"شهر"},"postal_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Postal Code","description":"کد پستی"},"default_currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Currency Id","description":"شناسه ارز پیشفرض (فقط برای کسب‌وکارهایی که ارز پیش‌فرض ندارند)"},"default_credit_limit":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Credit Limit","description":"سقف اعتبار پیشفرض اشخاص"},"check_credit_enabled_by_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Check Credit Enabled By Default","description":"بررسی اعتبار مشتریان به صورت پیشفرض"},"public_catalog_show_contact":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public Catalog Show Contact","description":"نمایش تلفن/موبایل در API عمومی کاتالوگ (شبکهٔ انتشار کالا)"},"public_catalog_show_base_sales_price":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public Catalog Show Base Sales Price","description":"نمایش قیمت فروش پایه در API عمومی کاتالوگ"},"invoice_profit_calculation_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Calculation Method","description":"روش محاسبه سود فاکتور: automatic, manual, disabled"},"invoice_profit_calculation_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Calculation Basis","description":"مبنای محاسبه سود: purchase_price, cost_price, average_cost, fifo, fifo_jbfn (FIFO با پیش‌خور از خریدهای بعدی)، lifo, weighted_average, moving_weighted_average (WMA دائمی), standard_cost, actual_cost"},"invoice_profit_include_overhead":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Invoice Profit Include Overhead","description":"آیا هزینه‌های سربار در محاسبه سود لحاظ شود؟"},"invoice_profit_overhead_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Overhead Type","description":"نوع هزینه‌های سربار: none, production_overhead, all_overhead, custom_percent"},"invoice_profit_overhead_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Invoice Profit Overhead Percent","description":"درصد هزینه‌های سربار (0-100) - فقط برای custom_percent"},"invoice_profit_calculation_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Calculation Type","description":"نوع محاسبه سود: gross (ناخالص), net (خالص), both (هر دو)"},"invoice_profit_ledger_recognition_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Ledger Recognition Basis","description":"زمان شناسایی بهای تمام‌شده قطعی در دفتر: warehouse_document_posting | sales_invoice_document"},"invoice_profit_fifo_shortage_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Profit Fifo Shortage Mode","description":"سیاست کسری در مبنای سود FIFO/LIFO/moving_weighted_average: perpetual_mixed | average_purchase_on_shortage"},"invoice_sync_update_sales_price_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Invoice Sync Update Sales Price Enabled","description":"به‌روزرسانی خودکار قیمت فروش پایه از فاکتور فروش قطعی"},"invoice_sync_update_purchase_price_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Invoice Sync Update Purchase Price Enabled","description":"به‌روزرسانی خودکار قیمت خرید پایه از فاکتور خرید قطعی"},"invoice_sync_sales_price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Sync Sales Price Basis","description":"مبنای محاسبه: unit_price | net_after_line_discount | net_with_tax | cost_price"},"invoice_sync_purchase_price_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Sync Purchase Price Basis","description":"مبنای محاسبه: unit_price | net_after_line_discount | net_with_tax | cost_price"},"invoice_warehouse_release_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Warehouse Release Mode","description":"حواله پس از ثبت فاکتور: none (بدون حواله)، draft (پیش‌نویس)، posted (قطعی فوری)"},"invoice_missing_line_warehouse_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Missing Line Warehouse Policy","description":"reject (جلوگیری با پیام راهنما) | use_default_warehouse (پر کردن خودکار از انبار پیش‌فرض کسب‌وکار)"},"invoice_default_warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invoice Default Warehouse Id","description":"انبار پیش‌فرض برای ردیف‌های انبارداری بدون انبار وقتی سیاست use_default_warehouse است"},"invoice_default_warehouse_fill_document_header":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Invoice Default Warehouse Fill Document Header","description":"هنگام پر کردن خودکار خطوط، اگر انبار سطح فاکتور خالی بود همان انبار پیش‌فرض روی سربرگ هم ست شود"},"allow_negative_inventory_for_bulk":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Negative Inventory For Bulk","description":"اجازه قطعی حواله با کسری برای کالاهای فله‌ای (غیر یونیک) با کنترل موجودی"},"allow_negative_inventory_for_unique":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Negative Inventory For Unique","description":"اجازه قطعی حواله با کسری برای کالاهای یونیک با کنترل موجودی"},"warehouse_transfer_require_positive_stock":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Warehouse Transfer Require Positive Stock","description":"اگر true باشد، حواله انتقال همیشه کنترل کسری کامل دارد"},"invoice_global_discount_percent_basis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Global Discount Percent Basis","description":"مبنای درصد تخفیف کلی: subtotal_after_line_discount | gross_before_line_discount | total_after_lines_including_tax"},"invoice_global_discount_tax_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Global Discount Tax Mode","description":"اثر تخفیف کلی بر مالیات: recalculate_tax_proportional | keep_line_taxes"},"invoice_global_discount_max_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Invoice Global Discount Max Percent","description":"سقف درصد تخفیف کلی نسبت به مبنا (اختیاری)"},"invoice_global_discount_max_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Invoice Global Discount Max Amount","description":"سقف مبلغ تخفیف کلی (اختیاری)"},"fx_revaluation_policy":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fx Revaluation Policy","description":"سیاست تسعیر ارز (JSON): document_date/registered_at، start/end of day، block یا allow_without_fx"}},"type":"object","title":"BusinessUpdateRequest"},"BusinessUserSchema":{"properties":{"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"user_id":{"type":"integer","title":"User Id"},"user_name":{"type":"string","title":"User Name"},"user_email":{"type":"string","title":"User Email"},"user_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Phone"},"role":{"type":"string","title":"Role"},"status":{"type":"string","title":"Status"},"added_at":{"type":"string","format":"date-time","title":"Added At"},"last_active":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Active"},"permissions":{"additionalProperties":true,"type":"object","title":"Permissions"},"membership_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Membership Expires At"},"membership_unlimited":{"type":"boolean","title":"Membership Unlimited","default":true},"membership_active":{"type":"boolean","title":"Membership Active","default":true}},"type":"object","required":["id","business_id","user_id","user_name","user_email","role","status","added_at","permissions"],"title":"BusinessUserSchema"},"BusinessUsersListResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"calendar_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Calendar Type"}},"type":"object","required":["success","message","data"],"title":"BusinessUsersListResponse"},"CalculateCostsRequest":{"properties":{"labor_cost":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Labor Cost","description":"دستمزد تعمیر"}},"type":"object","required":["labor_cost"],"title":"CalculateCostsRequest","description":"محاسبه هزینه‌ها"},"ChangePasswordRequest":{"properties":{"current_password":{"type":"string","maxLength":128,"minLength":8,"title":"Current Password"},"new_password":{"type":"string","maxLength":128,"minLength":8,"title":"New Password"},"confirm_password":{"type":"string","maxLength":128,"minLength":8,"title":"Confirm Password"}},"type":"object","required":["current_password","new_password","confirm_password"],"title":"ChangePasswordRequest"},"ChatMessageRequest":{"properties":{"content":{"type":"string","title":"Content"},"session_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["content"],"title":"ChatMessageRequest"},"CheckAvailabilityRequest":{"properties":{"business_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Business Id"},"estimated_tokens":{"type":"integer","title":"Estimated Tokens","default":1000}},"type":"object","title":"CheckAvailabilityRequest"},"CheckBounceRequest":{"properties":{"bank_account_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Bank Account Id"},"expense_account_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Expense Account Id"},"expense_amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Expense Amount"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","title":"CheckBounceRequest"},"CheckClearRequest":{"properties":{"bank_account_id":{"type":"integer","minimum":1.0,"title":"Bank Account Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","required":["bank_account_id"],"title":"CheckClearRequest"},"CheckCreateRequest":{"properties":{"type":{"type":"string","enum":["received","transferred"],"title":"Type"},"person_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Person Id"},"issue_date":{"type":"string","title":"Issue Date"},"due_date":{"type":"string","title":"Due Date"},"check_number":{"type":"string","maxLength":50,"minLength":1,"title":"Check Number"},"sayad_code":{"anyOf":[{"type":"string","maxLength":16,"minLength":16},{"type":"null"}],"title":"Sayad Code"},"bank_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Bank Name"},"branch_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch Name"},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount"},"currency_id":{"type":"integer","minimum":1.0,"title":"Currency Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"document_description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Document Description"}},"type":"object","required":["type","issue_date","due_date","check_number","amount","currency_id"],"title":"CheckCreateRequest"},"CheckDepositRequest":{"properties":{"bank_account_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Bank Account Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","title":"CheckDepositRequest"},"CheckEndorseRequest":{"properties":{"target_person_id":{"type":"integer","minimum":1.0,"title":"Target Person Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","required":["target_person_id"],"title":"CheckEndorseRequest"},"CheckPayRequest":{"properties":{"bank_account_id":{"type":"integer","minimum":1.0,"title":"Bank Account Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","required":["bank_account_id"],"title":"CheckPayRequest"},"CheckReconciliationCalculateRequest":{"properties":{"check_ids":{"items":{"type":"integer"},"type":"array","minItems":2,"title":"Check Ids"},"base_date":{"type":"string","title":"Base Date"},"currency_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Currency Id"}},"type":"object","required":["check_ids","base_date"],"title":"CheckReconciliationCalculateRequest"},"CheckReconciliationCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"check_ids":{"items":{"type":"integer"},"type":"array","minItems":2,"title":"Check Ids"},"base_date":{"type":"string","title":"Base Date"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"}},"type":"object","required":["name","check_ids","base_date"],"title":"CheckReconciliationCreateRequest"},"CheckReturnRequest":{"properties":{"target_person_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Target Person Id"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description"}},"type":"object","title":"CheckReturnRequest"},"CheckUpdateRequest":{"properties":{"type":{"anyOf":[{"type":"string","enum":["received","transferred"]},{"type":"null"}],"title":"Type"},"person_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Person Id"},"issue_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issue Date"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date"},"check_number":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Check Number"},"sayad_code":{"anyOf":[{"type":"string","maxLength":16,"minLength":16},{"type":"null"}],"title":"Sayad Code"},"bank_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Bank Name"},"branch_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch Name"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Amount"},"currency_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Currency Id"}},"type":"object","title":"CheckUpdateRequest"},"CompleteRepairRequest":{"properties":{"is_fixed":{"type":"boolean","title":"Is Fixed","description":"آیا تعمیر موفق بوده؟"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"یادداشت"}},"type":"object","required":["is_fixed"],"title":"CompleteRepairRequest","description":"اتمام تعمیر"},"CreateApiKeyRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name","description":"نام کلید API"},"scopes":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Scopes","description":"محدوده دسترسی (JSON string)"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At","description":"تاریخ انقضا (ISO format)"},"ip_whitelist":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Ip Whitelist","description":"لیست IP های مجاز (جدا شده با کاما)"}},"type":"object","title":"CreateApiKeyRequest"},"CreateBackupBody":{"properties":{"upload_to_ftp":{"type":"boolean","title":"Upload To Ftp","description":"پس از ذخیره داخلی، ارسال کپی به سرور FTP","default":false}},"type":"object","title":"CreateBackupBody"},"CreateManualDocumentRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد سند (اختیاری - خودکار)"},"document_date":{"type":"string","format":"date","title":"Document Date","description":"تاریخ سند"},"fiscal_year_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fiscal Year Id","description":"شناسه سال مالی (اختیاری - از header)"},"currency_id":{"type":"integer","title":"Currency Id","description":"شناسه ارز"},"is_proforma":{"type":"boolean","title":"Is Proforma","description":"پیش‌فاکتور یا قطعی","default":false},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"توضیحات سند"},"lines":{"items":{"$ref":"#/components/schemas/DocumentLineCreate"},"type":"array","minItems":2,"title":"Lines","description":"سطرهای سند (حداقل 2)"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info","description":"اطلاعات اضافی"},"project_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Project Id","description":"شناسه پروژه"}},"type":"object","required":["document_date","currency_id","lines"],"title":"CreateManualDocumentRequest","description":"درخواست ایجاد سند حسابداری دستی"},"CreateMessageRequest":{"properties":{"content":{"type":"string","minLength":1,"title":"Content"},"is_internal":{"type":"boolean","title":"Is Internal","default":false}},"type":"object","required":["content"],"title":"CreateMessageRequest"},"CreatePromptRequest":{"properties":{"role":{"type":"string","title":"Role"},"title":{"type":"string","title":"Title"},"content":{"type":"string","title":"Content"},"prompt_type":{"type":"string","title":"Prompt Type","default":"system"}},"type":"object","required":["role","title","content"],"title":"CreatePromptRequest"},"CreateTicketRequest":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"description":{"type":"string","minLength":1,"title":"Description"},"category_id":{"type":"integer","title":"Category Id"},"priority_id":{"type":"integer","title":"Priority Id"}},"type":"object","required":["title","description","category_id","priority_id"],"title":"CreateTicketRequest"},"CrmActivityCreate":{"properties":{"person_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Person Id","description":"مشتری؛ برای سرنخ تبدیل‌نشده می‌توان خالی گذاشت"},"lead_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Lead Id","description":"سرنخ؛ حداقل یکی از person_id یا lead_id لازم است"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد دستی؛ در صورت خالی بودن، کد خودکار تولید می‌شود"},"activity_type":{"type":"string","maxLength":50,"title":"Activity Type","description":"call | email | meeting | note"},"subject":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Subject"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"activity_date":{"type":"string","format":"date-time","title":"Activity Date"},"deal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deal Id"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","required":["activity_type","activity_date"],"title":"CrmActivityCreate","description":"ایجاد فعالیت"},"CrmActivityUpdate":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"activity_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Activity Type"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"activity_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Activity Date"},"deal_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deal Id"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","title":"CrmActivityUpdate","description":"به‌روزرسانی فعالیت"},"CrmChatAgentMessageCreate":{"properties":{"body":{"anyOf":[{"type":"string","maxLength":8000},{"type":"null"}],"title":"Body"},"file_storage_id":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"File Storage Id","description":"پس از آپلود در فضای کسب‌وکار با module crm_web_chat"}},"type":"object","title":"CrmChatAgentMessageCreate"},"CrmChatAgentMessagePatch":{"properties":{"body":{"type":"string","maxLength":8000,"title":"Body","description":"متن جدید پیام اپراتور (برای پیام با فایل، عنوان/توضیح)"}},"type":"object","required":["body"],"title":"CrmChatAgentMessagePatch"},"CrmChatConversationPatch":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status","description":"open | pending | resolved"},"assigned_to_user_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Assigned To User Id"},"lead_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Lead Id"},"person_id":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Person Id"}},"type":"object","title":"CrmChatConversationPatch"},"CrmChatConversationStartPublic":{"properties":{"public_key":{"type":"string","maxLength":64,"minLength":8,"title":"Public Key"},"first_name":{"type":"string","maxLength":120,"minLength":1,"title":"First Name"},"last_name":{"type":"string","maxLength":120,"minLength":1,"title":"Last Name"},"email":{"type":"string","maxLength":255,"title":"Email","description":"خالی اگر در ویجت اختیاری/پنهان باشد","default":""},"phone":{"type":"string","maxLength":64,"minLength":5,"title":"Phone"},"page_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Page Url"},"device_type":{"anyOf":[{"type":"string","enum":["mobile","tablet","desktop"]},{"type":"null"}],"title":"Device Type","description":"طبقهٔ دستگاه بازدیدکننده از ویجت وب (اختیاری؛ از کلاینت)"}},"type":"object","required":["public_key","first_name","last_name","phone"],"title":"CrmChatConversationStartPublic"},"CrmChatMarkReadBody":{"properties":{"up_to_message_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Up To Message Id","description":"Mark incoming messages up to this id as read"}},"type":"object","required":["up_to_message_id"],"title":"CrmChatMarkReadBody"},"CrmChatVisitorMessageCreate":{"properties":{"visitor_token":{"type":"string","minLength":16,"title":"Visitor Token"},"conversation_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Conversation Id"},"body":{"type":"string","maxLength":8000,"minLength":1,"title":"Body"}},"type":"object","required":["visitor_token","conversation_id","body"],"title":"CrmChatVisitorMessageCreate"},"CrmChatVisitorPageUrlPatch":{"properties":{"page_url":{"type":"string","maxLength":2048,"minLength":1,"title":"Page Url"}},"type":"object","required":["page_url"],"title":"CrmChatVisitorPageUrlPatch","description":"به‌روزرسانی نشانی صفحهٔ فعلی بازدیدکننده (برای نمایش زنده نزد اپراتور)."},"CrmChatWidgetCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"allowed_origins":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Origins"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name"],"title":"CrmChatWidgetCreate"},"CrmChatWidgetUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"allowed_origins":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Origins"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"CrmChatWidgetUpdate"},"CrmNoteCommentCreate":{"properties":{"body":{"type":"string","minLength":1,"title":"Body"}},"type":"object","required":["body"],"title":"CrmNoteCommentCreate"},"CrmNoteCreate":{"properties":{"note_type_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Note Type Id"},"visibility":{"type":"string","maxLength":20,"title":"Visibility","description":"private | business_public | shared"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"body":{"type":"string","minLength":1,"title":"Body"},"occurs_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Occurs On","description":"برای day_only؛ برای meeting از starts_at پر می‌شود"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At"},"lead_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Lead Id"},"shared_user_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Shared User Ids","description":"برای visibility=shared: شناسه کاربران عضو کسب‌وکار (غیر از سازنده)"}},"type":"object","required":["note_type_id","visibility","body"],"title":"CrmNoteCreate"},"CrmNoteTypeCreate":{"properties":{"code":{"type":"string","maxLength":50,"minLength":1,"title":"Code"},"title_i18n":{"additionalProperties":{"type":"string"},"type":"object","title":"Title I18N","description":"کلید زبان (fa, en) به متن نمایش"},"scheduling_mode":{"type":"string","maxLength":20,"title":"Scheduling Mode","description":"day_only | meeting","default":"day_only"},"allow_comments":{"type":"boolean","title":"Allow Comments","default":true},"sort_order":{"type":"integer","minimum":0.0,"title":"Sort Order","default":0}},"type":"object","required":["code","title_i18n"],"title":"CrmNoteTypeCreate"},"CrmNoteTypeUpdate":{"properties":{"title_i18n":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Title I18N"},"scheduling_mode":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Scheduling Mode"},"allow_comments":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Comments"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"sort_order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Sort Order"}},"type":"object","title":"CrmNoteTypeUpdate"},"CrmNoteUpdate":{"properties":{"note_type_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Note Type Id"},"visibility":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Visibility"},"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Body"},"occurs_on":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Occurs On"},"starts_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Starts At"},"ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Ends At"},"lead_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Id"},"clear_lead":{"type":"boolean","title":"Clear Lead","default":false},"status":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Status"},"shared_user_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Shared User Ids"}},"type":"object","title":"CrmNoteUpdate"},"CrmProcessDefinitionCreate":{"properties":{"process_type":{"type":"string","maxLength":50,"minLength":1,"title":"Process Type","description":"lead_funnel | sales_pipeline | activity_type | lead_source"},"code":{"type":"string","maxLength":50,"minLength":1,"title":"Code"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_default":{"type":"boolean","title":"Is Default","default":false},"is_active":{"type":"boolean","title":"Is Active","default":true},"stages":{"anyOf":[{"items":{"$ref":"#/components/schemas/CrmProcessStageCreate"},"type":"array"},{"type":"null"}],"title":"Stages"}},"type":"object","required":["process_type","code","name"],"title":"CrmProcessDefinitionCreate","description":"ایجاد فرایند"},"CrmProcessDefinitionUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"CrmProcessDefinitionUpdate","description":"به‌روزرسانی فرایند"},"CrmProcessStageCreate":{"properties":{"stage_code":{"type":"string","maxLength":50,"minLength":1,"title":"Stage Code"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"order_index":{"type":"integer","minimum":0.0,"title":"Order Index","default":0},"color":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Color"},"is_win":{"type":"boolean","title":"Is Win","default":false},"is_lost":{"type":"boolean","title":"Is Lost","default":false},"allow_transition_to":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allow Transition To","description":"لیست stage_codeهای مجاز برای انتقال"}},"type":"object","required":["stage_code","name"],"title":"CrmProcessStageCreate","description":"ایجاد مرحله"},"CrmProcessStageUpdate":{"properties":{"stage_code":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Stage Code"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"order_index":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Order Index"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"is_win":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Win"},"is_lost":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Lost"},"allow_transition_to":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allow Transition To"}},"type":"object","title":"CrmProcessStageUpdate","description":"به‌روزرسانی مرحله"},"CurrencyCreateBody":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"title":{"type":"string","maxLength":100,"minLength":1,"title":"Title"},"symbol":{"type":"string","maxLength":16,"minLength":1,"title":"Symbol"},"code":{"type":"string","maxLength":16,"minLength":2,"title":"Code"},"decimal_places":{"type":"integer","maximum":8.0,"minimum":0.0,"title":"Decimal Places","default":2},"round_monetary_amounts":{"type":"boolean","title":"Round Monetary Amounts","default":true}},"type":"object","required":["name","title","symbol","code"],"title":"CurrencyCreateBody"},"CurrencyUpdateBody":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"title":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Title"},"symbol":{"anyOf":[{"type":"string","maxLength":16,"minLength":1},{"type":"null"}],"title":"Symbol"},"code":{"anyOf":[{"type":"string","maxLength":16,"minLength":2},{"type":"null"}],"title":"Code"},"decimal_places":{"anyOf":[{"type":"integer","maximum":8.0,"minimum":0.0},{"type":"null"}],"title":"Decimal Places"},"round_monetary_amounts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Round Monetary Amounts"}},"type":"object","title":"CurrencyUpdateBody"},"CustomerResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"is_active":{"type":"boolean","title":"Is Active","default":true},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","name"],"title":"CustomerResponse"},"CustomerSearchRequest":{"properties":{"business_id":{"type":"integer","title":"Business Id"},"page":{"type":"integer","title":"Page","default":1},"limit":{"type":"integer","title":"Limit","default":20},"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},"type":"object","required":["business_id"],"title":"CustomerSearchRequest"},"CustomerSearchResponse":{"properties":{"customers":{"items":{"$ref":"#/components/schemas/CustomerResponse"},"type":"array","title":"Customers"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["customers","total","page","limit","has_more"],"title":"CustomerSearchResponse"},"DatabaseBackupPayload":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"آدرس ایمیل گیرنده (برای delivery=email)"},"storage_config_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Storage Config Id","description":"شناسه StorageConfig با نوع ftp (برای delivery=ftp)"}},"type":"object","title":"DatabaseBackupPayload","description":"Payload اختیاری برای بکاپ. برای email نیاز به email، برای ftp نیاز به storage_config_id."},"DealCreate":{"properties":{"person_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Person Id"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد دستی؛ در صورت خالی بودن، کد خودکار تولید می‌شود"},"process_definition_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Process Definition Id"},"stage_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Stage Id"},"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"},"probability_percent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Probability Percent"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"next_follow_up_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Follow Up At"},"assigned_to_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","required":["person_id","process_definition_id","stage_id","title","amount"],"title":"DealCreate","description":"ایجاد فرصت فروش"},"DealUpdate":{"properties":{"stage_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Stage Id"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"title":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Title"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Amount"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"},"probability_percent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Probability Percent"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"next_follow_up_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Follow Up At"},"document_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Document Id"},"assigned_to_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"}},"type":"object","title":"DealUpdate","description":"به‌روزرسانی فرصت فروش"},"DeliverRepairRequest":{"properties":{"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"یادداشت تحویل"}},"type":"object","title":"DeliverRepairRequest","description":"تحویل کالا"},"DocumentLineCreate":{"properties":{"account_id":{"type":"integer","title":"Account Id","description":"شناسه حساب (الزامی)"},"person_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id","description":"شناسه شخص (تفضیل)"},"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id","description":"شناسه کالا (تفضیل)"},"bank_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bank Account Id","description":"شناسه حساب بانکی (تفضیل)"},"cash_register_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cash Register Id","description":"شناسه صندوق (تفضیل)"},"petty_cash_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Petty Cash Id","description":"شناسه تنخواه (تفضیل)"},"check_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Check Id","description":"شناسه چک (تفضیل)"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity","description":"مقدار/تعداد"},"debit":{"type":"number","minimum":0.0,"title":"Debit","description":"بدهکار","default":0},"credit":{"type":"number","minimum":0.0,"title":"Credit","description":"بستانکار","default":0},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description","description":"توضیحات سطر"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info","description":"اطلاعات اضافی"}},"type":"object","required":["account_id"],"title":"DocumentLineCreate","description":"درخواست ایجاد یک سطر سند"},"DocumentLineUpdate":{"properties":{"id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Id","description":"شناسه سطر (برای ویرایش)"},"account_id":{"type":"integer","title":"Account Id","description":"شناسه حساب (الزامی)"},"person_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id","description":"شناسه شخص (تفضیل)"},"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id","description":"شناسه کالا (تفضیل)"},"bank_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bank Account Id","description":"شناسه حساب بانکی (تفضیل)"},"cash_register_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cash Register Id","description":"شناسه صندوق (تفضیل)"},"petty_cash_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Petty Cash Id","description":"شناسه تنخواه (تفضیل)"},"check_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Check Id","description":"شناسه چک (تفضیل)"},"quantity":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Quantity","description":"مقدار/تعداد"},"debit":{"type":"number","minimum":0.0,"title":"Debit","description":"بدهکار","default":0},"credit":{"type":"number","minimum":0.0,"title":"Credit","description":"بستانکار","default":0},"description":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Description","description":"توضیحات سطر"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info","description":"اطلاعات اضافی"}},"type":"object","required":["account_id"],"title":"DocumentLineUpdate","description":"درخواست ویرایش یک سطر سند"},"DocumentNumberingSettingRequest":{"properties":{"document_type":{"type":"string","title":"Document Type","description":"نوع سند (invoice_sales, receipt, payment, ...)"},"prefix":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Prefix","description":"پیشوند شماره سند"},"include_date":{"type":"boolean","title":"Include Date","description":"آیا تاریخ در شماره سند باشد؟","default":true},"calendar_type":{"type":"string","title":"Calendar Type","description":"نوع تقویم: gregorian (میلادی) یا jalali (شمسی)","default":"gregorian"},"date_format":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Date Format","description":"فرمت تاریخ (YYYYMMDD, YYYY/MM/DD, ...)"},"separator":{"type":"string","maxLength":5,"title":"Separator","description":"جداکننده","default":"-"},"start_number":{"type":"integer","minimum":1.0,"title":"Start Number","description":"شماره شروع","default":1},"number_padding":{"type":"integer","maximum":10.0,"minimum":1.0,"title":"Number Padding","description":"تعداد صفرهای پیش‌رو","default":4},"reset_period":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reset Period","description":"دوره ریست: daily, monthly, yearly, never"},"custom_format":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Custom Format","description":"فرمت سفارشی"},"is_active":{"type":"boolean","title":"Is Active","description":"فعال/غیرفعال","default":true}},"type":"object","required":["document_type"],"title":"DocumentNumberingSettingRequest"},"EmailConfigCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"Configuration name"},"smtp_host":{"type":"string","maxLength":255,"minLength":1,"title":"Smtp Host","description":"SMTP host"},"smtp_port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Smtp Port","description":"SMTP port"},"smtp_username":{"type":"string","maxLength":255,"minLength":1,"title":"Smtp Username","description":"SMTP username"},"smtp_password":{"type":"string","maxLength":255,"minLength":1,"title":"Smtp Password","description":"SMTP password"},"use_tls":{"type":"boolean","title":"Use Tls","description":"Use TLS encryption","default":true},"use_ssl":{"type":"boolean","title":"Use Ssl","description":"Use SSL encryption","default":false},"from_email":{"type":"string","format":"email","title":"From Email","description":"From email address"},"from_name":{"type":"string","maxLength":100,"minLength":1,"title":"From Name","description":"From name"},"is_active":{"type":"boolean","title":"Is Active","description":"Is this configuration active","default":true},"is_default":{"type":"boolean","title":"Is Default","description":"Is this the default configuration","default":false}},"type":"object","required":["name","smtp_host","smtp_port","smtp_username","smtp_password","from_email","from_name"],"title":"EmailConfigCreate"},"EmailConfigUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"Name"},"smtp_host":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Smtp Host"},"smtp_port":{"anyOf":[{"type":"integer","maximum":65535.0,"minimum":1.0},{"type":"null"}],"title":"Smtp Port"},"smtp_username":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Smtp Username"},"smtp_password":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Smtp Password"},"use_tls":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Tls"},"use_ssl":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Ssl"},"from_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"From Email"},"from_name":{"anyOf":[{"type":"string","maxLength":100,"minLength":1},{"type":"null"}],"title":"From Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"}},"type":"object","title":"EmailConfigUpdate"},"FilterItem":{"properties":{"property":{"type":"string","title":"Property","description":"نام فیلد مورد نظر برای اعمال فیلتر","example":"total_amount"},"operator":{"type":"string","title":"Operator","description":"نوع عملگر: =, !=, >, >=, <, <=, *, *?, ?*, in, not_in, is_null, is_not_null","example":">="},"value":{"title":"Value","description":"مقدار مورد نظر - برای in و not_in باید آرایه باشد، برای is_null و is_not_null می‌تواند null باشد","example":1000000}},"type":"object","required":["property","operator","value"],"title":"FilterItem","description":"آیتم فیلتر برای جستجوی پیشرفته\n\n### مثال‌های کاربردی:\n\n**فیلتر عددی:**\n```json\n{\"property\": \"total_amount\", \"operator\": \">=\", \"value\": 1000000}\n```\n\n**فیلتر رشته‌ای:**\n```json\n{\"property\": \"name\", \"operator\": \"*\", \"value\": \"احمد\"}\n```\n\n**فیلتر آرایه:**\n```json\n{\"property\": \"status\", \"operator\": \"in\", \"value\": [\"active\", \"pending\"]}\n```\n\n**فیلتر null:**\n```json\n{\"property\": \"deleted_at\", \"operator\": \"is_null\", \"value\": null}\n```","examples":[{"summary":"فیلتر عددی","value":{"operator":">=","property":"total_amount","value":1000000}},{"summary":"فیلتر رشته‌ای","value":{"operator":"*","property":"description","value":"خرید"}},{"summary":"فیلتر آرایه","value":{"operator":"in","property":"source_type","value":["bank_account","cash_register"]}}]},"FirewallBanPayload":{"properties":{"ip":{"type":"string","title":"Ip","description":"IP یا CIDR"},"duration_seconds":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Duration Seconds","description":"خالی یا null = بن دائم (تا حذف دستی)"},"note":{"type":"string","title":"Note","default":""},"path_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"},"http_methods":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Methods"},"priority":{"type":"integer","title":"Priority","description":"اولویت کمتر = قوی‌تر","default":10}},"type":"object","required":["ip"],"title":"FirewallBanPayload"},"FirewallRatePolicyCreatePayload":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":true},"priority":{"type":"integer","title":"Priority","default":100},"path_prefix":{"type":"string","title":"Path Prefix","description":"مثال /api/v1/public/crm-chat"},"http_methods":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Methods","description":"GET,POST یا خالی = همه"},"max_requests":{"type":"integer","minimum":1.0,"title":"Max Requests"},"window_seconds":{"type":"integer","minimum":1.0,"title":"Window Seconds"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["path_prefix","max_requests","window_seconds"],"title":"FirewallRatePolicyCreatePayload"},"FirewallRatePolicyUpdatePayload":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority"},"path_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"},"http_methods":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Methods"},"max_requests":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Max Requests"},"window_seconds":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Window Seconds"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"FirewallRatePolicyUpdatePayload"},"FirewallRuleCreatePayload":{"properties":{"action":{"type":"string","title":"Action","description":"allow یا deny"},"ip_cidr":{"type":"string","title":"Ip Cidr"},"path_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"},"http_methods":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Methods","description":"مثال GET,POST یا خالی برای همه"},"priority":{"type":"integer","title":"Priority","default":100},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"UTC؛ خالی = بدون انقضا"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"source":{"type":"string","maxLength":32,"title":"Source","default":"manual"}},"type":"object","required":["action","ip_cidr"],"title":"FirewallRuleCreatePayload"},"FirewallRuleUpdatePayload":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"ip_cidr":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Cidr"},"path_prefix":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path Prefix"},"http_methods":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Http Methods"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"FirewallRuleUpdatePayload"},"FirewallUnbanPayload":{"properties":{"ip":{"type":"string","title":"Ip"},"only_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Only Source","description":"فقط قوانین با این source"}},"type":"object","required":["ip"],"title":"FirewallUnbanPayload"},"FiscalYearCreate":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title","description":"عنوان سال مالی"},"start_date":{"type":"string","format":"date","title":"Start Date","description":"تاریخ شروع سال مالی"},"end_date":{"type":"string","format":"date","title":"End Date","description":"تاریخ پایان سال مالی"},"is_last":{"type":"boolean","title":"Is Last","description":"آیا آخرین سال مالی فعال است؟","default":true}},"type":"object","required":["title","start_date","end_date"],"title":"FiscalYearCreate"},"FiscalYearRollbackExecuteRequest":{"properties":{"confirmation_token":{"type":"string","minLength":10,"title":"Confirmation Token","description":"توکن بازگشتی از پیش‌نمایش"}},"type":"object","required":["confirmation_token"],"title":"FiscalYearRollbackExecuteRequest"},"FiscalYearUpdateRequest":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title","description":"عنوان سال مالی"},"start_date":{"type":"string","format":"date","title":"Start Date","description":"تاریخ شروع سال مالی"},"end_date":{"type":"string","format":"date","title":"End Date","description":"تاریخ پایان سال مالی"}},"type":"object","required":["title","start_date","end_date"],"title":"FiscalYearUpdateRequest"},"ForgotPasswordRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"identifier":{"type":"string","maxLength":255,"minLength":3,"title":"Identifier"}},"type":"object","required":["captcha_id","captcha_code","identifier"],"title":"ForgotPasswordRequest"},"FtpBackupSettingsSave":{"properties":{"host":{"type":"string","maxLength":255,"minLength":1,"title":"Host"},"port":{"type":"integer","maximum":65535.0,"minimum":1.0,"title":"Port","default":21},"username":{"type":"string","maxLength":255,"minLength":1,"title":"Username"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password","description":"خالی یعنی حفظ رمز قبلی"},"remote_path":{"type":"string","maxLength":1024,"title":"Remote Path","default":"/"},"passive":{"type":"boolean","title":"Passive","default":true},"use_ftps":{"type":"boolean","title":"Use Ftps","default":false},"use_sftp":{"type":"boolean","title":"Use Sftp","default":false}},"type":"object","required":["host","username"],"title":"FtpBackupSettingsSave"},"FtpConnectionTestRequest":{"properties":{"use_saved":{"type":"boolean","title":"Use Saved","description":"تست با تنظیمات ذخیره‌شده","default":false},"host":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Host"},"port":{"anyOf":[{"type":"integer","maximum":65535.0,"minimum":1.0},{"type":"null"}],"title":"Port"},"username":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Username"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password","description":"برای تست بدون ذخیره"},"remote_path":{"type":"string","maxLength":1024,"title":"Remote Path","default":"/"},"passive":{"type":"boolean","title":"Passive","default":true},"use_ftps":{"type":"boolean","title":"Use Ftps","default":false},"use_sftp":{"type":"boolean","title":"Use Sftp","default":false}},"type":"object","title":"FtpConnectionTestRequest"},"FtpStorageTestDraftRequest":{"properties":{"config_data":{"additionalProperties":true,"type":"object","title":"Config Data","description":"host, port, username, password?, directory, use_tls, passive"},"existing_config_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Existing Config Id","description":"اگر ست شود و password در config_data خالی باشد، رمز از DB خوانده می‌شود"}},"type":"object","required":["config_data"],"title":"FtpStorageTestDraftRequest","description":"تست اتصال FTP قبل از ذخیره یا با ادغام رمز از پیکربندی موجود."},"GenerateKeysRequest":{"properties":{"person_type":{"type":"string","enum":["natural","legal"],"title":"Person Type","description":"نوع شخصیت","default":"natural"},"national_id":{"type":"string","maxLength":20,"minLength":5,"title":"National Id","description":"شناسه ملی"},"name_fa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name Fa","description":"نام فارسی (برای اشخاص حقوقی)"},"name_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name En","description":"نام انگلیسی (برای اشخاص حقوقی)"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"ایمیل (برای اشخاص حقوقی)"}},"type":"object","required":["national_id"],"title":"GenerateKeysRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InvoiceShareLinkCreateRequest":{"properties":{"expires_in_hours":{"anyOf":[{"type":"integer","maximum":720.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Hours","description":"مدت اعتبار (ساعت). خالی: پیش‌فرض سامانه"},"max_view_count":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Max View Count","description":"حداکثر بازدید؛ خالی = نامحدود"},"replace_existing":{"type":"boolean","title":"Replace Existing","description":"در صورت وجود لینک فعال، ابتدا لغو و لینک جدید","default":true},"online_payment_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Online Payment Enabled","description":"فعال‌سازی پرداخت آنلاین از لینک عمومی (فقط فاکتور فروش قطعی)"},"online_payment_gateway_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Online Payment Gateway Id","description":"شناسه درگاه پرداخت متصل به کسب‌وکار"}},"type":"object","title":"InvoiceShareLinkCreateRequest","description":"ایجاد/تمدید لینک مشاهده عمومی فاکتور"},"InvoiceShareLinkPaymentPatchRequest":{"properties":{"online_payment_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Online Payment Enabled"},"online_payment_gateway_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Online Payment Gateway Id","description":"خالی یا ۰ برای حذف درگاه"}},"type":"object","title":"InvoiceShareLinkPaymentPatchRequest","description":"به‌روزرسانی پرداخت آنلاین روی لینک فعال"},"LeadConvertDealOption":{"properties":{"process_definition_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Process Definition Id"},"stage_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Stage Id"},"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"},"probability_percent":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Probability Percent"},"expected_close_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expected Close Date"},"assigned_to_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["process_definition_id","stage_id","title","amount"],"title":"LeadConvertDealOption","description":"اختیاری: ایجاد فرصت فروش همزمان با تبدیل سرنخ"},"LeadConvertRequest":{"properties":{"create_deal":{"anyOf":[{"$ref":"#/components/schemas/LeadConvertDealOption"},{"type":"null"}],"description":"در صورت ارسال، همزمان یک فرصت فروش برای مشتری جدید ایجاد می‌شود"}},"type":"object","title":"LeadConvertRequest","description":"درخواست تبدیل سرنخ به مشتری (با امکان ایجاد فرصت فروش)"},"LeadCreate":{"properties":{"process_definition_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Process Definition Id"},"stage_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Stage Id"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد دستی؛ در صورت خالی بودن، کد خودکار تولید می‌شود"},"source_code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Source Code"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"company_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Company Name"},"mobile":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"assigned_to_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"},"next_follow_up_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Follow Up At"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","required":["process_definition_id","stage_id","name"],"title":"LeadCreate","description":"ایجاد سرنخ"},"LeadUpdate":{"properties":{"stage_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Stage Id"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"source_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Code"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mobile"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"assigned_to_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned To User Id"},"next_follow_up_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Follow Up At"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","title":"LeadUpdate","description":"به‌روزرسانی سرنخ"},"LeaveBusinessResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"LeaveBusinessResponse"},"LoadServicesPayload":{"properties":{"json_file_path":{"type":"string","title":"Json File Path"},"default_currency_id":{"type":"integer","title":"Default Currency Id"}},"type":"object","required":["json_file_path","default_currency_id"],"title":"LoadServicesPayload"},"LoginRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"identifier":{"type":"string","maxLength":255,"minLength":3,"title":"Identifier"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"device_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Device Id"}},"type":"object","required":["captcha_id","captcha_code","identifier","password"],"title":"LoginRequest"},"NotificationSmsPricingPayload":{"properties":{"price_per_sms":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"null"}],"title":"Price Per Sms","description":"قیمت پیش‌فرض هر پیامک"},"event_type_prices":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Event Type Prices","description":"قیمت‌های خاص برای event_type ها"}},"type":"object","title":"NotificationSmsPricingPayload"},"NotificationsConfigPayload":{"properties":{"telegram_bot_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Bot Token"},"telegram_bot_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Bot Username"},"telegram_webhook_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Webhook Secret"},"telegram_secret_header":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Secret Header"},"bale_bot_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bale Bot Token"},"bale_bot_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bale Bot Username"},"bale_webhook_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bale Webhook Secret"},"sms_provider_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Provider Name"},"sms_api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Api Key"},"sms_sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Sender"},"sms_provider_username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Provider Username"},"sms_provider_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sms Provider Password"},"sms_is_flash":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sms Is Flash"},"telegram_proxy_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Telegram Proxy Enabled"},"telegram_proxy_base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Proxy Base Url"},"telegram_proxy_api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Telegram Proxy Api Key"},"inapp_read_retention_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inapp Read Retention Enabled"},"inapp_read_retention_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Inapp Read Retention Days"}},"type":"object","title":"NotificationsConfigPayload"},"PersonBankAccountCreateRequest":{"properties":{"bank_name":{"type":"string","maxLength":255,"minLength":1,"title":"Bank Name","description":"نام بانک"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number","description":"شماره حساب"},"card_number":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Card Number","description":"شماره کارت"},"sheba_number":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Sheba Number","description":"شماره شبا"}},"type":"object","required":["bank_name"],"title":"PersonBankAccountCreateRequest","description":"درخواست ایجاد حساب بانکی شخص"},"PersonCreateRequest":{"properties":{"code":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Code","description":"کد یکتا در هر کسب و کار (در صورت عدم ارسال، خودکار تولید می‌شود)"},"alias_name":{"type":"string","maxLength":255,"minLength":1,"title":"Alias Name","description":"نام مستعار (الزامی)"},"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name","description":"نام"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name","description":"نام خانوادگی"},"person_type":{"anyOf":[{"$ref":"#/components/schemas/PersonType"},{"type":"null"}],"description":"نوع شخص (سازگاری قدیمی)"},"person_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/PersonType"},"type":"array"},{"type":"null"}],"title":"Person Types","description":"انواع شخص (چندانتخابی)"},"company_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Company Name","description":"نام شرکت"},"name_prefix":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Name Prefix","description":"پیشوند (آقای، خانم، شرکت، …)"},"legal_entity_type":{"type":"string","title":"Legal Entity Type","description":"نوع حقوقی: natural=حقیقی، legal=حقوقی","default":"natural"},"payment_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Payment Id","description":"شناسه پرداخت"},"person_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Group Id","description":"گروه اشخاص (اختیاری؛ قالب پیش‌فرض)"},"national_id":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"National Id","description":"شناسه ملی"},"registration_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Registration Number","description":"شماره ثبت"},"economic_id":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Economic Id","description":"شناسه اقتصادی"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country","description":"کشور"},"province":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province","description":"استان"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City","description":"شهرستان"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"آدرس"},"postal_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Postal Code","description":"کد پستی"},"phone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Phone","description":"تلفن"},"mobile":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile","description":"موبایل"},"mobile_2":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile 2","description":"موبایل ۲"},"mobile_3":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile 3","description":"موبایل ۳"},"fax":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Fax","description":"فکس"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email","description":"پست الکترونیکی"},"website":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Website","description":"وب‌سایت"},"bank_accounts":{"anyOf":[{"items":{"$ref":"#/components/schemas/PersonBankAccountCreateRequest"},"type":"array"},{"type":"null"}],"title":"Bank Accounts","description":"حساب‌های بانکی","default":[]},"social_contacts":{"anyOf":[{"items":{"$ref":"#/components/schemas/PersonSocialContactInput"},"type":"array"},{"type":"null"}],"title":"Social Contacts","description":"راه‌های ارتباط (تلگرام، اینستاگرام و …)","default":[]},"share_count":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Share Count","description":"تعداد سهام (برای سهامدار، اجباری و حداقل 1)"},"commission_sale_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Commission Sale Percent","description":"درصد پورسانت از فروش"},"commission_sales_return_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Commission Sales Return Percent","description":"درصد پورسانت از برگشت از فروش"},"commission_sales_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Commission Sales Amount","description":"مبلغ فروش مبنا"},"commission_sales_return_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Commission Sales Return Amount","description":"مبلغ برگشت از فروش مبنا"},"commission_exclude_discounts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Exclude Discounts","description":"عدم محاسبه تخفیف","default":false},"commission_exclude_additions_deductions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Exclude Additions Deductions","description":"عدم محاسبه اضافات و کسورات","default":false},"commission_post_in_invoice_document":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Post In Invoice Document","description":"ثبت پورسانت در سند فاکتور","default":false},"credit_limit":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credit Limit","description":"سقف اعتبار شخص"},"credit_check_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Credit Check Enabled","description":"فعال بودن بررسی اعتبار برای شخص (در صورت عدم ارسال، از تنظیمات کسب‌وکار تبعیت می‌کند)"}},"type":"object","required":["alias_name"],"title":"PersonCreateRequest","description":"درخواست ایجاد شخص جدید"},"PersonGroupCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"code":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Code"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id","description":"برای آینده؛ فعلاً باید خالی باشد"},"profile_defaults":{"additionalProperties":true,"type":"object","title":"Profile Defaults"},"sort_order":{"type":"integer","title":"Sort Order","default":0},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name"],"title":"PersonGroupCreateRequest"},"PersonGroupUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"code":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Code"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"profile_defaults":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Profile Defaults"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"PersonGroupUpdateRequest"},"PersonShareLinkCreateRequest":{"properties":{"expires_in_hours":{"anyOf":[{"type":"integer","maximum":720.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Hours","description":"مدت اعتبار لینک (ساعت). در صورت عدم ارسال از مقدار پیش‌فرض تنظیمات استفاده می‌شود."},"max_view_count":{"anyOf":[{"type":"integer","maximum":1000.0,"minimum":1.0},{"type":"null"}],"title":"Max View Count","description":"حداکثر تعداد بازدید مجاز. خالی یعنی بدون محدودیت."},"replace_existing":{"type":"boolean","title":"Replace Existing","description":"در صورت وجود لینک فعال، ابتدا لغو و لینک جدید ایجاد شود","default":true},"options":{"$ref":"#/components/schemas/PersonShareLinkOptions","description":"تنظیمات محتوای قابل نمایش برای مشتری"}},"type":"object","title":"PersonShareLinkCreateRequest","description":"درخواست ایجاد یا به‌روزرسانی لینک اشتراک"},"PersonShareLinkOptions":{"properties":{"include_ledger":{"type":"boolean","title":"Include Ledger","description":"آیا کارت حساب (تراکنش‌ها) برای مشتری نمایش داده شود","default":true},"include_invoices":{"type":"boolean","title":"Include Invoices","description":"آیا فهرست فاکتورها نمایش داده شود","default":true},"documents_limit":{"type":"integer","maximum":200.0,"minimum":10.0,"title":"Documents Limit","description":"حداکثر تعداد ردیف برای لیست‌ها","default":50}},"type":"object","title":"PersonShareLinkOptions","description":"تنظیمات محتوای لینک اشتراک"},"PersonSocialContactInput":{"properties":{"platform_key":{"type":"string","maxLength":64,"minLength":1,"title":"Platform Key","description":"کلید پلتفرم (مثل telegram) یا other"},"custom_label":{"anyOf":[{"type":"string","maxLength":128},{"type":"null"}],"title":"Custom Label","description":"نام نمایش برای سایر/سفارشی"},"value":{"type":"string","maxLength":2000,"minLength":1,"title":"Value","description":"آیدی، لینک، شماره و …"}},"type":"object","required":["platform_key","value"],"title":"PersonSocialContactInput","description":"سطر ارتباط پیام‌رسان / شبکه اجتماعی (ورودی ایجاد/ویرایش)"},"PersonType":{"type":"string","enum":["مشتری","بازاریاب","کارمند","تامین‌کننده","همکار","فروشنده","سهامدار"],"title":"PersonType","description":"نوع شخص"},"PersonUpdateRequest":{"properties":{"code":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Code","description":"کد یکتا در هر کسب و کار"},"alias_name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Alias Name","description":"نام مستعار"},"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name","description":"نام"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name","description":"نام خانوادگی"},"person_type":{"anyOf":[{"$ref":"#/components/schemas/PersonType"},{"type":"null"}],"description":"نوع شخص (سازگاری قدیمی)"},"person_types":{"anyOf":[{"items":{"$ref":"#/components/schemas/PersonType"},"type":"array"},{"type":"null"}],"title":"Person Types","description":"انواع شخص (چندانتخابی)"},"company_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Company Name","description":"نام شرکت"},"name_prefix":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Name Prefix","description":"پیشوند"},"legal_entity_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Entity Type","description":"نوع حقوقی: natural یا legal"},"payment_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Payment Id","description":"شناسه پرداخت"},"person_group_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Group Id","description":"گروه اشخاص (خالی برای حذف انتساب)"},"national_id":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"National Id","description":"شناسه ملی"},"registration_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Registration Number","description":"شماره ثبت"},"economic_id":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Economic Id","description":"شناسه اقتصادی"},"country":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Country","description":"کشور"},"province":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Province","description":"استان"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City","description":"شهرستان"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address","description":"آدرس"},"postal_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Postal Code","description":"کد پستی"},"phone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Phone","description":"تلفن"},"mobile":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile","description":"موبایل"},"mobile_2":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile 2","description":"موبایل ۲"},"mobile_3":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Mobile 3","description":"موبایل ۳"},"fax":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Fax","description":"فکس"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email","description":"پست الکترونیکی"},"website":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Website","description":"وب‌سایت"},"share_count":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Share Count","description":"تعداد سهام (برای سهامدار)"},"commission_sale_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Commission Sale Percent","description":"درصد پورسانت از فروش"},"commission_sales_return_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Commission Sales Return Percent","description":"درصد پورسانت از برگشت از فروش"},"commission_sales_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Commission Sales Amount","description":"مبلغ فروش مبنا"},"commission_sales_return_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Commission Sales Return Amount","description":"مبلغ برگشت از فروش مبنا"},"commission_exclude_discounts":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Exclude Discounts","description":"عدم محاسبه تخفیف"},"commission_exclude_additions_deductions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Exclude Additions Deductions","description":"عدم محاسبه اضافات و کسورات"},"commission_post_in_invoice_document":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Commission Post In Invoice Document","description":"ثبت پورسانت در سند فاکتور"},"credit_limit":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Credit Limit","description":"سقف اعتبار شخص"},"credit_check_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Credit Check Enabled","description":"فعال بودن بررسی اعتبار برای شخص (خالی یعنی تبعیت از تنظیمات کسب‌وکار)"},"social_contacts":{"anyOf":[{"items":{"$ref":"#/components/schemas/PersonSocialContactInput"},"type":"array"},{"type":"null"}],"title":"Social Contacts","description":"راه‌های ارتباط؛ اگر ارسال شود جایگزین کامل است"}},"type":"object","title":"PersonUpdateRequest","description":"درخواست ویرایش شخص"},"PreviewTemplateRequest":{"properties":{"sample_context":{"additionalProperties":true,"type":"object","title":"Sample Context","description":"Context نمونه"}},"type":"object","required":["sample_context"],"title":"PreviewTemplateRequest","description":"درخواست پیش‌نمایش قالب"},"PriceItemUpsertRequest":{"properties":{"product_id":{"type":"integer","title":"Product Id"},"unit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unit Id"},"currency_id":{"type":"integer","title":"Currency Id"},"tier_name":{"anyOf":[{"type":"string","maxLength":64,"minLength":1},{"type":"null"}],"title":"Tier Name"},"min_qty":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Min Qty","default":0},"price":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Price"}},"type":"object","required":["product_id","currency_id","price"],"title":"PriceItemUpsertRequest"},"PriceListCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name"],"title":"PriceListCreateRequest"},"PriceListUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"PriceListUpdateRequest"},"ProductAttributeCreateRequest":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title","description":"عنوان ویژگی"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"توضیحات ویژگی"},"data_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Type","description":"نوع داده: text, number, date, select, boolean","default":"text"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options","description":"گزینه‌های select (فقط برای نوع select)"}},"type":"object","required":["title"],"title":"ProductAttributeCreateRequest"},"ProductAttributeUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Title","description":"عنوان ویژگی"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"توضیحات ویژگی"},"data_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Type","description":"نوع داده: text, number, date, select, boolean"},"options":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Options","description":"گزینه‌های select (فقط برای نوع select)"}},"type":"object","title":"ProductAttributeUpdateRequest"},"ProductBOMCreateRequest":{"properties":{"product_id":{"type":"integer","title":"Product Id"},"version":{"type":"string","maxLength":64,"title":"Version"},"name":{"type":"string","maxLength":255,"title":"Name"},"is_default":{"type":"boolean","title":"Is Default","default":false},"effective_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective From"},"effective_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective To"},"yield_percent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Yield Percent"},"wastage_percent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Wastage Percent"},"status":{"type":"string","title":"Status","default":"draft"},"notes":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Notes"},"items":{"items":{"$ref":"#/components/schemas/BomItem"},"type":"array","title":"Items"},"outputs":{"items":{"$ref":"#/components/schemas/BomOutput"},"type":"array","title":"Outputs"},"operations":{"items":{"$ref":"#/components/schemas/BomOperation"},"type":"array","title":"Operations"}},"type":"object","required":["product_id","version","name"],"title":"ProductBOMCreateRequest"},"ProductBOMUpdateRequest":{"properties":{"version":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Version"},"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"effective_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective From"},"effective_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective To"},"yield_percent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Yield Percent"},"wastage_percent":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Wastage Percent"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"notes":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Notes"},"items":{"anyOf":[{"items":{"$ref":"#/components/schemas/BomItem"},"type":"array"},{"type":"null"}],"title":"Items"},"outputs":{"anyOf":[{"items":{"$ref":"#/components/schemas/BomOutput"},"type":"array"},{"type":"null"}],"title":"Outputs"},"operations":{"anyOf":[{"items":{"$ref":"#/components/schemas/BomOperation"},"type":"array"},{"type":"null"}],"title":"Operations"}},"type":"object","title":"ProductBOMUpdateRequest"},"ProductCreateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد محصول (اگر ارسال نشود، خودکار تولید می‌شود)","example":"P1001"},"name":{"type":"string","maxLength":200,"title":"Name","description":"نام محصول","example":"لپ‌تاپ Asus Vivobook"},"item_type":{"type":"string","enum":["کالا","خدمت"],"title":"Item Type","description":"نوع آیتم: کالا یا خدمت","default":"کالا","example":"کالا"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description","description":"توضیحات کامل محصول"},"category_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Category Id","description":"شناسه دسته‌بندی"},"main_unit":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Main Unit","description":"واحد اصلی (مثال: عدد، کیلوگرم، متر)","example":"عدد"},"secondary_unit":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Secondary Unit","description":"واحد فرعی (اختیاری)","example":"بسته"},"unit_conversion_factor":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unit Conversion Factor","description":"ضریب تبدیل واحد فرعی به اصلی (مثال: 1 بسته = 12 عدد)","example":12},"base_sales_price":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Sales Price","description":"قیمت فروش پایه","example":15000000},"base_purchase_price":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Purchase Price","description":"قیمت خرید پایه","example":12000000},"track_inventory":{"type":"boolean","title":"Track Inventory","description":"آیا موجودی این محصول کنترل شود؟","default":false},"default_warehouse_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Default Warehouse Id","description":"شناسه انبار پیش‌فرض"},"reorder_point":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Reorder Point","description":"نقطه سفارش مجدد (حداقل موجودی)"},"min_order_qty":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Order Qty","description":"حداقل تعداد سفارش"},"lead_time_days":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Lead Time Days","description":"زمان تحویل (روز)"},"inventory_mode":{"anyOf":[{"type":"string","enum":["bulk","unique"]},{"type":"null"}],"title":"Inventory Mode","description":"حالت موجودی: bulk (فله‌ای) یا unique (یونیک)","default":"bulk"},"track_serial":{"type":"boolean","title":"Track Serial","description":"ردیابی سریال نامبر برای کالاهای یونیک","default":false},"track_barcode":{"type":"boolean","title":"Track Barcode","description":"ردیابی بارکد برای کالاهای یونیک","default":false},"is_sales_taxable":{"type":"boolean","title":"Is Sales Taxable","description":"آیا در فروش مشمول مالیات است؟","default":false},"is_purchase_taxable":{"type":"boolean","title":"Is Purchase Taxable","description":"آیا در خرید مشمول مالیات است؟","default":false},"sales_tax_rate":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Sales Tax Rate","description":"نرخ مالیات فروش (درصد)","example":9},"purchase_tax_rate":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Purchase Tax Rate","description":"نرخ مالیات خرید (درصد)"},"tax_type_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Tax Type Id","description":"شناسه نوع مالیات"},"tax_code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Tax Code","description":"کد مالیاتی محصول"},"tax_unit_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Tax Unit Id","description":"شناسه واحد مالیاتی"},"base_sales_note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Sales Note","description":"یادداشت پیش‌فرض فروش"},"base_purchase_note":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Base Purchase Note","description":"یادداشت پیش‌فرض خرید"},"image_file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image File Id","description":"شناسه فایل تصویر محصول (UUID)"},"attribute_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Attribute Ids","description":"لیست شناسه‌های ویژگی‌های محصول"},"barcode":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Barcode","description":"بارکد محصول (legacy)"},"general_barcodes":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}],"title":"General Barcodes","description":"بارکدهای عمومی جدا شده با ویرگول برای اسکن و چاپ برچسب"},"is_active":{"type":"boolean","title":"Is Active","description":"آیا محصول فعال است؟","default":true},"is_public_catalog":{"type":"boolean","title":"Is Public Catalog","description":"انتشار عمومی در شبکهٔ کاتالوگ (API عمومی بدون احراز هویت)","default":false}},"type":"object","required":["name"],"title":"ProductCreateRequest","description":"درخواست ایجاد محصول جدید","example":{"barcode":"1234567890123","base_purchase_price":12000000,"base_sales_price":15000000,"category_id":1,"code":"P1001","default_warehouse_id":1,"description":"لپ‌تاپ 15.6 اینچی با پردازنده Core i5","is_sales_taxable":true,"item_type":"کالا","main_unit":"عدد","name":"لپ‌تاپ Asus Vivobook 15","reorder_point":5,"sales_tax_rate":9,"track_inventory":true}},"ProductInventoryInfo":{"properties":{"warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warehouse Id"},"warehouse_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Warehouse Name"},"quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Quantity"},"reserved_quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Reserved Quantity"},"available_quantity":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Available Quantity"},"unit_cost":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unit Cost"},"total_value":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Value"}},"type":"object","required":["warehouse_id","warehouse_name","quantity","reserved_quantity","available_quantity","unit_cost","total_value"],"title":"ProductInventoryInfo","description":"اطلاعات موجودی محصول"},"ProductItemType":{"type":"string","enum":["کالا","خدمت"],"title":"ProductItemType","description":"نوع آیتم محصول"},"ProductListPagination":{"properties":{"total":{"type":"integer","title":"Total","description":"تعداد کل رکوردها"},"page":{"type":"integer","title":"Page","description":"شماره صفحه فعلی (از ۱)"},"per_page":{"type":"integer","title":"Per Page","description":"تعداد در هر صفحه"},"total_pages":{"type":"integer","title":"Total Pages","description":"تعداد کل صفحات"},"has_next":{"type":"boolean","title":"Has Next","description":"آیا صفحه بعدی وجود دارد"},"has_prev":{"type":"boolean","title":"Has Prev","description":"آیا صفحه قبلی وجود دارد"}},"type":"object","required":["total","page","per_page","total_pages","has_next","has_prev"],"title":"ProductListPagination","description":"اطلاعات صفحه‌بندی لیست (هم‌شکل با پاسخ لیست اشخاص برای DataTable)"},"ProductListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ProductResponse"},"type":"array","title":"Items","description":"لیست محصولات"},"total_count":{"type":"integer","title":"Total Count","description":"تعداد کل"},"has_more":{"type":"boolean","title":"Has More","description":"آیا رکورد بیشتری وجود دارد"},"pagination":{"anyOf":[{"$ref":"#/components/schemas/ProductListPagination"},{"type":"null"}],"description":"اطلاعات صفحه‌بندی برای نمایش دکمه‌های صفحه بعدی/قبلی در DataTable"}},"type":"object","required":["items","total_count","has_more"],"title":"ProductListResponse","description":"پاسخ لیست محصولات (هم‌شکل با لیست اشخاص برای DataTable و pagination)"},"ProductResponse":{"properties":{"id":{"type":"integer","title":"Id","description":"شناسه محصول"},"code":{"type":"string","title":"Code","description":"کد محصول"},"name":{"type":"string","title":"Name","description":"نام محصول"},"item_type":{"type":"string","title":"Item Type","description":"نوع آیتم"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"business_id":{"type":"integer","title":"Business Id"},"category_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Category Id"},"category_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category Name"},"main_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Main Unit"},"secondary_unit":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Unit"},"unit_conversion_factor":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Unit Conversion Factor"},"base_sales_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Sales Price"},"base_purchase_price":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Base Purchase Price"},"track_inventory":{"type":"boolean","title":"Track Inventory"},"default_warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Warehouse Id"},"default_warehouse_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Warehouse Name"},"default_warehouse_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Warehouse Code"},"reorder_point":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reorder Point"},"min_order_qty":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Order Qty"},"lead_time_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lead Time Days"},"inventory_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inventory Mode"},"track_serial":{"type":"boolean","title":"Track Serial","default":false},"track_barcode":{"type":"boolean","title":"Track Barcode","default":false},"is_sales_taxable":{"type":"boolean","title":"Is Sales Taxable"},"is_purchase_taxable":{"type":"boolean","title":"Is Purchase Taxable"},"sales_tax_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Sales Tax Rate"},"purchase_tax_rate":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Purchase Tax Rate"},"tax_type_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tax Type Id"},"tax_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tax Code"},"tax_unit_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tax Unit Id"},"base_sales_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Sales Note"},"base_purchase_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Purchase Note"},"image_file_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image File Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"barcode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Barcode"},"general_barcodes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"General Barcodes"},"is_active":{"type":"boolean","title":"Is Active"},"is_public_catalog":{"type":"boolean","title":"Is Public Catalog","default":false},"catalog_public_uuid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Catalog Public Uuid","description":"شناسهٔ عمومی برای لینک کاتالوگ (پس از فعال‌سازی انتشار)"},"inventory":{"anyOf":[{"items":{"$ref":"#/components/schemas/ProductInventoryInfo"},"type":"array"},{"type":"null"}],"title":"Inventory","description":"اطلاعات موجودی در انبارها (فقط در صورت درخواست)"},"total_quantity":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Quantity","description":"موجودی کل در تمام انبارها"},"total_value":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Value","description":"ارزش کل موجودی"},"attributes":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Attributes"},"attribute_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Attribute Ids"},"inventory_stock_accounting":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Inventory Stock Accounting"},"inventory_stock_warehouse":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Inventory Stock Warehouse"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"created_by_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By Name"}},"type":"object","required":["id","code","name","item_type","business_id","track_inventory","is_sales_taxable","is_purchase_taxable","is_active"],"title":"ProductResponse","description":"پاسخ اطلاعات محصول","example":{"base_purchase_price":12000000,"base_sales_price":15000000,"category_name":"لپ‌تاپ","code":"P1001","id":1,"is_active":true,"item_type":"کالا","main_unit":"عدد","name":"لپ‌تاپ Asus Vivobook 15","total_quantity":25,"total_value":300000000,"track_inventory":true}},"ProductionDraftRequest":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"bom_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Bom Id"},"quantity":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Quantity"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date"},"fiscal_year_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Fiscal Year Id"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"}},"type":"object","required":["quantity"],"title":"ProductionDraftRequest"},"ProjectCreateRequest":{"properties":{"code":{"type":"string","maxLength":50,"minLength":1,"title":"Code","description":"کد یکتا پروژه"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name","description":"نام پروژه"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"توضیحات پروژه"},"status":{"type":"string","title":"Status","description":"وضعیت: active, completed, on_hold, cancelled","default":"active"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date","description":"تاریخ شروع"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date","description":"تاریخ پایان"},"budget":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Budget","description":"بودجه پروژه"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id","description":"شناسه ارز"},"manager_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager User Id","description":"مدیر پروژه"},"person_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id","description":"شخص مرتبط"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info","description":"اطلاعات اضافی"},"is_active":{"type":"boolean","title":"Is Active","description":"فعال/غیرفعال","default":true}},"type":"object","required":["code","name"],"title":"ProjectCreateRequest","description":"درخواست ایجاد پروژه","example":{"budget":1000000000,"code":"PRJ-001","currency_id":1,"description":"پروژه ساخت ساختمان مسکونی 5 طبقه","end_date":"2025-12-31","manager_user_id":5,"name":"پروژه ساخت ساختمان","person_id":10,"start_date":"2025-01-01","status":"active"}},"ProjectUpdateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"},"budget":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Budget"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"},"manager_user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Manager User Id"},"person_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Person Id"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"ProjectUpdateRequest","description":"درخواست به‌روزرسانی پروژه"},"PublicCatalogContactBody":{"properties":{"business_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Business Id"},"product_catalog_uuid":{"anyOf":[{"type":"string","maxLength":36},{"type":"null"}],"title":"Product Catalog Uuid"},"sender_name":{"type":"string","maxLength":200,"minLength":1,"title":"Sender Name"},"sender_contact":{"type":"string","maxLength":200,"minLength":3,"title":"Sender Contact"},"message":{"type":"string","maxLength":2000,"minLength":1,"title":"Message"},"captcha_id":{"type":"string","maxLength":64,"minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":16,"minLength":3,"title":"Captcha Code"}},"type":"object","required":["business_id","sender_name","sender_contact","message","captcha_id","captcha_code"],"title":"PublicCatalogContactBody"},"PublicInvoicePayStartBody":{"properties":{"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount","description":"مبلغ پرداخت به ریال"}},"type":"object","required":["amount"],"title":"PublicInvoicePayStartBody"},"QueryInfo":{"properties":{"sort_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By","description":"نام فیلد مورد نظر برای مرتب‌سازی (مثال: created_at, name, total_amount)","example":"created_at"},"sort_desc":{"type":"boolean","title":"Sort Desc","description":"نوع مرتب‌سازی: false = صعودی (A-Z, 1-9), true = نزولی (Z-A, 9-1)","default":false,"example":true},"sort":{"anyOf":[{"items":{"$ref":"#/components/schemas/SortItem"},"type":"array"},{"type":"null"}],"title":"Sort","description":"مرتب‌سازی چندسطحی. اگر ارسال شود و حداقل یک عضو معتبر داشته باشد، اولویت با این فهرست است؛ در غیر این صورت از sort_by / sort_desc استفاده می‌شود."},"take":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Take","description":"تعداد رکورد در هر صفحه (حداقل 1، حداکثر 1000)","default":10,"example":20},"skip":{"type":"integer","minimum":0.0,"title":"Skip","description":"تعداد رکوردی که از ابتدا رد می‌شود (برای صفحه‌بندی)","default":0,"example":0},"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"عبارت جستجو - در تمام فیلدهای search_fields یا فیلدهای پیش‌فرض جستجو می‌شود","example":"احمد"},"searchFields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Searchfields","description":"فیلدهای مورد نظر برای جستجو. اگر ارسال نشود، فیلدهای پیش‌فرض استفاده می‌شود","example":["first_name","last_name","email"]},"categoryIds":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Categoryids","description":"فیلتر بر اساس شناسه دسته‌بندی کالا/خدمت (چند انتخاب با OR)","example":[1,2]},"filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/FilterItem"},"type":"array"},{"type":"null"}],"title":"Filters","description":"آرایه‌ای از فیلترهای پیشرفته. تمام فیلترها با AND به هم متصل می‌شوند","example":[{"operator":"=","property":"is_active","value":true},{"operator":">=","property":"total_amount","value":1000000}]},"include_inventory":{"type":"boolean","title":"Include Inventory","description":"محاسبه و اضافه کردن فیلدهای موجودی انبار و اطلاعات مالی (فقط برای محصولات)","default":false,"example":false},"inventory_as_of_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inventory As Of Date","description":"تاریخ محاسبه موجودی (فرمت: YYYY-MM-DD یا YYYY/MM/DD). پیش‌فرض: امروز","example":"2024-01-15"}},"type":"object","title":"QueryInfo","description":"پارامترهای جستجو، فیلتر، مرتب‌سازی و صفحه‌بندی\n\n### قابلیت‌ها:\n- **مرتب‌سازی**: تک‌ستونه با sort_by / sort_desc (سازگار با کلاینت قدیمی) یا چندستونه با آرایه sort\n- **صفحه‌بندی**: با take و skip\n- **جستجو**: در چندین فیلد همزمان\n- **فیلتر پیشرفته**: با عملگرهای مختلف\n\n### مثال کامل:\n```json\n{\n  \"take\": 20,\n  \"skip\": 0,\n  \"sort_by\": \"created_at\",\n  \"sort_desc\": true,\n  \"search\": \"احمد\",\n  \"search_fields\": [\"first_name\", \"last_name\", \"email\"],\n  \"filters\": [\n        {\"property\": \"is_active\", \"operator\": \"=\", \"value\": true},\n        {\"property\": \"created_at\", \"operator\": \">=\", \"value\": \"2024-01-01\"}\n  ]\n}\n```","example":{"filters":[{"operator":"=","property":"is_active","value":true}],"search":"احمد","search_fields":["first_name","last_name"],"skip":0,"sort_by":"created_at","sort_desc":true,"take":20}},"RedisConfigurationPayload":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host"},"port":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Port"},"db":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Db"},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"type":"object","title":"RedisConfigurationPayload","description":"Payload برای تنظیمات Redis"},"RegisterRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"first_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"mobile":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Mobile"},"password":{"type":"string","maxLength":128,"minLength":8,"title":"Password"},"device_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Device Id"},"referrer_code":{"anyOf":[{"type":"string","maxLength":32,"minLength":4},{"type":"null"}],"title":"Referrer Code"}},"type":"object","required":["captcha_id","captcha_code","password"],"title":"RegisterRequest"},"RejectTemplateRequest":{"properties":{"reason":{"type":"string","title":"Reason","description":"دلیل رد"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"یادداشت اضافی"}},"type":"object","required":["reason"],"title":"RejectTemplateRequest","description":"درخواست رد قالب"},"RemoveUserResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"RemoveUserResponse"},"RepairOrderCreate":{"properties":{"customer_person_id":{"type":"integer","title":"Customer Person Id","description":"شناسه مشتری (phone و email از persons دریافت می‌شود)"},"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id","description":"شناسه کالا (اگر در سیستم باشد)"},"product_name":{"type":"string","maxLength":255,"title":"Product Name","description":"نام کالا"},"product_serial":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Product Serial"},"warranty_code_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warranty Code Id","description":"کد گارانتی"},"problem_description":{"type":"string","title":"Problem Description","description":"شرح مشکل"},"customer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Notes"},"estimated_cost":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Estimated Cost","description":"هزینه برآوردی"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id"},"estimated_delivery_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Estimated Delivery At"}},"type":"object","required":["customer_person_id","product_name","problem_description"],"title":"RepairOrderCreate","description":"ایجاد سفارش تعمیر"},"RepairOrderUpdate":{"properties":{"product_serial":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Product Serial"},"problem_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Problem Description"},"customer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Notes"},"technician_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Technician Notes"},"estimated_cost":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Estimated Cost"},"estimated_delivery_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Estimated Delivery At"}},"type":"object","title":"RepairOrderUpdate","description":"به‌روزرسانی سفارش تعمیر"},"RepairShopSettingsUpdate":{"properties":{"receipt_code_format":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt Code Format","description":"فرمت کد: random, sequential, custom"},"receipt_code_prefix":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Receipt Code Prefix","description":"پیشوند کد رسید"},"auto_send_sms_on_receive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Send Sms On Receive"},"auto_send_sms_on_status_change":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Send Sms On Status Change"},"auto_send_email_on_receive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Send Email On Receive"},"auto_send_email_on_status_change":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Send Email On Status Change"},"sms_templates":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Sms Templates"},"email_templates":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Email Templates"},"default_service_product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Service Product Id"},"default_warehouse_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Default Warehouse Id"},"extra_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Settings"}},"type":"object","title":"RepairShopSettingsUpdate","description":"به‌روزرسانی تنظیمات تعمیرگاه"},"RepairTechnicianCreate":{"properties":{"person_id":{"type":"integer","title":"Person Id","description":"شناسه Person از جدول اشخاص"},"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد تعمیرکار (اختیاری - اتوماتیک تولید می‌شود)"},"commission_type":{"type":"string","title":"Commission Type","description":"نوع حق‌الزحمه: fixed, percentage, case_by_case","default":"percentage"},"commission_value":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Commission Value","description":"مبلغ فیکس یا درصد","default":"0"},"is_active":{"type":"boolean","title":"Is Active","description":"وضعیت فعال/غیرفعال","default":true},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","required":["person_id"],"title":"RepairTechnicianCreate","description":"ایجاد تعمیرکار"},"RepairTechnicianUpdate":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code"},"commission_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commission Type"},"commission_value":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission Value"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info"}},"type":"object","title":"RepairTechnicianUpdate","description":"به‌روزرسانی تعمیرکار"},"ResetPasswordRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"token":{"type":"string","minLength":16,"title":"Token"},"new_password":{"type":"string","maxLength":128,"minLength":8,"title":"New Password"}},"type":"object","required":["captcha_id","captcha_code","token","new_password"],"title":"ResetPasswordRequest"},"SaveScoreRequest":{"properties":{"score":{"type":"integer","minimum":0.0,"title":"Score","description":"امتیاز نهایی (بر حسب ثانیه بقا)"},"survival_time":{"type":"integer","minimum":0.0,"title":"Survival Time","description":"زمان بقا به ثانیه"},"hero_mode_uses":{"type":"integer","maximum":3.0,"minimum":0.0,"title":"Hero Mode Uses","description":"تعداد دفعات استفاده از حالت قهرمان","default":0},"difficulty_level":{"type":"number","minimum":1.0,"title":"Difficulty Level","description":"ضریب سختی نهایی","default":1.0}},"type":"object","required":["score","survival_time"],"title":"SaveScoreRequest"},"ScriptRunCreatePayload":{"properties":{"params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Params"},"dry_run":{"type":"boolean","title":"Dry Run","default":true}},"type":"object","title":"ScriptRunCreatePayload"},"SearchAccountsRequest":{"properties":{"take":{"type":"integer","title":"Take","default":50},"skip":{"type":"integer","title":"Skip","default":0},"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"},"sort_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By","default":"code"},"sort_desc":{"type":"boolean","title":"Sort Desc","default":false}},"type":"object","title":"SearchAccountsRequest","description":"درخواست جستجوی حساب‌ها"},"SendEmailRequest":{"properties":{"to":{"type":"string","format":"email","title":"To","description":"Recipient email address"},"subject":{"type":"string","maxLength":255,"minLength":1,"title":"Subject","description":"Email subject"},"body":{"type":"string","minLength":1,"title":"Body","description":"Email body (plain text)"},"html_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Html Body","description":"Email body (HTML)"},"config_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Config Id","description":"Specific config ID to use"}},"type":"object","required":["to","subject","body"],"title":"SendEmailRequest"},"SendLoginOtpRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"identifier":{"type":"string","maxLength":255,"minLength":3,"title":"Identifier","description":"ایمیل یا شماره موبایل"},"channel":{"type":"string","title":"Channel","description":"کانال ارسال: sms, email, telegram"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id","description":"شناسه session موجود (برای تغییر کانال)"}},"type":"object","required":["captcha_id","captcha_code","identifier","channel"],"title":"SendLoginOtpRequest"},"SendMobileVerificationRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"mobile":{"type":"string","maxLength":32,"minLength":10,"title":"Mobile","description":"شماره موبایل برای ارسال کد تایید"}},"type":"object","required":["captcha_id","captcha_code","mobile"],"title":"SendMobileVerificationRequest","description":"همراه با کپچا (بدن درخواست JSON) — از query param خالی برای جلوگیری از سوءاستفاده"},"SendNotificationRequest":{"properties":{"person_id":{"type":"integer","title":"Person Id","description":"شناسه Person"},"event_type":{"type":"string","title":"Event Type","description":"نوع رویداد"},"context":{"additionalProperties":true,"type":"object","title":"Context","description":"داده‌های متغیرها"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel","description":"کانال (None = همه)"},"recipient_mobile":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recipient Mobile","description":"شماره موبایل مقصد (اختیاری؛ در صورت ارسال برای SMS به این شماره ارسال می‌شود)"}},"type":"object","required":["person_id","event_type","context"],"title":"SendNotificationRequest","description":"درخواست ارسال نوتیفیکیشن"},"SettingsPayload":{"properties":{"telegram_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Telegram Enabled"},"bale_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Bale Enabled"},"email_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Enabled"},"sms_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sms Enabled"},"inapp_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inapp Enabled"},"inapp_alert_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inapp Alert Mode"},"inapp_sound_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Inapp Sound Enabled"},"inapp_sound_asset_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Inapp Sound Asset Id"}},"type":"object","title":"SettingsPayload"},"ShareLinkSettingsPayload":{"properties":{"public_app_url":{"type":"string","title":"Public App Url"},"invoice_gateway_fee_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Invoice Gateway Fee Percent","description":"درصد کارمزد درگاه برای پرداخت آنلاین از لینک فاکتور (۰ تا ۱۰۰). خالی = بدون تغییر"}},"type":"object","required":["public_app_url"],"title":"ShareLinkSettingsPayload"},"ShareholderDistributionItem":{"properties":{"person_id":{"type":"integer","title":"Person Id","description":"شناسه سهامدار"},"profit_amount":{"type":"number","title":"Profit Amount","description":"مبلغ سود تخصیص یافته به این سهامدار"}},"type":"object","required":["person_id","profit_amount"],"title":"ShareholderDistributionItem","description":"آیتم توزیع سود بین سهامدار"},"SortItem":{"properties":{"by":{"type":"string","title":"By","description":"نام فیلد برای مرتب‌سازی","example":"document_date"},"desc":{"type":"boolean","title":"Desc","description":"true = نزولی، false = صعودی","default":false}},"type":"object","required":["by"],"title":"SortItem","description":"یک سطح مرتب‌سازی در لیست چندستونه (کلید sort در بدنهٔ JSON)."},"StorageConfigCreateRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"نام پیکربندی"},"storage_type":{"type":"string","title":"Storage Type","description":"نوع ذخیره‌سازی"},"config_data":{"additionalProperties":true,"type":"object","title":"Config Data","description":"داده‌های پیکربندی"},"is_default":{"type":"boolean","title":"Is Default","description":"آیا پیش‌فرض است","default":false},"is_active":{"type":"boolean","title":"Is Active","description":"آیا فعال است","default":true}},"type":"object","required":["name","storage_type","config_data"],"title":"StorageConfigCreateRequest"},"StorageConfigUpdateRequest":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name","description":"نام پیکربندی"},"storage_type":{"type":"string","title":"Storage Type","description":"نوع ذخیره‌سازی"},"config_data":{"additionalProperties":true,"type":"object","title":"Config Data","description":"داده‌های پیکربندی"},"is_default":{"type":"boolean","title":"Is Default","description":"آیا پیش‌فرض است","default":false},"is_active":{"type":"boolean","title":"Is Active","description":"آیا فعال است","default":true}},"type":"object","required":["name","storage_type"],"title":"StorageConfigUpdateRequest"},"SuccessResponse_BulkDefaultWarehouseApplyResponse_":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"$ref":"#/components/schemas/BulkDefaultWarehouseApplyResponse"},{"type":"null"}],"description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[BulkDefaultWarehouseApplyResponse]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_BulkDefaultWarehousePreviewResponse_":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"$ref":"#/components/schemas/BulkDefaultWarehousePreviewResponse"},{"type":"null"}],"description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[BulkDefaultWarehousePreviewResponse]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_BulkPriceUpdatePreviewResponse_":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"$ref":"#/components/schemas/BulkPriceUpdatePreviewResponse"},{"type":"null"}],"description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[BulkPriceUpdatePreviewResponse]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_Dict_str__Any__":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data","description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[Dict[str, Any]]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_Dict_str__bool__":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Data","description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[Dict[str, bool]]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_ProductListResponse_":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"$ref":"#/components/schemas/ProductListResponse"},{"type":"null"}],"description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[ProductListResponse]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SuccessResponse_ProductResponse_":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{"$ref":"#/components/schemas/ProductResponse"},{"type":"null"}],"description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse[ProductResponse]","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"SystemConfigurationPayload":{"properties":{"app_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Name"},"app_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App Version"},"default_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Language"},"default_theme":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Theme"},"default_timezone":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Default Timezone","description":"نام منطقهٔ زمانی IANA برای نمایش تاریخ/زمان در کل سیستم (مثال Asia/Tehran)"},"enable_registration":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Registration"},"enable_email_verification":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Email Verification"},"enable_maintenance_mode":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enable Maintenance Mode"},"support_tickets_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Support Tickets Enabled","description":"اگر False باشد ثبت/view تیکت برای کاربران عادی قطع می‌شود؛ اپراتور همچنان دسترسی دارد"},"support_tickets_disabled_message":{"anyOf":[{"type":"string","maxLength":8192},{"type":"null"}],"title":"Support Tickets Disabled Message","description":"متن دلخواه مدیر؛ در صورت خالی نمایش پیش‌فرض در خطا و عمومی برای کاربر"},"session_timeout":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Session Timeout"},"max_file_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max File Size"},"max_users":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Users"},"business_creation_verification_requirement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Creation Verification Requirement","description":"کنترل دسترسی ایجاد کسب و کار: none, email_only, mobile_only, both, either"},"sms_destination_rate_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sms Destination Rate Enabled"},"sms_destination_rate_max_sends":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sms Destination Rate Max Sends"},"sms_destination_rate_window_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sms Destination Rate Window Minutes"},"captcha_max_attempts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Captcha Max Attempts"},"captcha_length":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Captcha Length"},"captcha_ttl_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Captcha Ttl Seconds"},"captcha_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Captcha Mode"},"captcha_bind_ip":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Captcha Bind Ip"},"captcha_strong_image":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Captcha Strong Image"},"captcha_rate_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Captcha Rate Max"},"captcha_rate_window_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Captcha Rate Window Sec"},"login_rate_max_short":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Rate Max Short"},"login_rate_window_short_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Rate Window Short Sec"},"login_rate_max_long":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Rate Max Long"},"login_rate_window_long_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Rate Window Long Sec"},"register_rate_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Register Rate Max"},"register_rate_window_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Register Rate Window Sec"},"forgot_password_rate_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forgot Password Rate Max"},"forgot_password_rate_window_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Forgot Password Rate Window Sec"},"reset_password_rate_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reset Password Rate Max"},"reset_password_rate_window_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reset Password Rate Window Sec"},"password_reset_otp_rate_max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Password Reset Otp Rate Max"},"password_reset_otp_rate_window_sec":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Password Reset Otp Rate Window Sec"},"login_backoff_max_fails":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Backoff Max Fails"},"login_backoff_window_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Backoff Window Minutes"},"login_backoff_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Login Backoff Seconds"},"firewall_auto_ban_on_login_fail":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Firewall Auto Ban On Login Fail"},"firewall_auto_ban_duration_sec":{"anyOf":[{"type":"integer","maximum":86400.0,"minimum":60.0},{"type":"null"}],"title":"Firewall Auto Ban Duration Sec"}},"type":"object","title":"SystemConfigurationPayload"},"TaxSettingsSaveRequest":{"properties":{"tax_memory_id":{"type":"string","maxLength":128,"minLength":3,"title":"Tax Memory Id","description":"شناسه حافظه مالیاتی"},"economic_code":{"type":"string","maxLength":64,"minLength":3,"title":"Economic Code","description":"کد اقتصادی کسب‌وکار"},"private_key":{"type":"string","title":"Private Key","description":"کلید خصوصی (PEM)"},"public_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Public Key","description":"کلید عمومی (اختیاری)"},"certificate":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Certificate","description":"گواهی دیجیتال (اختیاری)"},"certificate_request":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Certificate Request","description":"درخواست CSR ذخیره شده"},"sandbox_mode":{"type":"boolean","title":"Sandbox Mode","description":"فعال بودن حالت Sandbox","default":false}},"type":"object","required":["tax_memory_id","economic_code","private_key"],"title":"TaxSettingsSaveRequest"},"TemplateCreate":{"properties":{"code":{"type":"string","maxLength":100,"title":"Code","description":"کد یکتا قالب"},"name":{"type":"string","maxLength":200,"title":"Name","description":"نام قالب"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"event_type":{"type":"string","title":"Event Type","description":"نوع رویداد (مثلاً invoice.created)"},"channel":{"type":"string","title":"Channel","description":"کانال: sms یا email"},"recipient_type":{"type":"string","title":"Recipient Type","description":"نوع گیرنده","default":"customer"},"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Subject","description":"موضوع (برای email)"},"body":{"type":"string","title":"Body","description":"محتوای قالب"},"daily_limit":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Daily Limit","description":"حداکثر ارسال روزانه","default":100},"is_automated":{"type":"boolean","title":"Is Automated","description":"ارسال خودکار","default":false}},"type":"object","required":["code","name","event_type","channel","body"],"title":"TemplateCreate","description":"ایجاد قالب جدید"},"TemplatePayload":{"properties":{"event_key":{"type":"string","maxLength":100,"title":"Event Key"},"channel":{"type":"string","maxLength":32,"title":"Channel"},"locale":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Locale"},"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Subject"},"body":{"type":"string","title":"Body"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["event_key","channel","body"],"title":"TemplatePayload"},"TemplateUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"subject":{"anyOf":[{"type":"string","maxLength":200},{"type":"null"}],"title":"Subject"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"daily_limit":{"anyOf":[{"type":"integer","maximum":10000.0,"minimum":1.0},{"type":"null"}],"title":"Daily Limit"},"is_automated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Automated"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"TemplateUpdate","description":"به‌روزرسانی قالب"},"ToggleServicePayload":{"properties":{"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["is_active"],"title":"ToggleServicePayload"},"TransferCreateRequest":{"properties":{"source_type":{"type":"string","title":"Source Type","description":"نوع مبدا: bank_account (حساب بانکی), cash_register (صندوق), petty_cash (تنخواه)","example":"bank_account"},"source_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Source Id","description":"شناسه مبدا (بسته به source_type)","example":1},"destination_type":{"type":"string","title":"Destination Type","description":"نوع مقصد: bank_account (حساب بانکی), cash_register (صندوق), petty_cash (تنخواه)","example":"cash_register"},"destination_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Destination Id","description":"شناسه مقصد (بسته به destination_type)","example":2},"total_amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Total Amount","description":"مبلغ کل انتقال (باید بزرگتر از صفر باشد)","example":1000000},"commission":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission","description":"کارمزد انتقال (اختیاری)","example":5000},"document_date":{"type":"string","title":"Document Date","description":"تاریخ سند (فرمت ISO: YYYY-MM-DD یا جلالی: YYYY/MM/DD)","example":"2024-01-15"},"currency_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Currency Id","description":"شناسه ارز","example":1},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"توضیحات سند (حداکثر 1000 کاراکتر)","example":"انتقال وجه بابت خرید مواد اولیه"},"fiscal_year_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Fiscal Year Id","description":"شناسه سال مالی (اگر ارسال نشود، سال مالی فعال استفاده می‌شود)","example":1}},"type":"object","required":["source_type","source_id","destination_type","destination_id","total_amount","document_date","currency_id"],"title":"TransferCreateRequest","description":"درخواست ایجاد سند انتقال","example":{"commission":5000,"currency_id":1,"description":"انتقال وجه بابت خرید مواد اولیه","destination_id":2,"destination_type":"cash_register","document_date":"2024-01-15","source_id":1,"source_type":"bank_account","total_amount":1000000}},"TransferUpdateRequest":{"properties":{"source_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Type","description":"نوع مبدا"},"source_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Source Id","description":"شناسه مبدا"},"destination_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Destination Type","description":"نوع مقصد"},"destination_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Destination Id","description":"شناسه مقصد"},"total_amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Total Amount","description":"مبلغ کل"},"commission":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission","description":"کارمزد"},"document_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Date","description":"تاریخ سند"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"توضیحات"}},"type":"object","title":"TransferUpdateRequest","description":"درخواست ویرایش سند انتقال"},"UpdateApiKeyRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name","description":"نام کلید API"},"scopes":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Scopes","description":"محدوده دسترسی (JSON string)"},"expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expires At","description":"تاریخ انقضا (ISO format)"},"ip_whitelist":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Ip Whitelist","description":"لیست IP های مجاز (جدا شده با کاما)"}},"type":"object","title":"UpdateApiKeyRequest"},"UpdateAppPermissionsRequest":{"properties":{"permissions":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Permissions","description":"دسترسی‌های سطح اپلیکیشن (مثال: {'support_operator': true, 'system_settings': false})"}},"type":"object","required":["permissions"],"title":"UpdateAppPermissionsRequest","description":"درخواست به‌روزرسانی App Permissions","example":{"permissions":{"business_management":false,"support_operator":true,"system_settings":false,"user_management":false}}},"UpdateEmailRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"email":{"type":"string","format":"email","title":"Email","description":"ایمیل جدید"},"force_unverified":{"type":"boolean","title":"Force Unverified","description":"اجازه تغییر ایمیل ثبت شده اما تایید نشده","default":false}},"type":"object","required":["captcha_id","captcha_code","email"],"title":"UpdateEmailRequest"},"UpdateManualDocumentRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Code","description":"کد سند"},"document_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Document Date","description":"تاریخ سند"},"currency_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Currency Id","description":"شناسه ارز"},"is_proforma":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Proforma","description":"پیش‌فاکتور یا قطعی"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"توضیحات سند"},"lines":{"anyOf":[{"items":{"$ref":"#/components/schemas/DocumentLineUpdate"},"type":"array","minItems":2},{"type":"null"}],"title":"Lines","description":"سطرهای سند"},"extra_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Info","description":"اطلاعات اضافی"},"project_id":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Project Id","description":"شناسه پروژه"}},"type":"object","title":"UpdateManualDocumentRequest","description":"درخواست ویرایش سند حسابداری دستی"},"UpdateMobileRequest":{"properties":{"captcha_id":{"type":"string","minLength":8,"title":"Captcha Id"},"captcha_code":{"type":"string","maxLength":8,"minLength":3,"title":"Captcha Code"},"mobile":{"type":"string","maxLength":32,"minLength":10,"title":"Mobile","description":"شماره موبایل جدید"},"force_unverified":{"type":"boolean","title":"Force Unverified","description":"اجازه تغییر شماره ثبت شده اما تایید نشده","default":false},"send_verification_sms":{"type":"boolean","title":"Send Verification Sms","description":"پس از ذخیرهٔ شماره، کد تایید به همان موبایل (از همان کپچا) ارسال شود","default":true}},"type":"object","required":["captcha_id","captcha_code","mobile"],"title":"UpdateMobileRequest"},"UpdatePermissionsRequest":{"properties":{"permissions":{"additionalProperties":true,"type":"object","title":"Permissions"},"apply_membership_expiry":{"type":"boolean","title":"Apply Membership Expiry","description":"اگر True باشد، مقدار membership_expires_at اعمال می‌شود (null = نامحدود).","default":false},"membership_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Membership Expires At"}},"type":"object","required":["permissions"],"title":"UpdatePermissionsRequest","example":{"apply_membership_expiry":false,"permissions":{"reports":{"export":true,"read":true},"sales":{"delete":false,"read":true,"write":true},"settings":{"manage_users":true}}}},"UpdatePermissionsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"UpdatePermissionsResponse"},"UpdatePricePayload":{"properties":{"base_price":{"type":"number","title":"Base Price"},"currency_id":{"type":"integer","title":"Currency Id"}},"type":"object","required":["base_price","currency_id"],"title":"UpdatePricePayload"},"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"},"VoiceFeedbackRequest":{"properties":{"rating":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Rating","description":"امتیاز کیفیت صدا (1 تا 5)"},"feedback_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feedback Text","description":"نظر کاربر درباره کیفیت صدا"}},"type":"object","required":["rating"],"title":"VoiceFeedbackRequest"},"WarehouseCreateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Code","description":"کد انبار (اختیاری - در صورت عدم ارسال به صورت خودکار تولید می‌شود)"},"name":{"type":"string","maxLength":255,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"warehouse_keeper":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Warehouse Keeper"},"phone":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Phone"},"address":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Address"},"postal_code":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Postal Code"},"is_default":{"type":"boolean","title":"Is Default","default":false}},"type":"object","required":["name"],"title":"WarehouseCreateRequest"},"WarehouseLocationCreateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Code"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"location_kind":{"type":"string","maxLength":32,"title":"Location Kind","default":"zone"},"sort_order":{"type":"integer","title":"Sort Order","default":0},"is_active":{"type":"boolean","title":"Is Active","default":true},"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"},"auto_generate_code":{"type":"boolean","title":"Auto Generate Code","description":"تولید کد با سامانهٔ شماره‌گذاری warehouse_location","default":false}},"type":"object","required":["name"],"title":"WarehouseLocationCreateRequest"},"WarehouseLocationUpdateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"parent_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Parent Id"},"location_kind":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Location Kind"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"}},"type":"object","title":"WarehouseLocationUpdateRequest"},"WarehousePlacementCreateRequest":{"properties":{"product_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Product Id"},"warehouse_location_id":{"type":"integer","exclusiveMinimum":0.0,"title":"Warehouse Location Id"},"quantity":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Quantity","default":"0"},"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["product_id","warehouse_location_id"],"title":"WarehousePlacementCreateRequest"},"WarehousePlacementUpdateRequest":{"properties":{"quantity":{"anyOf":[{"type":"number"},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Quantity"},"notes":{"anyOf":[{"type":"string","maxLength":4000},{"type":"null"}],"title":"Notes"},"warehouse_location_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warehouse Location Id"}},"type":"object","title":"WarehousePlacementUpdateRequest"},"WarehouseUpdateRequest":{"properties":{"code":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Code"},"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Description"},"warehouse_keeper":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Warehouse Keeper"},"phone":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Phone"},"address":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Address"},"postal_code":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Postal Code"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"}},"type":"object","title":"WarehouseUpdateRequest"},"YearEndClosingRequest":{"properties":{"new_fiscal_year_title":{"type":"string","maxLength":255,"minLength":1,"title":"New Fiscal Year Title","description":"عنوان سال مالی جدید"},"auto_create_opening_balance":{"type":"boolean","title":"Auto Create Opening Balance","description":"ایجاد خودکار تراز افتتاحیه سال جدید","default":true},"tax_percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Tax Percentage","description":"درصد مالیات بر درآمد"},"tax_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Tax Amount","description":"مبلغ مالیات بر درآمد"},"profit_distribution_percentage":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Profit Distribution Percentage","description":"درصد سود تقسیم شده"},"profit_distribution_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Profit Distribution Amount","description":"مبلغ سود تقسیم شده"},"shareholder_profit_account_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Shareholder Profit Account Id","description":"شناسه حساب برای ثبت سود سهامداران"},"retained_earnings_from_previous_years":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Retained Earnings From Previous Years","description":"سود یا زیان انباشته سنواتی"},"auto_issue_person_balance_document":{"type":"boolean","title":"Auto Issue Person Balance Document","description":"صدور خودکار سند توازن اشخاص","default":false},"new_fiscal_year_start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"New Fiscal Year Start Date","description":"تاریخ شروع سال مالی جدید (در صورت عدم ارسال، به صورت خودکار محاسبه می‌شود)"},"new_fiscal_year_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"New Fiscal Year End Date","description":"تاریخ پایان سال مالی جدید (در صورت عدم ارسال، به صورت خودکار محاسبه می‌شود)"},"inventory_valuation_method":{"type":"string","title":"Inventory Valuation Method","description":"روش ارزیابی انبار: FIFO, LIFO, WeightedAverage","default":"FIFO"},"shareholder_distributions":{"anyOf":[{"items":{"$ref":"#/components/schemas/ShareholderDistributionItem"},"type":"array"},{"type":"null"}],"title":"Shareholder Distributions","description":"لیست توزیع سود بین سهامداران"},"closing_fiscal_end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closing Fiscal End Date","description":"تاریخ پایان دورهٔ بستن (شامل). در صورت ارسال و زودتر بودن از پایان تقویمی سال، دوره تقطیع می‌شود."},"document_relocation_basis":{"type":"string","title":"Document Relocation Basis","description":"معیار «بعد از پایان دوره» برای انتقال سند به سال جدید: document_date یا registered_at","default":"document_date"},"move_post_cutoff_documents_to_new_fiscal_year":{"type":"boolean","title":"Move Post Cutoff Documents To New Fiscal Year","description":"اگر true باشد، اسناد بعد از پایان دورهٔ بستن به سال مالی جدید منتقل می‌شوند","default":true}},"type":"object","required":["new_fiscal_year_title"],"title":"YearEndClosingRequest"},"ZohalSettingsPayload":{"properties":{"api_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Key"},"base_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Base Url"},"low_balance_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low Balance Threshold"}},"type":"object","title":"ZohalSettingsPayload"},"adapters__api__v1__schema_models__common__SuccessResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات - همیشه true در پاسخ‌های موفق","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی درباره عملیات انجام شده","example":"عملیات با موفقیت انجام شد"},"data":{"anyOf":[{},{"type":"null"}],"title":"Data","description":"داده‌های بازگشتی - نوع آن بسته به endpoint متفاوت است"}},"type":"object","title":"SuccessResponse","description":"پاسخ استاندارد موفق\n\nتمام endpoint های API این فرمت را برای پاسخ‌های موفق استفاده می‌کنند.","example":{"data":{"id":123,"name":"نمونه"},"message":"عملیات با موفقیت انجام شد","success":true}},"adapters__api__v1__schema_models__repair_shop__UpdateStatusRequest":{"properties":{"status":{"type":"string","title":"Status","description":"وضعیت جدید"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"یادداشت"},"send_notification":{"type":"boolean","title":"Send Notification","description":"ارسال پیامک/ایمیل","default":true}},"type":"object","required":["status"],"title":"UpdateStatusRequest","description":"تغییر وضعیت"},"adapters__api__v1__schemas__SuccessResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"وضعیت موفقیت عملیات","default":true},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"پیام توضیحی"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"items":{},"type":"array"},{"type":"null"}],"title":"Data","description":"داده‌های بازگشتی"}},"type":"object","title":"SuccessResponse"},"adapters__api__v1__support__schemas__UpdateStatusRequest":{"properties":{"status_id":{"type":"integer","title":"Status Id"},"assigned_operator_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Assigned Operator Id"}},"type":"object","required":["status_id"],"title":"UpdateStatusRequest"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"Authorization","description":"\n**فرمت اجباری (همان‌طور که سرور دریافت می‌کند):**\n\n```\nAuthorization: ApiKey <کلید>\n```\n\n- **Session:** پس از `POST /api/v1/auth/login` یا `POST /api/v1/auth/register` مقدار `data.api_key` را بردارید (پیشوند رایج: `ak_live_`).\n- **شخصی:** `POST /api/v1/auth/api-keys` (پیشوند رایج: `hsx_`).\n\n**Swagger Authorize:** مقدار ورودی = `ApiKey` + فاصله + کلید کامل. مثال: `ApiKey ak_live_...`\n\n**نمونه:** `curl -H \"Authorization: ApiKey ak_live_xxxx\" ...`\n                ","x-displayName":"Authorization: ApiKey"}}},"tags":[{"name":"احراز هویت","description":"\nعملیات مربوط به ثبت‌نام، ورود، خروج و مدیریت کلیدهای API\n\n### امکانات:\n- ثبت‌نام کاربر جدید با تایید ایمیل\n- ورود با ایمیل/موبایل و رمز عبور\n- مدیریت کلیدهای API شخصی و session\n- فراموشی و بازیابی رمز عبور\n- تغییر رمز عبور و اطلاعات کاربری\n- سیستم کپچا برای امنیت\n            ","externalDocs":{"description":"راهنمای کامل احراز هویت","url":"https://docs.hesabix.ir/authentication"}},{"name":"کاربران","description":"مدیریت کاربران، پروفایل‌ها و دسترسی‌ها","externalDocs":{"description":"مستندات مدیریت کاربران","url":"https://docs.hesabix.ir/users"}},{"name":"کسب‌وکارها","description":"\nمدیریت کسب‌وکارها، تنظیمات و داشبورد\n\n### قابلیت‌ها:\n- ایجاد و مدیریت چندین کسب‌وکار\n- تنظیمات شخصی‌سازی شده\n- داشبورد آماری و تحلیلی\n- مدیریت کاربران و نقش‌ها\n            ","externalDocs":{"description":"راهنمای کسب‌وکارها","url":"https://docs.hesabix.ir/businesses"}},{"name":"محصولات و کالاها","description":"\nمدیریت محصولات، خدمات، دسته‌بندی‌ها و ویژگی‌ها\n\n### امکانات:\n- ثبت کالا و خدمات\n- دسته‌بندی و ویژگی‌های محصول\n- لیست قیمت‌گذاری\n- موجودی و کنترل انبار\n- بارکد و QR Code\n            ","externalDocs":{"description":"مستندات محصولات","url":"https://docs.hesabix.ir/products"}},{"name":"انبارداری","description":"مدیریت انبارها، موجودی، حواله‌ها و کاردکس","externalDocs":{"description":"راهنمای انبارداری","url":"https://docs.hesabix.ir/warehouse"}},{"name":"اسناد فروش","description":"\nفاکتورهای فروش، پیش‌فاکتور و اسناد مرتبط\n\n### انواع اسناد:\n- فاکتور فروش\n- پیش‌فاکتور\n- برگشت از فروش\n- فروش سریع\n            ","externalDocs":{"description":"راهنمای فروش","url":"https://docs.hesabix.ir/sales"}},{"name":"اسناد خرید","description":"فاکتورهای خرید، سفارش خرید و اسناد مرتبط"},{"name":"اسناد انتقال","description":"\nاسناد انتقال وجه بین حساب‌های بانکی، صندوق و تنخواه\n\n### کاربردها:\n- انتقال بین حساب‌های بانکی\n- انتقال به/از صندوق\n- انتقال به/از تنخواه\n- ثبت کارمزد انتقال\n            ","externalDocs":{"description":"راهنمای اسناد انتقال","url":"https://docs.hesabix.ir/transfers"}},{"name":"دریافت و پرداخت","description":"\nاسناد دریافت و پرداخت نقدی، چک و سایر روش‌ها\n\n### روش‌های پرداخت:\n- نقدی\n- چک\n- کارت بانکی\n- انتقال آنلاین\n            "},{"name":"مدیریت مالی","description":"حساب‌های بانکی، صندوق، تنخواه، چک و سایر ابزارهای مالی"},{"name":"اشخاص و مشتریان","description":"مدیریت اشخاص، مشتریان، تامین‌کنندگان و طرف‌حساب‌ها","externalDocs":{"description":"راهنمای مدیریت اشخاص","url":"https://docs.hesabix.ir/persons"}},{"name":"حسابداری","description":"\nدفتر کل، اسناد حسابداری، حساب‌ها و طبقات\n\n### قابلیت‌ها:\n- دفتر کل\n- اسناد حسابداری\n- طرح حساب‌ها\n- تراز و میزان\n            ","externalDocs":{"description":"راهنمای حسابداری","url":"https://docs.hesabix.ir/accounting"}},{"name":"گزارش‌ها","description":"\nگزارش‌های مالی، انبارداری، فروش و تحلیلی\n\n### انواع گزارش:\n- گزارش‌های مالی\n- گزارش فروش و خرید\n- گزارش موجودی و کاردکس\n- گزارش‌های تحلیلی\n- خروجی Excel و PDF\n            ","externalDocs":{"description":"راهنمای گزارش‌ها","url":"https://docs.hesabix.ir/reports"}},{"name":"مالیات","description":"\nتنظیمات مالیاتی، نرخ‌ها، کدها و یکپارچه‌سازی با سامانه مودیان\n\n### امکانات:\n- تنظیمات مالیات بر ارزش افزوده\n- یکپارچه‌سازی با سامانه مودیان\n- کدهای مالیاتی محصولات\n- گزارش‌های مالیاتی\n            ","externalDocs":{"description":"راهنمای مالیات و مودیان","url":"https://docs.hesabix.ir/tax"}},{"name":"سال مالی","description":"مدیریت سال‌های مالی و دوره‌های حسابداری"},{"name":"کیف پول","description":"مدیریت کیف پول، شارژ، برداشت و تراکنش‌ها"},{"name":"اعتبار","description":"مدیریت اعتبار و بسته‌های خریداری شده"},{"name":"قالب‌های گزارش","description":"\nمدیریت قالب‌های سفارشی برای گزارش‌ها و چاپ\n\n### امکانات:\n- طراحی قالب سفارشی\n- قالب فاکتور\n- قالب گزارش‌ها\n- لوگو و مهر\n            "},{"name":"پشتیبانی","description":"سیستم تیکت‌ها، درخواست‌ها و ارتباط با پشتیبانی"},{"name":"اطلاع‌رسانی","description":"مدیریت نوتیفیکیشن‌ها، اعلان‌ها و پیام‌ها"},{"name":"پشتیبان‌گیری","description":"\nایجاد، بازیابی و مدیریت نسخه‌های پشتیبان\n\n### امکانات:\n- پشتیبان‌گیری اتوماتیک\n- پشتیبان‌گیری دستی\n- بازیابی داده‌ها\n- مدیریت فضای ذخیره‌سازی\n            "},{"name":"فایل و ذخیره‌سازی","description":"مدیریت فایل‌ها، آپلود، دانلود و فضای ذخیره‌سازی"},{"name":"یکپارچه‌سازی","description":"\nاتصال به سرویس‌های خارجی (تلگرام، زوهال، مارکت‌پلیس)\n\n### سرویس‌ها:\n- یکپارچه‌سازی با تلگرام\n- اتصال به سامانه زوهال\n- اتصال به مارکت‌پلیس‌ها\n            "},{"name":"مدیریت سیستم","description":"\nتنظیمات سیستم، مانیتورینگ، لاگ‌ها و مدیریت کلی (فقط ادمین)\n\n⚠️ این بخش فقط برای مدیران سیستم قابل دسترسی است\n            ","externalDocs":{"description":"راهنمای مدیریت سیستم","url":"https://docs.hesabix.ir/admin"}},{"name":"admin-system-services","description":"لاگ/وضعیت systemd؛ استقرار Docker و مجوزها: docs/SERVICE_LOGS_ADMIN_API.md"},{"name":"هوش مصنوعی","description":"\nچت با هوش مصنوعی، تحلیل داده‌ها و پیشنهادات هوشمند\n\n### امکانات:\n- چت با دستیار هوشمند\n- تحلیل داده‌های مالی\n- پیشنهادات بهینه‌سازی\n- گزارش‌های هوشمند\n            ","externalDocs":{"description":"راهنمای هوش مصنوعی","url":"https://docs.hesabix.ir/ai"}}],"security":[]}