{"openapi":"3.1.0","info":{"title":"GST Maker API","description":"Official Developer and Agent API specification for GST Maker (https://gstmaker.com) — Fast, Free & 100% Compliant Indian GST Invoicing, HSN/SAC Code Discovery, and Tax Calculations.","version":"1.0.0"},"paths":{"/manifest.json":{"get":{"tags":["Pages"],"summary":"Manifest","operationId":"manifest_manifest_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sw.js":{"get":{"tags":["Pages"],"summary":"Service Worker","operationId":"service_worker_sw_js_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/offline":{"get":{"tags":["Pages"],"summary":"Offline Page","operationId":"offline_page_offline_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/llms.txt":{"get":{"tags":["Pages"],"summary":"Llms Txt","operationId":"llms_txt__well_known_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"tags":["Pages"],"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms-full.txt":{"get":{"tags":["Pages"],"summary":"Llms Full Txt","operationId":"llms_full_txt_llms_full_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/developers":{"get":{"tags":["Pages"],"summary":"Developers Page","operationId":"developers_page_developers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/":{"get":{"tags":["Pages"],"summary":"Read Root","operationId":"read_root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/portal/{token}":{"get":{"tags":["Pages"],"summary":"Client Portal Page","operationId":"client_portal_page_portal__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"}}}}}}},"/portal/pdf/{token}/{invoice_id}":{"get":{"tags":["Pages"],"summary":"Client Portal Pdf Page","operationId":"client_portal_pdf_page_portal_pdf__token___invoice_id__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"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"}}}}}}},"/login":{"get":{"tags":["Pages"],"summary":"Login Page","operationId":"login_page_login_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/signup":{"get":{"tags":["Pages"],"summary":"Signup Page","operationId":"signup_page_signup_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/forgot-password":{"get":{"tags":["Pages"],"summary":"Forgot Password Page","operationId":"forgot_password_page_forgot_password_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/reset-password":{"get":{"tags":["Pages"],"summary":"Reset Password Page","operationId":"reset_password_page_reset_password_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin-login":{"get":{"tags":["Pages"],"summary":"Admin:Login","operationId":"admin_login_admin_login_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/profile-setup":{"get":{"tags":["Pages"],"summary":"Profile Setup Page","operationId":"profile_setup_page_profile_setup_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/dashboard":{"get":{"tags":["Pages"],"summary":"Dashboard Page","operationId":"dashboard_page_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/upgrade":{"get":{"tags":["Pages"],"summary":"Upgrade Page","operationId":"upgrade_page_upgrade_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/reports":{"get":{"tags":["Pages"],"summary":"Reports Page","operationId":"reports_page_reports_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/reports/gstr3b":{"get":{"tags":["Pages"],"summary":"Gstr3B Page","operationId":"gstr3b_page_reports_gstr3b_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/purchases":{"get":{"tags":["Pages"],"summary":"Purchases List Page","operationId":"purchases_list_page_purchases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/purchases/new":{"get":{"tags":["Pages"],"summary":"Purchase Create Page","operationId":"purchase_create_page_purchases_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/purchases/{identifier}/edit":{"get":{"tags":["Pages"],"summary":"Purchase Edit Page","operationId":"purchase_edit_page_purchases__identifier__edit_get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referral":{"get":{"tags":["Pages"],"summary":"Referral Dashboard Page","operationId":"referral_dashboard_page_referral_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/ads":{"get":{"tags":["Pages"],"summary":"Admin Ads Page","operationId":"admin_ads_page_admin_ads_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/admin/referral":{"get":{"tags":["Pages"],"summary":"Admin Referral Page","operationId":"admin_referral_page_admin_referral_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/contact":{"get":{"tags":["Pages"],"summary":"Contact Page","operationId":"contact_page_contact_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/faq":{"get":{"tags":["Pages"],"summary":"Faq Page","operationId":"faq_page_faq_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/privacy":{"get":{"tags":["Pages"],"summary":"Privacy Page","operationId":"privacy_page_privacy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/about":{"get":{"tags":["Pages"],"summary":"About Page","operationId":"about_page_about_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/our-work":{"get":{"tags":["Pages"],"summary":"Our Work Page","operationId":"our_work_page_our_work_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/business-toolkit":{"get":{"tags":["Pages"],"summary":"Business Toolkit Page","operationId":"business_toolkit_page_business_toolkit_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/changelog":{"get":{"tags":["Pages"],"summary":"Changelog Page","operationId":"changelog_page_changelog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/try":{"get":{"tags":["Pages"],"summary":"Try Invoice Page","description":"Guest invoice builder — no login required.","operationId":"try_invoice_page_try_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/free-gst-invoice-maker":{"get":{"tags":["Pages"],"summary":"Try Invoice Page","description":"Guest invoice builder — no login required.","operationId":"try_invoice_page_free_gst_invoice_maker_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/try/quotation":{"get":{"tags":["Pages"],"summary":"Free Quotation Maker","description":"SEO landing page for 'free quotation maker' keyword","operationId":"free_quotation_maker_try_quotation_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/free-quotation-maker":{"get":{"tags":["Pages"],"summary":"Free Quotation Maker","description":"SEO landing page for 'free quotation maker' keyword","operationId":"free_quotation_maker_free_quotation_maker_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/try/proforma":{"get":{"tags":["Pages"],"summary":"Free Proforma Maker","description":"SEO landing page for 'free proforma maker' keyword","operationId":"free_proforma_maker_try_proforma_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/free-proforma-maker":{"get":{"tags":["Pages"],"summary":"Free Proforma Maker","description":"SEO landing page for 'free proforma maker' keyword","operationId":"free_proforma_maker_free_proforma_maker_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools":{"get":{"tags":["Pages"],"summary":"Tools Hub Page","description":"Free tools landing page listing all available widgets.","operationId":"tools_hub_page_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/gst-calculator":{"get":{"tags":["Pages"],"summary":"Tools Calculator Page","description":"Free online GST Calculator.","operationId":"tools_calculator_page_tools_gst_calculator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/reverse-gst-calculator":{"get":{"tags":["Pages"],"summary":"Tools Reverse Calculator Page","description":"Free online Reverse GST Calculator (GST Inclusive).","operationId":"tools_reverse_calculator_page_tools_reverse_gst_calculator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/gstin-validator":{"get":{"tags":["Pages"],"summary":"Tools Gstin Page","description":"Free online GSTIN structure validator and decoder.","operationId":"tools_gstin_page_tools_gstin_validator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/hsn-sac-finder":{"get":{"tags":["Pages"],"summary":"Tools Hsn Page","description":"Free HSN/SAC code rate finder directory.","operationId":"tools_hsn_page_tools_hsn_sac_finder_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/gstr-late-fee-calculator":{"get":{"tags":["Pages"],"summary":"Tools Late Fee Page","description":"Free online GSTR Late Fee and Delayed Payment Interest Calculator.","operationId":"tools_late_fee_page_tools_gstr_late_fee_calculator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/ai-hsn-finder":{"get":{"tags":["Pages"],"summary":"Tools Ai Hsn Page","description":"Free online AI HSN/SAC Code & GST Rate Suggestor.","operationId":"tools_ai_hsn_page_tools_ai_hsn_finder_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/ai-advisor":{"get":{"tags":["Pages"],"summary":"Tools Ai Advisor Page","description":"Free online AI GST Legal & Filing Advisor (Tax GPT).","operationId":"tools_ai_advisor_page_tools_ai_advisor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/state-codes":{"get":{"tags":["Pages"],"summary":"Tools State Codes Page","description":"Free GST State Codes & Union Territories Directory.","operationId":"tools_state_codes_page_tools_state_codes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/ai-invoice-auditor":{"get":{"tags":["Pages"],"summary":"Tools Ai Invoice Auditor Page","description":"Free online AI GST Invoice Auditor & Compliance Checker (Rule 46).","operationId":"tools_ai_invoice_auditor_page_tools_ai_invoice_auditor_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/composition-calculator":{"get":{"tags":["Pages"],"summary":"Tools Composition Calculator Page","description":"Free online GST Composition Scheme Tax & Eligibility Calculator.","operationId":"tools_composition_calculator_page_tools_composition_calculator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/eway-bill-limits":{"get":{"tags":["Pages"],"summary":"Tools Eway Bill Limits Page","description":"Free online State-wise GST E-Way Bill Threshold Limit Finder.","operationId":"tools_eway_bill_limits_page_tools_eway_bill_limits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/tools/itc-calculator":{"get":{"tags":["Pages"],"summary":"Tools Itc Calculator Page","description":"Free online GST Input Tax Credit (ITC) Calculator & Offset Planner.","operationId":"tools_itc_calculator_page_tools_itc_calculator_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/features":{"get":{"tags":["Pages"],"summary":"Features Page","operationId":"features_page_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/security":{"get":{"tags":["Pages"],"summary":"Security Page","operationId":"security_page_security_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/terms":{"get":{"tags":["Pages"],"summary":"Terms Page","operationId":"terms_page_terms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/refund-policy":{"get":{"tags":["Pages"],"summary":"Refund Page","operationId":"refund_page_refund_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/shipping-policy":{"get":{"tags":["Pages"],"summary":"Shipping Page","operationId":"shipping_page_shipping_policy_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/invoices":{"get":{"tags":["Pages"],"summary":"Invoices List Page","operationId":"invoices_list_page_invoices_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/invoices/new":{"get":{"tags":["Pages"],"summary":"Create Invoice Page","operationId":"create_invoice_page_invoices_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/invoices/{identifier}/edit":{"get":{"tags":["Pages"],"summary":"Edit Invoice Page","operationId":"edit_invoice_page_invoices__identifier__edit_get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/recurring":{"get":{"tags":["Pages"],"summary":"Recurring List Page","operationId":"recurring_list_page_recurring_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/recurring/new":{"get":{"tags":["Pages"],"summary":"Create Recurring Page","operationId":"create_recurring_page_recurring_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/recurring/{recurring_id}/edit":{"get":{"tags":["Pages"],"summary":"Edit Recurring Page","operationId":"edit_recurring_page_recurring__recurring_id__edit_get","parameters":[{"name":"recurring_id","in":"path","required":true,"schema":{"type":"integer","title":"Recurring Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients":{"get":{"tags":["Pages"],"summary":"Clients Page","operationId":"clients_page_clients_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/clients/new":{"get":{"tags":["Pages"],"summary":"Create Client Page","operationId":"create_client_page_clients_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/clients/{client_id}/edit":{"get":{"tags":["Pages"],"summary":"Edit Client Page","operationId":"edit_client_page_clients__client_id__edit_get","parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa":{"get":{"tags":["Pages"],"summary":"Performa List Page","operationId":"performa_list_page_performa_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/performa/new":{"get":{"tags":["Pages"],"summary":"Create Performa Page","operationId":"create_performa_page_performa_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/performa/{identifier}/edit":{"get":{"tags":["Pages"],"summary":"Edit Performa Page","operationId":"edit_performa_page_performa__identifier__edit_get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/products":{"get":{"tags":["Pages"],"summary":"Products Page","operationId":"products_page_products_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/products/new":{"get":{"tags":["Pages"],"summary":"Create Product Page","operationId":"create_product_page_products_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/products/{product_id}/edit":{"get":{"tags":["Pages"],"summary":"Edit Product Page","operationId":"edit_product_page_products__product_id__edit_get","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/quotations":{"get":{"tags":["Pages"],"summary":"Quotations List Page","operationId":"quotations_list_page_quotations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/quotations/new":{"get":{"tags":["Pages"],"summary":"Create Quotation Page","operationId":"create_quotation_page_quotations_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/quotations/{identifier}/edit":{"get":{"tags":["Pages"],"summary":"Edit Quotation Page","operationId":"edit_quotation_page_quotations__identifier__edit_get","parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/expenses":{"get":{"tags":["Pages"],"summary":"Expenses Page","operationId":"expenses_page_expenses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/staff":{"get":{"tags":["Pages"],"summary":"Staff List Page","operationId":"staff_list_page_staff_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/staff/new":{"get":{"tags":["Pages"],"summary":"Create Staff Page","operationId":"create_staff_page_staff_new_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/staff/{employee_id}/edit":{"get":{"tags":["Pages"],"summary":"Edit Staff Page","operationId":"edit_staff_page_staff__employee_id__edit_get","parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/attendance":{"get":{"tags":["Staff & Payroll"],"summary":"Get Daily Attendance","operationId":"get_daily_attendance_staff_attendance_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"date_str","in":"query","required":true,"schema":{"type":"string","description":"Date in YYYY-MM-DD format","title":"Date Str"},"description":"Date in YYYY-MM-DD format"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttendanceOut"},"title":"Response Get Daily Attendance Staff Attendance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/advances":{"get":{"tags":["Staff & Payroll"],"summary":"List Advances","operationId":"list_advances_staff_advances_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Id"}},{"name":"settled","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Settled"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdvanceOut"},"title":"Response List Advances Staff Advances Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Staff & Payroll"],"summary":"Create Advance","operationId":"create_advance_staff_advances_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll":{"get":{"tags":["Pages"],"summary":"Staff Payroll Page","operationId":"staff_payroll_page_staff_payroll_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/staff/payroll/history":{"get":{"tags":["Staff & Payroll"],"summary":"List Payroll History","operationId":"list_payroll_history_staff_payroll_history_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}},{"name":"employee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Id"}},{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayrollOut"},"title":"Response List Payroll History Staff Payroll History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payslips":{"get":{"tags":["Pages"],"summary":"Staff Payslips History Page","operationId":"staff_payslips_history_page_staff_payslips_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/staff/payslips/{payroll_id}":{"get":{"tags":["Pages"],"summary":"Staff Payslip View Page","operationId":"staff_payslip_view_page_staff_payslips__payroll_id__get","parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/portal/{token}":{"get":{"tags":["Pages"],"summary":"Staff Portal Page","operationId":"staff_portal_page_staff_portal__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"}}}}}}},"/sitemap.xml":{"get":{"tags":["Sitemap"],"summary":"Dynamic Sitemap","operationId":"dynamic_sitemap_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/mcp":{"get":{"tags":["MCP"],"summary":"Mcp Discovery","description":"Discovery endpoint for GST Maker Model Context Protocol (MCP) Server.","operationId":"mcp_discovery_mcp_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"tags":["MCP"],"summary":"Mcp Jsonrpc Handler","description":"JSON-RPC 2.0 endpoint for MCP tools execution.","operationId":"mcp_jsonrpc_handler_mcp_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ai/chat":{"post":{"tags":["AI Assistant"],"summary":"Chat With Ai","operationId":"chat_with_ai_ai_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/pulse":{"get":{"tags":["AI Assistant"],"summary":"Get Business Pulse","operationId":"get_business_pulse_ai_pulse_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/ai/parse-billing":{"post":{"tags":["AI Assistant"],"summary":"Parse Billing Data","operationId":"parse_billing_data_ai_parse_billing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingParseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/categorize-expense":{"post":{"tags":["AI Assistant"],"summary":"Categorize Expense","description":"AI-powered expense categorization & GST Input Tax Credit (ITC) eligibility.","operationId":"categorize_expense_ai_categorize_expense_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpenseCategorizeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/expense-insights":{"post":{"tags":["AI Assistant"],"summary":"Get Expense Ai Insights","description":"AI powered spending analysis, cost optimization & GSTR-3B ITC claims audit.","operationId":"get_expense_ai_insights_ai_expense_insights_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/ai/generate-reminder":{"post":{"tags":["AI Assistant"],"summary":"Generate Payment Reminder","description":"AI-generated professional payment reminder email draft for client follow-ups.","operationId":"generate_payment_reminder_ai_generate_reminder_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/audit-invoice":{"post":{"tags":["AI Assistant"],"summary":"Audit Invoice","description":"AI-powered invoice anomaly detector.","operationId":"audit_invoice_ai_audit_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditInvoiceDirectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/ai/client-suggestions/{client_id}":{"get":{"tags":["AI Assistant"],"summary":"Get Client Suggestions","operationId":"get_client_suggestions_ai_client_suggestions__client_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/send-invoice-reminder/{invoice_id}":{"post":{"tags":["AI Assistant"],"summary":"Send Invoice Reminder","operationId":"send_invoice_reminder_ai_send_invoice_reminder__invoice_id__post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"doc_type","in":"query","required":false,"schema":{"type":"string","default":"invoice","title":"Doc Type"}},{"name":"send_email_action","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Send Email Action"}},{"name":"force","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Force"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/parse-purchase-bill":{"post":{"tags":["AI Assistant"],"summary":"Parse Purchase Bill Prompt","description":"Parses natural language prompt or dictation for Purchase Bills / Vendor Supplies.","operationId":"parse_purchase_bill_prompt_ai_parse_purchase_bill_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBillParseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ai/ocr-purchase-bill":{"post":{"tags":["AI Assistant"],"summary":"Ocr Purchase Bill Document","description":"Uses Mistral Vision AI (pixtral-12b-2409) to perform OCR analysis on vendor bill/receipt image.","operationId":"ocr_purchase_bill_document_ai_ocr_purchase_bill_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBillOCRRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/guest/invoice/pdf":{"post":{"tags":["Guest Invoice"],"summary":"Generate Guest Invoice","description":"Generate and return a guest invoice PDF (no auth, no DB write).","operationId":"generate_guest_invoice_guest_invoice_pdf_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuestInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/guest/quotation/pdf":{"post":{"tags":["Guest Invoice"],"summary":"Generate Guest Quotation","description":"Generate and return a guest quotation PDF (no auth, no DB write).","operationId":"generate_guest_quotation_guest_quotation_pdf_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuestInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/guest/proforma/pdf":{"post":{"tags":["Guest Invoice"],"summary":"Generate Guest Proforma","description":"Generate and return a guest proforma invoice PDF (no auth, no DB write).","operationId":"generate_guest_proforma_guest_proforma_pdf_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuestInvoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/signup-complete":{"post":{"tags":["Authentication"],"summary":"Signup Complete","operationId":"signup_complete_auth_signup_complete_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_signup_complete_auth_signup_complete_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Signup Complete Auth Signup Complete Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/signup-request-otp":{"post":{"tags":["Authentication"],"summary":"Signup Request Otp","operationId":"signup_request_otp_auth_signup_request_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Signup Request Otp Auth Signup Request Otp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/verify":{"post":{"tags":["Authentication"],"summary":"Verify Email","operationId":"verify_email_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserVerify"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Verify Email Auth Verify Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/forgot-password":{"post":{"tags":["Authentication"],"summary":"Forgot Password","operationId":"forgot_password_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Forgot Password Auth Forgot Password Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/reset-password":{"post":{"tags":["Authentication"],"summary":"Reset Password","operationId":"reset_password_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PasswordResetConfirm"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Reset Password Auth Reset Password Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/login":{"post":{"tags":["Authentication"],"summary":"Login For Access Token","operationId":"login_for_access_token_auth_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_for_access_token_auth_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Refresh Access Token","description":"Exchange a valid refresh token for a new access token + refresh token pair.","operationId":"refresh_access_token_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/RefreshRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/me":{"get":{"tags":["Authentication"],"summary":"Read Users Me","operationId":"read_users_me_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/webauthn/register/challenge":{"post":{"tags":["Authentication"],"summary":"Webauthn Register Challenge","operationId":"webauthn_register_challenge_auth_webauthn_register_challenge_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/webauthn/register/verify":{"post":{"tags":["Authentication"],"summary":"Webauthn Register Verify","operationId":"webauthn_register_verify_auth_webauthn_register_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/webauthn/login/challenge":{"post":{"tags":["Authentication"],"summary":"Webauthn Login Challenge","operationId":"webauthn_login_challenge_auth_webauthn_login_challenge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/webauthn/login/verify":{"post":{"tags":["Authentication"],"summary":"Webauthn Login Verify","operationId":"webauthn_login_verify_auth_webauthn_login_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebAuthnVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/logout":{"post":{"tags":["Authentication"],"summary":"Logout","operationId":"logout_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/request-delete-otp":{"post":{"tags":["Authentication"],"summary":"Request Delete Otp","operationId":"request_delete_otp_auth_request_delete_otp_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/confirm-delete-account":{"post":{"tags":["Authentication"],"summary":"Confirm Delete Account","operationId":"confirm_delete_account_auth_confirm_delete_account_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConfirmDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/auth/audit-logs":{"get":{"tags":["Authentication"],"summary":"Get User Audit Logs","description":"Returns security audit log history for the logged-in user.","operationId":"get_user_audit_logs_auth_audit_logs_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"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"}}}}}}},"/business/check-gstin":{"get":{"tags":["Business Profile"],"summary":"Check Gstin Availability","operationId":"check_gstin_availability_business_check_gstin_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"gstin","in":"query","required":true,"schema":{"type":"string","title":"Gstin"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/business/":{"get":{"tags":["Business Profile"],"summary":"Get Business Profile","operationId":"get_business_profile_business__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Business"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["Business Profile"],"summary":"Create Or Update Business Profile","operationId":"create_or_update_business_profile_business__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BusinessCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Business"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/business/upload-logo":{"post":{"tags":["Business Profile"],"summary":"Upload Logo","operationId":"upload_logo_business_upload_logo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_logo_business_upload_logo_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/business/upload-signature":{"post":{"tags":["Business Profile"],"summary":"Upload Signature","description":"Upload or replace the digital signature for invoice PDFs.","operationId":"upload_signature_business_upload_signature_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_signature_business_upload_signature_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/business/delete-signature":{"delete":{"tags":["Business Profile"],"summary":"Delete Signature","description":"Remove the digital signature from the business profile.","operationId":"delete_signature_business_delete_signature_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/invoices/":{"post":{"tags":["Invoices"],"summary":"Create Invoice","operationId":"create_invoice_invoices__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Invoices"],"summary":"Get Invoices","operationId":"get_invoices_invoices__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"min_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Amount"}},{"name":"max_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Amount"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"invoice_num","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Num"}},{"name":"customer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"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":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/stats":{"get":{"tags":["Invoices"],"summary":"Get Invoice Stats","operationId":"get_invoice_stats_invoices_stats_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"}},{"name":"day","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day"}},{"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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/next-number":{"get":{"tags":["Invoices"],"summary":"Get Next Invoice Number","operationId":"get_next_invoice_number_invoices_next_number_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/invoices/export/csv":{"get":{"tags":["Invoices"],"summary":"Export Invoices Csv","description":"Exports filtered invoices and line items as a CA-ready CSV file.","operationId":"export_invoices_csv_invoices_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"}},{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"}},{"name":"min_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Amount"}},{"name":"max_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Amount"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"invoice_num","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Num"}},{"name":"customer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{identifier}":{"get":{"tags":["Invoices"],"summary":"Get Invoice","operationId":"get_invoice_invoices__identifier__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Invoices"],"summary":"Update Invoice","operationId":"update_invoice_invoices__identifier__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}/payment":{"patch":{"tags":["Invoices"],"summary":"Update Payment","operationId":"update_payment_invoices__invoice_id__payment_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoicePaymentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}":{"delete":{"tags":["Invoices"],"summary":"Delete Invoice","operationId":"delete_invoice_invoices__invoice_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"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"}}}}}}},"/invoices/{invoice_id}/pdf":{"get":{"tags":["Invoices"],"summary":"Generate Pdf","operationId":"generate_pdf_invoices__invoice_id__pdf_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"preview","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Preview"}},{"name":"share_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Token"}},{"name":"copy_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Copy Type"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/{invoice_id}/cancel":{"patch":{"tags":["Invoices"],"summary":"Cancel Invoice","description":"Cancels an invoice, marks status as 'Cancelled', records reason + timestamp,\nand restores product inventory stock.","operationId":"cancel_invoice_invoices__invoice_id__cancel_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CancelInvoiceRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/invoices/bulk-status":{"post":{"tags":["Invoices"],"summary":"Bulk Update Payment Status","description":"Bulk updates the payment status for multiple invoices owned by the user.","operationId":"bulk_update_payment_status_invoices_bulk_status_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkStatusRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/invoices/auto-reminders/run":{"post":{"tags":["Invoices"],"summary":"Run Auto Reminders","description":"Automated job endpoint: Scans for overdue unpaid invoices (> 7 days old)\nwhere no reminder has been sent in the last 7 days, generates AI reminder email,\nand sends it to clients with email address on file.","operationId":"run_auto_reminders_invoices_auto_reminders_run_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/clients/":{"post":{"tags":["Clients"],"summary":"Create Client","operationId":"create_client_clients__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Clients"],"summary":"Get Clients","operationId":"get_clients_clients__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedClientResponse"},{"type":"array","items":{"$ref":"#/components/schemas/Client"}}],"title":"Response Get Clients Clients  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients/{client_id}":{"get":{"tags":["Clients"],"summary":"Get Client","operationId":"get_client_clients__client_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Clients"],"summary":"Update Client","operationId":"update_client_clients__client_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Clients"],"summary":"Delete Client","operationId":"delete_client_clients__client_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients/{client_id}/portal-token":{"post":{"tags":["Clients"],"summary":"Regenerate Client Portal Token","operationId":"regenerate_client_portal_token_clients__client_id__portal_token_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients/{client_id}/portal-status":{"post":{"tags":["Clients"],"summary":"Toggle Client Portal Status","operationId":"toggle_client_portal_status_clients__client_id__portal_status_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"client_id","in":"path","required":true,"schema":{"type":"integer","title":"Client Id"}},{"name":"enabled","in":"query","required":true,"schema":{"type":"boolean","title":"Enabled"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Client"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients/portal/data/{token}":{"get":{"tags":["Clients"],"summary":"Get Client Portal Data","operationId":"get_client_portal_data_clients_portal_data__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientPortalSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/clients/portal/pdf/{token}/{invoice_id}":{"get":{"tags":["Clients"],"summary":"Download Portal Invoice Pdf","operationId":"download_portal_invoice_pdf_clients_portal_pdf__token___invoice_id__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"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"}}}}}}},"/performa-invoices/":{"post":{"tags":["Performa Invoices"],"summary":"Create Performa Invoice","operationId":"create_performa_invoice_performa_invoices__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Performa Invoices"],"summary":"Get Performa Invoices","operationId":"get_performa_invoices_performa_invoices__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"min_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Amount"}},{"name":"max_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Amount"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"invoice_num","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Num"}},{"name":"customer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"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":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaPagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa-invoices/{identifier}":{"put":{"tags":["Performa Invoices"],"summary":"Update Performa Invoice","operationId":"update_performa_invoice_performa_invoices__identifier__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Performa Invoices"],"summary":"Get Performa Invoice","operationId":"get_performa_invoice_performa_invoices__identifier__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa-invoices/next-number":{"get":{"tags":["Performa Invoices"],"summary":"Get Next Invoice Number","operationId":"get_next_invoice_number_performa_invoices_next_number_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/performa-invoices/{invoice_id}":{"delete":{"tags":["Performa Invoices"],"summary":"Delete Performa Invoice","operationId":"delete_performa_invoice_performa_invoices__invoice_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa-invoices/{invoice_id}/payment":{"patch":{"tags":["Performa Invoices"],"summary":"Update Payment Status","operationId":"update_payment_status_performa_invoices__invoice_id__payment_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaPaymentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerformaInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa-invoices/{invoice_id}/pdf":{"get":{"tags":["Performa Invoices"],"summary":"Generate Performa Pdf","operationId":"generate_performa_pdf_performa_invoices__invoice_id__pdf_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"integer","title":"Invoice Id"}},{"name":"preview","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Preview"}},{"name":"share_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Token"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/performa-invoices/export/csv":{"get":{"tags":["Performa Invoices"],"summary":"Export Performa Invoices Csv","description":"Exports filtered proforma invoices and line items as a CSV file.","operationId":"export_performa_invoices_csv_performa_invoices_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"}},{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/products/":{"post":{"tags":["Products"],"summary":"Create Product","operationId":"create_product_products__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Products"],"summary":"Get Products","operationId":"get_products_products__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedProductResponse"},{"type":"array","items":{"$ref":"#/components/schemas/Product"}}],"title":"Response Get Products Products  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/products/{product_id}":{"get":{"tags":["Products"],"summary":"Get Product","operationId":"get_product_products__product_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Products"],"summary":"Update Product","operationId":"update_product_products__product_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Product"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Products"],"summary":"Delete Product","operationId":"delete_product_products__product_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/quotations/":{"post":{"tags":["Quotations"],"summary":"Create Quotation","operationId":"create_quotation_quotations__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quotation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Quotations"],"summary":"Get Quotations","operationId":"get_quotations_quotations__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"min_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Amount"}},{"name":"max_amount","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Amount"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"invoice_num","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Num"}},{"name":"customer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},{"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":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationPagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/quotations/next-number":{"get":{"tags":["Quotations"],"summary":"Get Next Quotation Number","operationId":"get_next_quotation_number_quotations_next_number_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/quotations/export/csv":{"get":{"tags":["Quotations"],"summary":"Export Quotations Csv","description":"Exports filtered quotations as a CSV file.","operationId":"export_quotations_csv_quotations_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Month"}},{"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"}}}}}}},"/quotations/upload-image":{"post":{"tags":["Quotations"],"summary":"Upload Quotation Image","operationId":"upload_quotation_image_quotations_upload_image_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_quotation_image_quotations_upload_image_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/quotations/{identifier}":{"get":{"tags":["Quotations"],"summary":"Get Quotation","operationId":"get_quotation_quotations__identifier__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quotation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Quotations"],"summary":"Update Quotation","operationId":"update_quotation_quotations__identifier__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","title":"Identifier"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuotationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quotation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/quotations/{quotation_id}":{"delete":{"tags":["Quotations"],"summary":"Delete Quotation","operationId":"delete_quotation_quotations__quotation_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"quotation_id","in":"path","required":true,"schema":{"type":"integer","title":"Quotation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/quotations/{quotation_id}/pdf":{"get":{"tags":["Quotations"],"summary":"Generate Quotation Pdf","operationId":"generate_quotation_pdf_quotations__quotation_id__pdf_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"quotation_id","in":"path","required":true,"schema":{"type":"integer","title":"Quotation Id"}},{"name":"preview","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"title":"Preview"}},{"name":"share_token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Share Token"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/gstr1/{year}/{month}":{"get":{"tags":["Tax Reports"],"summary":"Download Gstr1 Report","description":"Generates a Professional GSTR-1 Excel report compliant with CA standards.\nCategorizes invoices into B2B, B2CL, B2CS, HSN Summary, and Docs Issue.","operationId":"download_gstr1_report_reports_gstr1__year___month__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"path","required":true,"schema":{"type":"integer","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/gstr3b/{year}/{month}":{"get":{"tags":["Tax Reports"],"summary":"Get Gstr3B Summary","operationId":"get_gstr3b_summary_reports_gstr3b__year___month__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"path","required":true,"schema":{"type":"integer","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/gstr3b/{year}/{month}/excel":{"get":{"tags":["Tax Reports"],"summary":"Download Gstr3B Report","operationId":"download_gstr3b_report_reports_gstr3b__year___month__excel_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"year","in":"path","required":true,"schema":{"type":"integer","title":"Year"}},{"name":"month","in":"path","required":true,"schema":{"type":"integer","title":"Month"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/reports/aging":{"get":{"tags":["Tax Reports"],"summary":"Get Accounts Receivable Aging","description":"Computes Accounts Receivable Aging Breakdown (0-30, 31-60, 61-90, 90+ days overdue).\nExcludes cancelled invoices and fully paid invoices.","operationId":"get_accounts_receivable_aging_reports_aging_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/support":{"get":{"tags":["Support"],"summary":"Get Support Page","operationId":"get_support_page_support_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/support/me":{"get":{"tags":["Support"],"summary":"Get Support User Info","operationId":"get_support_user_info_support_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/support/newsletter/subscribe":{"post":{"tags":["Support"],"summary":"Subscribe Newsletter","operationId":"subscribe_newsletter_support_newsletter_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsletterSubscriberCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/support/ticket":{"post":{"tags":["Support"],"summary":"Create Ticket","operationId":"create_ticket_support_ticket_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicketCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportTicket"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/support/tickets":{"get":{"tags":["Support"],"summary":"Get Tickets","operationId":"get_tickets_support_tickets_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SupportTicket"},"type":"array","title":"Response Get Tickets Support Tickets Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/support/tickets/{ticket_id}/messages":{"get":{"tags":["Support"],"summary":"Get Ticket Messages","operationId":"get_ticket_messages_support_tickets__ticket_id__messages_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"integer","title":"Ticket Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SupportMessage"},"title":"Response Get Ticket Messages Support Tickets  Ticket Id  Messages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/support/ticket/{ticket_id}/close":{"patch":{"tags":["Support"],"summary":"Close Ticket","operationId":"close_ticket_support_ticket__ticket_id__close_patch","security":[{"OAuth2PasswordBearer":[]}],"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/SupportTicket"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/":{"get":{"tags":["Notifications"],"summary":"Get Notifications","operationId":"get_notifications_notifications__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Notification"},"type":"array","title":"Response Get Notifications Notifications  Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/notifications/{notification_id}/read":{"post":{"tags":["Notifications"],"summary":"Mark Notification Read","operationId":"mark_notification_read_notifications__notification_id__read_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"integer","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/invoice/{token}/pdf":{"get":{"tags":["Public View"],"summary":"Public Invoice Pdf","operationId":"public_invoice_pdf_public_invoice__token__pdf_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}},{"name":"copy_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Copy Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/performa/{token}/pdf":{"get":{"tags":["Public View"],"summary":"Public Performa Pdf","operationId":"public_performa_pdf_public_performa__token__pdf_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/quotation/{token}/pdf":{"get":{"tags":["Public View"],"summary":"Public Quotation Pdf","operationId":"public_quotation_pdf_public_quotation__token__pdf_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"theme","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Theme"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/public/subscribe":{"post":{"tags":["Public View"],"summary":"Subscribe Newsletter","operationId":"subscribe_newsletter_public_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/subscription/settings":{"get":{"tags":["Subscription"],"summary":"Public Settings","description":"Returns plan configuration for the pricing section on index.html.\nNo authentication required.","operationId":"public_settings_subscription_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/subscription/status":{"get":{"tags":["Subscription"],"summary":"Subscription Status","operationId":"subscription_status_subscription_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscription/create-order":{"post":{"tags":["Subscription"],"summary":"Create Order","operationId":"create_order_subscription_create_order_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscription/verify":{"post":{"tags":["Subscription"],"summary":"Verify Payment","operationId":"verify_payment_subscription_verify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscription/webhook":{"post":{"tags":["Subscription"],"summary":"Razorpay Webhook","operationId":"razorpay_webhook_subscription_webhook_post","parameters":[{"name":"x-razorpay-signature","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Razorpay-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/":{"get":{"tags":["Blogs"],"summary":"List Blogs","operationId":"list_blogs_blogs__get","parameters":[{"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":30,"title":"Limit"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/ai-search":{"post":{"tags":["Blogs"],"summary":"Ai Blog Search","description":"AI-powered blog article finder & GST compliance Q&A.","operationId":"ai_blog_search_blogs_ai_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/newsletter-settings":{"get":{"tags":["Blogs"],"summary":"Get Newsletter Settings","description":"Admin only: Get the global newsletter sending flag status","operationId":"get_newsletter_settings_blogs_newsletter_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"patch":{"tags":["Blogs"],"summary":"Update Newsletter Settings","description":"Admin only: Toggle the global newsletter sending flag","operationId":"update_newsletter_settings_blogs_newsletter_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewsletterToggle"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/{slug}/ai-chat":{"post":{"tags":["Blogs"],"summary":"Blog Ai Chat","description":"AI Assistant for the open blog post.","operationId":"blog_ai_chat_blogs__slug__ai_chat_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogAIChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/{slug}":{"get":{"tags":["Blogs"],"summary":"Blog Detail","operationId":"blog_detail_blogs__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs/{blog_id}/publish":{"post":{"tags":["Blogs"],"summary":"Publish Blog","description":"Admin only: Publish a blog and optionally trigger the newsletter broadcast","operationId":"publish_blog_blogs__blog_id__publish_post","parameters":[{"name":"blog_id","in":"path","required":true,"schema":{"type":"integer","title":"Blog Id"}},{"name":"send_email","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Send Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/popups/active":{"get":{"tags":["Popups"],"summary":"Get Active Popup","description":"Get the currently active popup for display on landing page","operationId":"get_active_popup_popups_active_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupResponse"}}}}}}},"/popups/":{"get":{"tags":["Popups"],"summary":"Get All Popups","description":"Get all popups (admin only)","operationId":"get_all_popups_popups__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PopupResponse"},"type":"array","title":"Response Get All Popups Popups  Get"}}}}}},"post":{"tags":["Popups"],"summary":"Create Popup","description":"Create a new popup (admin only)","operationId":"create_popup_popups__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/popups/{popup_id}":{"get":{"tags":["Popups"],"summary":"Get Popup","description":"Get popup by ID (admin only)","operationId":"get_popup_popups__popup_id__get","parameters":[{"name":"popup_id","in":"path","required":true,"schema":{"type":"integer","title":"Popup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Popups"],"summary":"Update Popup","description":"Update popup (admin only)","operationId":"update_popup_popups__popup_id__patch","parameters":[{"name":"popup_id","in":"path","required":true,"schema":{"type":"integer","title":"Popup Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PopupResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Popups"],"summary":"Delete Popup","description":"Delete popup (admin only)","operationId":"delete_popup_popups__popup_id__delete","parameters":[{"name":"popup_id","in":"path","required":true,"schema":{"type":"integer","title":"Popup Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/expenses/scan":{"post":{"tags":["Expenses"],"summary":"Scan Receipt","operationId":"scan_receipt_expenses_scan_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_scan_receipt_expenses_scan_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/expenses/":{"post":{"tags":["Expenses"],"summary":"Create Expense","operationId":"create_expense_expenses__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpenseCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Expense"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Expenses"],"summary":"Get Expenses","operationId":"get_expenses_expenses__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"merchant","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"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":20,"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/expenses/analytics":{"get":{"tags":["Expenses"],"summary":"Get Expense Analytics","description":"Returns expense analytics breakdown by category using SQL GROUP BY aggregation.","operationId":"get_expense_analytics_expenses_analytics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/expenses/{expense_id}":{"get":{"tags":["Expenses"],"summary":"Get Expense","operationId":"get_expense_expenses__expense_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"integer","title":"Expense Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Expense"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Expenses"],"summary":"Update Expense","operationId":"update_expense_expenses__expense_id__patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"integer","title":"Expense Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpenseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Expense"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Expenses"],"summary":"Delete Expense","operationId":"delete_expense_expenses__expense_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"integer","title":"Expense Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/expenses/bulk-delete":{"post":{"tags":["Expenses"],"summary":"Bulk Delete Expenses","operationId":"bulk_delete_expenses_expenses_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/expenses/export/csv":{"get":{"tags":["Expenses"],"summary":"Export Expenses Csv","description":"Exports expenses to a GSTR-3B audit-ready CSV file.","operationId":"export_expenses_csv_expenses_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ads/public":{"get":{"tags":["Custom Ads"],"summary":"Get Active Ads Public","description":"Fetch all active custom advertisements for public display.","operationId":"get_active_ads_public_ads_public_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomAdPublic"},"type":"array","title":"Response Get Active Ads Public Ads Public Get"}}}}}}},"/ads/":{"get":{"tags":["Custom Ads"],"summary":"Get All Ads Admin","description":"Fetch all custom advertisements (active and inactive, admin only).","operationId":"get_all_ads_admin_ads__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/CustomAd"},"type":"array","title":"Response Get All Ads Admin Ads  Get"}}}}}},"post":{"tags":["Custom Ads"],"summary":"Create Ad","description":"Create a new custom advertisement campaign.","operationId":"create_ad_ads__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAdCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAd"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ads/upload":{"post":{"tags":["Custom Ads"],"summary":"Upload Ad Image","description":"Upload an advertisement banner to Supabase Storage.","operationId":"upload_ad_image_ads_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_ad_image_ads_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ads/{ad_id}":{"put":{"tags":["Custom Ads"],"summary":"Update Ad","description":"Update details of an existing advertisement.","operationId":"update_ad_ads__ad_id__put","parameters":[{"name":"ad_id","in":"path","required":true,"schema":{"type":"integer","title":"Ad Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAdUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAd"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Custom Ads"],"summary":"Delete Ad","description":"Delete a custom advertisement.","operationId":"delete_ad_ads__ad_id__delete","parameters":[{"name":"ad_id","in":"path","required":true,"schema":{"type":"integer","title":"Ad Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/ads/{ad_id}/toggle":{"patch":{"tags":["Custom Ads"],"summary":"Toggle Ad Status","description":"Toggle the active/inactive state of an ad.","operationId":"toggle_ad_status_ads__ad_id__toggle_patch","parameters":[{"name":"ad_id","in":"path","required":true,"schema":{"type":"integer","title":"Ad Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomAd"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/feedback/":{"post":{"tags":["Feedback"],"summary":"Submit Feedback","operationId":"submit_feedback_feedback__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Submit Feedback Feedback  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/admin/auth/request-otp":{"post":{"tags":["Admin Authentication"],"summary":"Admin Request Otp","operationId":"admin_request_otp_admin_auth_request_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOTPRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Admin Request Otp Admin Auth Request Otp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/auth/verify-otp":{"post":{"tags":["Admin Authentication"],"summary":"Admin Verify Otp","operationId":"admin_verify_otp_admin_auth_verify_otp_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminOTPVerify"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Admin Verify Otp Admin Auth Verify Otp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/analytics/":{"get":{"summary":"Admin Analytics Dashboard","description":"Get analytics data for admin dashboard","operationId":"admin_analytics_dashboard_admin_analytics__get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"business_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Type"}},{"name":"group_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"month","title":"Group By"}},{"name":"subscription_tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Tier"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/analytics/ai-insight":{"post":{"summary":"Get Ai Analytics Insight","description":"Generate AI insights using Groq based on current analytics data.","operationId":"get_ai_analytics_insight_admin_analytics_ai_insight_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/admin/analytics/page":{"get":{"summary":"Admin Analytics Page","description":"Serve the analytics dashboard page — admin session required.","operationId":"admin_analytics_page_admin_analytics_page_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/recurring-invoices/":{"post":{"tags":["Recurring Invoices"],"summary":"Create Recurring Invoice","operationId":"create_recurring_invoice_recurring_invoices__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Recurring Invoices"],"summary":"Get Recurring Invoices","operationId":"get_recurring_invoices_recurring_invoices__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Size"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"frequency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Frequency"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoicePagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/recurring-invoices/stats":{"get":{"tags":["Recurring Invoices"],"summary":"Get Recurring Stats","description":"Returns summary metrics for recurring invoice schedules.","operationId":"get_recurring_stats_recurring_invoices_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/recurring-invoices/export/csv":{"get":{"tags":["Recurring Invoices"],"summary":"Export Recurring Csv","description":"Exports all recurring invoice schedules to a CSV spreadsheet.","operationId":"export_recurring_csv_recurring_invoices_export_csv_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/recurring-invoices/{id}":{"get":{"tags":["Recurring Invoices"],"summary":"Get Recurring Invoice","operationId":"get_recurring_invoice_recurring_invoices__id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Recurring Invoices"],"summary":"Update Recurring Invoice","operationId":"update_recurring_invoice_recurring_invoices__id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Recurring Invoices"],"summary":"Delete Recurring Invoice","operationId":"delete_recurring_invoice_recurring_invoices__id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/recurring-invoices/{id}/status":{"patch":{"tags":["Recurring Invoices"],"summary":"Update Status","operationId":"update_status_recurring_invoices__id__status_patch","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoiceStatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecurringInvoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/recurring-invoices/{id}/generate":{"post":{"tags":["Recurring Invoices"],"summary":"Trigger Manual Generation","operationId":"trigger_manual_generation_recurring_invoices__id__generate_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Invoice"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/recurring-invoices/process-all":{"post":{"tags":["Recurring Invoices"],"summary":"Process All Recurring Invoices","description":"Trigger check of all recurring invoices for the logged-in user. Auto-generates standard invoices\nif next_generation_date is in the past and the template is active.","operationId":"process_all_recurring_invoices_recurring_invoices_process_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/conversion/quotation-to-proforma":{"post":{"tags":["Document Conversion"],"summary":"Convert Quotation To Proforma","operationId":"convert_quotation_to_proforma_conversion_quotation_to_proforma_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/conversion/proforma-to-invoice":{"post":{"tags":["Document Conversion"],"summary":"Convert Proforma To Invoice","operationId":"convert_proforma_to_invoice_conversion_proforma_to_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/conversion/quotation-to-invoice":{"post":{"tags":["Document Conversion"],"summary":"Convert Quotation To Invoice","operationId":"convert_quotation_to_invoice_conversion_quotation_to_invoice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConvertDocRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/tools-api/gstin-decode":{"get":{"tags":["Tools API"],"summary":"Gstin Decode","description":"Validates GSTIN structure and returns an HTML report card for HTMX.","operationId":"gstin_decode_tools_api_gstin_decode_get","parameters":[{"name":"gstin","in":"query","required":false,"schema":{"type":"string","default":"","title":"Gstin"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools-api/ai-hsn-suggest":{"post":{"tags":["Tools API"],"summary":"Ai Hsn Suggest","description":"Queries AI to classify a product/service description and suggest HSN/SAC codes.","operationId":"ai_hsn_suggest_tools_api_ai_hsn_suggest_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_ai_hsn_suggest_tools_api_ai_hsn_suggest_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools-api/ai-advisor-ask":{"post":{"tags":["Tools API"],"summary":"Ai Advisor Ask","description":"Queries AI to answer general GST questions and return a structured advisory card.","operationId":"ai_advisor_ask_tools_api_ai_advisor_ask_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_ai_advisor_ask_tools_api_ai_advisor_ask_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools-api/ai-invoice-audit":{"post":{"tags":["Tools API"],"summary":"Ai Invoice Audit","description":"Queries Groq AI to audit pased invoice text against CGST Act Rule 46 rules.","operationId":"ai_invoice_audit_tools_api_ai_invoice_audit_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_ai_invoice_audit_tools_api_ai_invoice_audit_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools-api/ai-search":{"post":{"tags":["Tools API"],"summary":"Ai Tools Search","description":"AI-powered free tools finder & natural language GST query resolver.","operationId":"ai_tools_search_tools_api_ai_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToolAISearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vendors/":{"post":{"tags":["Vendors"],"summary":"Create Vendor","operationId":"create_vendor_vendors__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Vendors"],"summary":"Get Vendors","operationId":"get_vendors_vendors__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedVendorResponse"},{"type":"array","items":{"$ref":"#/components/schemas/Vendor"}}],"title":"Response Get Vendors Vendors  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vendors/{vendor_id}":{"get":{"tags":["Vendors"],"summary":"Get Vendor","operationId":"get_vendor_vendors__vendor_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"integer","title":"Vendor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Vendors"],"summary":"Update Vendor","operationId":"update_vendor_vendors__vendor_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"integer","title":"Vendor Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Vendor"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Vendors"],"summary":"Delete Vendor","operationId":"delete_vendor_vendors__vendor_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"integer","title":"Vendor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/purchases/next-number":{"get":{"tags":["Purchase Register"],"summary":"Get Next Purchase Number","operationId":"get_next_purchase_number_purchases_next_number_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/purchases/stats":{"get":{"tags":["Purchase Register"],"summary":"Get Purchase Stats","operationId":"get_purchase_stats_purchases_stats_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"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":{"$ref":"#/components/schemas/PurchaseStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/purchases/":{"post":{"tags":["Purchase Register"],"summary":"Create Purchase Bill","operationId":"create_purchase_bill_purchases__post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBillCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBill"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Purchase Register"],"summary":"Get Purchase Bills","operationId":"get_purchase_bills_purchases__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"vendor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Id"}},{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"}},{"name":"itc_eligibility","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Itc Eligibility"}},{"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"}},{"name":"page","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page"}},{"name":"size","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PaginatedPurchaseBillResponse"},{"type":"array","items":{"$ref":"#/components/schemas/PurchaseBill"}}],"title":"Response Get Purchase Bills Purchases  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/purchases/export":{"get":{"tags":["Purchase Register"],"summary":"Export Purchase Register","operationId":"export_purchase_register_purchases_export_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"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":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/purchases/{bill_id}":{"get":{"tags":["Purchase Register"],"summary":"Get Purchase Bill","operationId":"get_purchase_bill_purchases__bill_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"bill_id","in":"path","required":true,"schema":{"type":"string","title":"Bill Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBill"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Purchase Register"],"summary":"Update Purchase Bill","operationId":"update_purchase_bill_purchases__bill_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"bill_id","in":"path","required":true,"schema":{"type":"string","title":"Bill Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBillUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseBill"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Purchase Register"],"summary":"Delete Purchase Bill","operationId":"delete_purchase_bill_purchases__bill_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"bill_id","in":"path","required":true,"schema":{"type":"string","title":"Bill Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search/global":{"get":{"tags":["Search"],"summary":"Global Search","description":"Global Search API across Invoices, Clients, Products, and Purchase Bills.\nStrictly isolated to current_user's business_profile.id.","operationId":"global_search_search_global_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/employees":{"get":{"tags":["Staff & Payroll"],"summary":"List Employees","operationId":"list_employees_staff_employees_get","security":[{"OAuth2PasswordBearer":[]}],"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":20,"title":"Size"}},{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active Only"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedEmployeeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Staff & Payroll"],"summary":"Create Employee","operationId":"create_employee_staff_employees_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/employees/{employee_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Employee","operationId":"get_employee_staff_employees__employee_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Staff & Payroll"],"summary":"Update Employee","operationId":"update_employee_staff_employees__employee_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Staff & Payroll"],"summary":"Delete Employee","operationId":"delete_employee_staff_employees__employee_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/employees/{employee_id}/regenerate-portal-token":{"post":{"tags":["Staff & Payroll"],"summary":"Regenerate Employee Portal Token","operationId":"regenerate_employee_portal_token_staff_employees__employee_id__regenerate_portal_token_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/employees/{employee_id}/portal-token":{"post":{"tags":["Staff & Payroll"],"summary":"Regenerate Employee Portal Token","operationId":"regenerate_employee_portal_token_staff_employees__employee_id__portal_token_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/employees/{employee_id}/portal-status":{"post":{"tags":["Staff & Payroll"],"summary":"Toggle Employee Portal Status","operationId":"toggle_employee_portal_status_staff_employees__employee_id__portal_status_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}},{"name":"enabled","in":"query","required":true,"schema":{"type":"boolean","description":"Set True to enable portal, False to disable/revoke","title":"Enabled"},"description":"Set True to enable portal, False to disable/revoke"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/attendance/bulk":{"post":{"tags":["Staff & Payroll"],"summary":"Log Bulk Attendance","operationId":"log_bulk_attendance_staff_attendance_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendanceBulkCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/staff/attendance/monthly-summary":{"get":{"tags":["Staff & Payroll"],"summary":"Get Monthly Attendance Summary","operationId":"get_monthly_attendance_summary_staff_attendance_monthly_summary_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Month"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2020,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MonthlyAttendanceSummary"},"title":"Response Get Monthly Attendance Summary Staff Attendance Monthly Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/advances/{advance_id}":{"delete":{"tags":["Staff & Payroll"],"summary":"Delete Advance","operationId":"delete_advance_staff_advances__advance_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"advance_id","in":"path","required":true,"schema":{"type":"integer","title":"Advance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/calculate":{"get":{"tags":["Staff & Payroll"],"summary":"Calculate Payroll","description":"Auto-computes earned wages, overtime pay, and advance deductions for all active staff\nbased on the month's attendance records and outstanding advances.","operationId":"calculate_payroll_staff_payroll_calculate_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Month"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2020,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayrollCalculationItem"},"title":"Response Calculate Payroll Staff Payroll Calculate Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/generate":{"post":{"tags":["Staff & Payroll"],"summary":"Generate Payroll","operationId":"generate_payroll_staff_payroll_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayrollGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/staff/payroll/export-csv":{"get":{"tags":["Staff & Payroll"],"summary":"Export Payroll Csv","operationId":"export_payroll_csv_staff_payroll_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/export-bank-payout":{"get":{"tags":["Staff & Payroll"],"summary":"Export Bank Payout Csv","operationId":"export_bank_payout_csv_staff_payroll_export_bank_payout_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/{payroll_id}/mark-paid":{"post":{"tags":["Staff & Payroll"],"summary":"Mark Payroll Paid","operationId":"mark_payroll_paid_staff_payroll__payroll_id__mark_paid_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayrollMarkPaidRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/{payroll_id}/pdf":{"get":{"tags":["Staff & Payroll"],"summary":"Download Payslip Pdf","operationId":"download_payslip_pdf_staff_payroll__payroll_id__pdf_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/payroll/{payroll_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Payslip Details","operationId":"get_payslip_details_staff_payroll__payroll_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayslipOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/public-portal/{token}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Public Staff Portal Summary","description":"Public self-service endpoint for employees to view their own profile,\nattendance summary, advances, and download their monthly salary slips.","operationId":"get_public_staff_portal_summary_staff_public_portal__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaffPortalSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/staff/public-portal/pdf/{token}/{payroll_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Download Public Staff Payslip Pdf","description":"Public endpoint for employees to download their own payslip PDF using their secure token.","operationId":"download_public_staff_payslip_pdf_staff_public_portal_pdf__token___payroll_id__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/employees":{"get":{"tags":["Staff & Payroll"],"summary":"List Employees","operationId":"list_employees_api_staff_employees_get","security":[{"OAuth2PasswordBearer":[]}],"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":20,"title":"Size"}},{"name":"active_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Active Only"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedEmployeeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Staff & Payroll"],"summary":"Create Employee","operationId":"create_employee_api_staff_employees_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/employees/{employee_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Employee","operationId":"get_employee_api_staff_employees__employee_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Staff & Payroll"],"summary":"Update Employee","operationId":"update_employee_api_staff_employees__employee_id__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Staff & Payroll"],"summary":"Delete Employee","operationId":"delete_employee_api_staff_employees__employee_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/employees/{employee_id}/regenerate-portal-token":{"post":{"tags":["Staff & Payroll"],"summary":"Regenerate Employee Portal Token","operationId":"regenerate_employee_portal_token_api_staff_employees__employee_id__regenerate_portal_token_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/employees/{employee_id}/portal-token":{"post":{"tags":["Staff & Payroll"],"summary":"Regenerate Employee Portal Token","operationId":"regenerate_employee_portal_token_api_staff_employees__employee_id__portal_token_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/employees/{employee_id}/portal-status":{"post":{"tags":["Staff & Payroll"],"summary":"Toggle Employee Portal Status","operationId":"toggle_employee_portal_status_api_staff_employees__employee_id__portal_status_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"path","required":true,"schema":{"type":"integer","title":"Employee Id"}},{"name":"enabled","in":"query","required":true,"schema":{"type":"boolean","description":"Set True to enable portal, False to disable/revoke","title":"Enabled"},"description":"Set True to enable portal, False to disable/revoke"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmployeeOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/attendance":{"get":{"tags":["Staff & Payroll"],"summary":"Get Daily Attendance","operationId":"get_daily_attendance_api_staff_attendance_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"date_str","in":"query","required":true,"schema":{"type":"string","description":"Date in YYYY-MM-DD format","title":"Date Str"},"description":"Date in YYYY-MM-DD format"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AttendanceOut"},"title":"Response Get Daily Attendance Api Staff Attendance Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/attendance/bulk":{"post":{"tags":["Staff & Payroll"],"summary":"Log Bulk Attendance","operationId":"log_bulk_attendance_api_staff_attendance_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttendanceBulkCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/staff/attendance/monthly-summary":{"get":{"tags":["Staff & Payroll"],"summary":"Get Monthly Attendance Summary","operationId":"get_monthly_attendance_summary_api_staff_attendance_monthly_summary_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Month"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2020,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MonthlyAttendanceSummary"},"title":"Response Get Monthly Attendance Summary Api Staff Attendance Monthly Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/advances":{"get":{"tags":["Staff & Payroll"],"summary":"List Advances","operationId":"list_advances_api_staff_advances_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"employee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Id"}},{"name":"settled","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Settled"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AdvanceOut"},"title":"Response List Advances Api Staff Advances Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Staff & Payroll"],"summary":"Create Advance","operationId":"create_advance_api_staff_advances_post","security":[{"OAuth2PasswordBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdvanceOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/advances/{advance_id}":{"delete":{"tags":["Staff & Payroll"],"summary":"Delete Advance","operationId":"delete_advance_api_staff_advances__advance_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"advance_id","in":"path","required":true,"schema":{"type":"integer","title":"Advance Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/calculate":{"get":{"tags":["Staff & Payroll"],"summary":"Calculate Payroll","description":"Auto-computes earned wages, overtime pay, and advance deductions for all active staff\nbased on the month's attendance records and outstanding advances.","operationId":"calculate_payroll_api_staff_payroll_calculate_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":true,"schema":{"type":"integer","maximum":12,"minimum":1,"title":"Month"}},{"name":"year","in":"query","required":true,"schema":{"type":"integer","maximum":2100,"minimum":2020,"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayrollCalculationItem"},"title":"Response Calculate Payroll Api Staff Payroll Calculate Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/generate":{"post":{"tags":["Staff & Payroll"],"summary":"Generate Payroll","operationId":"generate_payroll_api_staff_payroll_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayrollGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/api/staff/payroll/history":{"get":{"tags":["Staff & Payroll"],"summary":"List Payroll History","operationId":"list_payroll_history_api_staff_payroll_history_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}},{"name":"employee_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Id"}},{"name":"payment_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PayrollOut"},"title":"Response List Payroll History Api Staff Payroll History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/export-csv":{"get":{"tags":["Staff & Payroll"],"summary":"Export Payroll Csv","operationId":"export_payroll_csv_api_staff_payroll_export_csv_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/export-bank-payout":{"get":{"tags":["Staff & Payroll"],"summary":"Export Bank Payout Csv","operationId":"export_bank_payout_csv_api_staff_payroll_export_bank_payout_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2020},{"type":"null"}],"title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/{payroll_id}/mark-paid":{"post":{"tags":["Staff & Payroll"],"summary":"Mark Payroll Paid","operationId":"mark_payroll_paid_api_staff_payroll__payroll_id__mark_paid_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayrollMarkPaidRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/{payroll_id}/pdf":{"get":{"tags":["Staff & Payroll"],"summary":"Download Payslip Pdf","operationId":"download_payslip_pdf_api_staff_payroll__payroll_id__pdf_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/payroll/{payroll_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Payslip Details","operationId":"get_payslip_details_api_staff_payroll__payroll_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayslipOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/public-portal/{token}":{"get":{"tags":["Staff & Payroll"],"summary":"Get Public Staff Portal Summary","description":"Public self-service endpoint for employees to view their own profile,\nattendance summary, advances, and download their monthly salary slips.","operationId":"get_public_staff_portal_summary_api_staff_public_portal__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StaffPortalSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/staff/public-portal/pdf/{token}/{payroll_id}":{"get":{"tags":["Staff & Payroll"],"summary":"Download Public Staff Payslip Pdf","description":"Public endpoint for employees to download their own payslip PDF using their secure token.","operationId":"download_public_staff_payslip_pdf_api_staff_public_portal_pdf__token___payroll_id__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"payroll_id","in":"path","required":true,"schema":{"type":"integer","title":"Payroll Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/ai-search":{"post":{"tags":["Affiliate Products"],"summary":"Ai Search Affiliates","description":"AI-powered search for the Business Toolkit / Partner Perks marketplace.\nAnalyzes the user's business need and recommends the best tools.","operationId":"ai_search_affiliates_affiliates_ai_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateAISearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/public":{"get":{"tags":["Affiliate Products"],"summary":"Get Affiliate Products Public","description":"Fetch active affiliate products for public display, optionally filtered by category.","operationId":"get_affiliate_products_public_affiliates_public_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category: hardware, banking, legal, hosting, loans, software","title":"Category"},"description":"Filter by category: hardware, banking, legal, hosting, loans, software"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AffiliateProductPublic"},"title":"Response Get Affiliate Products Public Affiliates Public Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/go/{product_id}":{"get":{"tags":["Affiliate Products"],"summary":"Redirect Affiliate Click","description":"Tracks an outbound affiliate click, increments the click counter,\nand performs a 307 temporary redirect to the affiliate partner URL.","operationId":"redirect_affiliate_click_affiliates_go__product_id__get","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/":{"get":{"tags":["Affiliate Products"],"summary":"Get All Affiliates Admin","description":"Fetch all affiliate products (active and inactive, admin only).","operationId":"get_all_affiliates_admin_affiliates__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/AffiliateProduct"},"type":"array","title":"Response Get All Affiliates Admin Affiliates  Get"}}}}}},"post":{"tags":["Affiliate Products"],"summary":"Create Affiliate Product","description":"Create a new affiliate product entry.","operationId":"create_affiliate_product_affiliates__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateProductCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateProduct"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/{product_id}":{"put":{"tags":["Affiliate Products"],"summary":"Update Affiliate Product","description":"Update details of an existing affiliate product.","operationId":"update_affiliate_product_affiliates__product_id__put","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateProductUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateProduct"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Affiliate Products"],"summary":"Delete Affiliate Product","description":"Delete an affiliate product.","operationId":"delete_affiliate_product_affiliates__product_id__delete","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/affiliates/{product_id}/toggle":{"patch":{"tags":["Affiliate Products"],"summary":"Toggle Affiliate Product","description":"Toggle the active/inactive state of an affiliate product.","operationId":"toggle_affiliate_product_affiliates__product_id__toggle_patch","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffiliateProduct"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portfolio/public":{"get":{"tags":["Portfolio Products"],"summary":"Get Portfolio Products Public","description":"Fetch active portfolio products for public Our Work display.","operationId":"get_portfolio_products_public_portfolio_public_get","parameters":[{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: live, beta, coming_soon","title":"Status Filter"},"description":"Filter by status: live, beta, coming_soon"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PortfolioProductPublic"},"title":"Response Get Portfolio Products Public Portfolio Public Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portfolio/":{"get":{"tags":["Portfolio Products"],"summary":"Get All Portfolio Admin","description":"Fetch all portfolio products (admin only).","operationId":"get_all_portfolio_admin_portfolio__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PortfolioProduct"},"type":"array","title":"Response Get All Portfolio Admin Portfolio  Get"}}}}}},"post":{"tags":["Portfolio Products"],"summary":"Create Portfolio Product","description":"Create a new portfolio product entry.","operationId":"create_portfolio_product_portfolio__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioProductCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioProduct"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/portfolio/{product_id}":{"put":{"tags":["Portfolio Products"],"summary":"Update Portfolio Product","description":"Update an existing portfolio product.","operationId":"update_portfolio_product_portfolio__product_id__put","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioProductUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortfolioProduct"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Portfolio Products"],"summary":"Delete Portfolio Product","description":"Delete a portfolio product.","operationId":"delete_portfolio_product_portfolio__product_id__delete","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"integer","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/inquiry/":{"post":{"tags":["Inquiry"],"summary":"Submit Inquiry","description":"Handle custom software development inquiry submissions.\nSends an email notification to admin via Resend — no database storage.","operationId":"submit_inquiry_inquiry__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InquiryCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referral/my-status":{"get":{"tags":["Referral Program"],"summary":"Get My Referral Status","description":"Retrieve the logged-in user's referral code, progress bar, and reward status.","operationId":"get_my_referral_status_referral_my_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralStatusResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/referral/admin/overview":{"get":{"tags":["Referral Program"],"summary":"Get Admin Referral Overview","description":"Admin endpoint: Get complete referral program statistics, settings, and logs.","operationId":"get_admin_referral_overview_referral_admin_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReferralStatsResponse"}}}}}}},"/referral/admin/settings":{"post":{"tags":["Referral Program"],"summary":"Update Admin Referral Settings","description":"Admin endpoint: Update master toggle, required invites, discount %, or anti-fraud rules.","operationId":"update_admin_referral_settings_referral_admin_settings_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReferralSettingsUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminReferralSettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/referral/admin/logs/{log_id}/revoke":{"post":{"tags":["Referral Program"],"summary":"Revoke Referral Log","description":"Admin endpoint: Manually disqualify a fraudulent referral log and recount referrer's score.","operationId":"revoke_referral_log_referral_admin_logs__log_id__revoke_post","parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"integer","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/hsn":{"get":{"tags":["HSN / SAC Programmatic SEO"],"summary":"Hsn Directory Root","description":"Redirects /hsn to the main HSN directory tool.","operationId":"hsn_directory_root_hsn_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/hsn/{slug}":{"get":{"tags":["HSN / SAC Programmatic SEO"],"summary":"Get Hsn Detail Page","description":"Dynamic SEO Landing Page for an HSN or SAC code.\nRenders structured tax rates, Schema.org JSON-LD, FAQs, and invoice generator CTA.","operationId":"get_hsn_detail_page_hsn__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/tools-api/hsn-search":{"get":{"tags":["HSN / SAC Programmatic SEO"],"summary":"Dynamic Hsn Search","description":"Lightning-fast dynamic search that queries database HSN records and renders\nrich HTML table rows with direct links to /hsn/{slug}.","operationId":"dynamic_hsn_search_tools_api_hsn_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","description":"Search term for HSN/SAC code, description, or category","default":"","title":"Q"},"description":"Search term for HSN/SAC code, description, or category"}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/api/health-check":{"get":{"summary":"Api Health Check","operationId":"api_health_check_api_health_check_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AISearchRequest":{"properties":{"query":{"type":"string","title":"Query"}},"type":"object","required":["query"],"title":"AISearchRequest"},"AdminOTPRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"AdminOTPRequest"},"AdminOTPVerify":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"otp":{"type":"string","title":"Otp"}},"type":"object","required":["email","otp"],"title":"AdminOTPVerify"},"AdminReferralLogItem":{"properties":{"id":{"type":"integer","title":"Id"},"referrer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer Name"},"referrer_email":{"type":"string","title":"Referrer Email"},"referred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Name"},"referred_email":{"type":"string","title":"Referred Email"},"referral_code":{"type":"string","title":"Referral Code"},"status":{"type":"string","title":"Status"},"rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rejection Reason"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"qualified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qualified At"}},"type":"object","required":["id","referrer_email","referred_email","referral_code","status","created_at"],"title":"AdminReferralLogItem"},"AdminReferralSettingsResponse":{"properties":{"id":{"type":"integer","title":"Id"},"is_active":{"type":"boolean","title":"Is Active"},"target_referrals_required":{"type":"integer","title":"Target Referrals Required"},"referrer_discount_pct":{"type":"integer","title":"Referrer Discount Pct"},"referred_discount_pct":{"type":"integer","title":"Referred Discount Pct"},"coupon_validity_days":{"type":"integer","title":"Coupon Validity Days"},"qualification_rule":{"type":"string","title":"Qualification Rule"},"same_ip_check":{"type":"boolean","title":"Same Ip Check"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","is_active","target_referrals_required","referrer_discount_pct","referred_discount_pct","coupon_validity_days","qualification_rule","same_ip_check"],"title":"AdminReferralSettingsResponse"},"AdminReferralSettingsUpdate":{"properties":{"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"target_referrals_required":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":1.0},{"type":"null"}],"title":"Target Referrals Required"},"referrer_discount_pct":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Referrer Discount Pct"},"referred_discount_pct":{"anyOf":[{"type":"integer","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Referred Discount Pct"},"coupon_validity_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"Coupon Validity Days"},"qualification_rule":{"anyOf":[{"type":"string","pattern":"^(first_invoice|verified_signup)$"},{"type":"null"}],"title":"Qualification Rule"},"same_ip_check":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Same Ip Check"}},"type":"object","title":"AdminReferralSettingsUpdate"},"AdminReferralStatsResponse":{"properties":{"settings":{"$ref":"#/components/schemas/AdminReferralSettingsResponse"},"total_referral_profiles":{"type":"integer","title":"Total Referral Profiles"},"total_invites_recorded":{"type":"integer","title":"Total Invites Recorded"},"total_qualified_referrals":{"type":"integer","title":"Total Qualified Referrals"},"total_discounts_unlocked":{"type":"integer","title":"Total Discounts Unlocked"},"total_discounts_redeemed":{"type":"integer","title":"Total Discounts Redeemed"},"top_referrers":{"items":{"$ref":"#/components/schemas/AdminTopReferrer"},"type":"array","title":"Top Referrers","default":[]},"recent_logs":{"items":{"$ref":"#/components/schemas/AdminReferralLogItem"},"type":"array","title":"Recent Logs","default":[]}},"type":"object","required":["settings","total_referral_profiles","total_invites_recorded","total_qualified_referrals","total_discounts_unlocked","total_discounts_redeemed"],"title":"AdminReferralStatsResponse"},"AdminTopReferrer":{"properties":{"user_id":{"type":"integer","title":"User Id"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"email":{"type":"string","title":"Email"},"referral_code":{"type":"string","title":"Referral Code"},"referrals_count":{"type":"integer","title":"Referrals Count"},"discount_unlocked":{"type":"boolean","title":"Discount Unlocked"},"discount_redeemed":{"type":"boolean","title":"Discount Redeemed"}},"type":"object","required":["user_id","email","referral_code","referrals_count","discount_unlocked","discount_redeemed"],"title":"AdminTopReferrer"},"AdvanceCreate":{"properties":{"employee_id":{"type":"integer","title":"Employee Id"},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount"},"date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date"},"payment_mode":{"type":"string","pattern":"^(cash|upi|bank_transfer)$","title":"Payment Mode","default":"cash"},"notes":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Notes"}},"type":"object","required":["employee_id","amount"],"title":"AdvanceCreate"},"AdvanceOut":{"properties":{"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"employee_id":{"type":"integer","title":"Employee Id"},"employee_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Name"},"amount":{"type":"number","title":"Amount"},"date":{"type":"string","format":"date-time","title":"Date"},"payment_mode":{"type":"string","title":"Payment Mode"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"is_settled":{"type":"boolean","title":"Is Settled"},"settled_in_payroll_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Settled In Payroll Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","business_id","employee_id","amount","date","payment_mode","is_settled","created_at","updated_at"],"title":"AdvanceOut"},"AffiliateAISearchRequest":{"properties":{"query":{"type":"string","maxLength":500,"minLength":2,"title":"Query"}},"type":"object","required":["query"],"title":"AffiliateAISearchRequest"},"AffiliateProduct":{"properties":{"title":{"type":"string","title":"Title"},"category":{"type":"string","title":"Category","default":"hardware"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"affiliate_url":{"type":"string","title":"Affiliate Url"},"badge_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Text"},"price_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Display"},"original_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Price"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","default":4.8},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order","default":0},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true},"id":{"type":"integer","title":"Id"},"clicks_count":{"type":"integer","title":"Clicks Count","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["title","tagline","affiliate_url","id","created_at","updated_at"],"title":"AffiliateProduct"},"AffiliateProductCreate":{"properties":{"title":{"type":"string","title":"Title"},"category":{"type":"string","title":"Category","default":"hardware"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"affiliate_url":{"type":"string","title":"Affiliate Url"},"badge_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Text"},"price_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Display"},"original_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Price"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating","default":4.8},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order","default":0},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true}},"type":"object","required":["title","tagline","affiliate_url"],"title":"AffiliateProductCreate"},"AffiliateProductPublic":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"type":"string","title":"Title"},"category":{"type":"string","title":"Category"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"affiliate_url":{"type":"string","title":"Affiliate Url"},"badge_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Text"},"price_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Display"},"original_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Price"},"rating":{"type":"number","title":"Rating","default":4.8}},"type":"object","required":["id","title","category","tagline","affiliate_url"],"title":"AffiliateProductPublic","description":"Public representation for frontend product cards."},"AffiliateProductUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"affiliate_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Affiliate Url"},"badge_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Badge Text"},"price_display":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Display"},"original_price":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Price"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"AffiliateProductUpdate"},"AttendanceBulkCreate":{"properties":{"date":{"type":"string","format":"date-time","title":"Date"},"records":{"items":{"$ref":"#/components/schemas/AttendanceItem"},"type":"array","title":"Records"}},"type":"object","required":["date","records"],"title":"AttendanceBulkCreate"},"AttendanceItem":{"properties":{"employee_id":{"type":"integer","title":"Employee Id"},"status":{"type":"string","pattern":"^(present|absent|half_day|paid_leave)$","title":"Status","default":"present"},"overtime_hours":{"type":"number","maximum":16.0,"minimum":0.0,"title":"Overtime Hours","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Notes"}},"type":"object","required":["employee_id"],"title":"AttendanceItem"},"AttendanceOut":{"properties":{"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"employee_id":{"type":"integer","title":"Employee Id"},"date":{"type":"string","format":"date-time","title":"Date"},"status":{"type":"string","title":"Status"},"overtime_hours":{"type":"number","title":"Overtime Hours"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","business_id","employee_id","date","status","overtime_hours","created_at","updated_at"],"title":"AttendanceOut"},"AuditInvoiceDirectRequest":{"properties":{"items":{"items":{"$ref":"#/components/schemas/AuditItemInput"},"type":"array","title":"Items"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"business_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Gst"}},"type":"object","required":["items"],"title":"AuditInvoiceDirectRequest","description":"Used when auditing from create form (invoice not yet saved)"},"AuditItemInput":{"properties":{"name":{"type":"string","title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"tax_rate":{"type":"number","title":"Tax Rate"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"}},"type":"object","required":["name","tax_rate","quantity","price"],"title":"AuditItemInput"},"BillingParseRequest":{"properties":{"message":{"type":"string","maxLength":4000,"title":"Message"},"clients":{"items":{"type":"string"},"type":"array","title":"Clients","default":[]},"products":{"items":{"type":"string"},"type":"array","title":"Products","default":[]}},"type":"object","required":["message"],"title":"BillingParseRequest"},"BlogAIChatRequest":{"properties":{"question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Question"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action","default":"ask"}},"type":"object","title":"BlogAIChatRequest"},"Body_ai_advisor_ask_tools_api_ai_advisor_ask_post":{"properties":{"query":{"type":"string","title":"Query"}},"type":"object","required":["query"],"title":"Body_ai_advisor_ask_tools_api_ai_advisor_ask_post"},"Body_ai_hsn_suggest_tools_api_ai_hsn_suggest_post":{"properties":{"description":{"type":"string","title":"Description"}},"type":"object","required":["description"],"title":"Body_ai_hsn_suggest_tools_api_ai_hsn_suggest_post"},"Body_ai_invoice_audit_tools_api_ai_invoice_audit_post":{"properties":{"invoice_text":{"type":"string","title":"Invoice Text"}},"type":"object","required":["invoice_text"],"title":"Body_ai_invoice_audit_tools_api_ai_invoice_audit_post"},"Body_login_for_access_token_auth_login_post":{"properties":{"grant_type":{"anyOf":[{"type":"string","pattern":"^password$"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","format":"password","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"format":"password","title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_for_access_token_auth_login_post"},"Body_scan_receipt_expenses_scan_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_scan_receipt_expenses_scan_post"},"Body_signup_complete_auth_signup_complete_post":{"properties":{"email":{"type":"string","title":"Email"},"otp":{"type":"string","title":"Otp"},"full_name":{"type":"string","title":"Full Name"},"password":{"type":"string","title":"Password"},"confirm_password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confirm Password"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"},"profile_pic":{"type":"string","contentMediaType":"application/octet-stream","title":"Profile Pic"}},"type":"object","required":["email","otp","full_name","password"],"title":"Body_signup_complete_auth_signup_complete_post"},"Body_upload_ad_image_ads_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_ad_image_ads_upload_post"},"Body_upload_logo_business_upload_logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_logo_business_upload_logo_post"},"Body_upload_quotation_image_quotations_upload_image_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_quotation_image_quotations_upload_image_post"},"Body_upload_signature_business_upload_signature_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_signature_business_upload_signature_post"},"BulkDeleteRequest":{"properties":{"expense_ids":{"items":{"type":"integer"},"type":"array","title":"Expense Ids"}},"type":"object","required":["expense_ids"],"title":"BulkDeleteRequest"},"BulkStatusRequest":{"properties":{"invoice_ids":{"items":{"type":"integer"},"type":"array","maxItems":100,"minItems":1,"title":"Invoice Ids"},"status":{"$ref":"#/components/schemas/PaymentStatusEnum"}},"type":"object","required":["invoice_ids","status"],"title":"BulkStatusRequest"},"Business":{"properties":{"business_name":{"type":"string","maxLength":255,"title":"Business Name"},"business_tagline":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Business Tagline"},"business_type":{"type":"string","maxLength":50,"title":"Business Type","default":"Proprietorship"},"is_gst_registered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Gst Registered","default":true},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State","default":"Delhi"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code","default":"07"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Address"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"website_url":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Website Url"},"bank_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Bank Name"},"account_holder_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Account Holder Name"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"ifsc_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ifsc Code"},"branch_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch Name"},"upi_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Upi Id"},"logo_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Logo Url"},"signature_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Signature Url"},"show_einvoice_qr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Einvoice Qr","default":false},"footer_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Footer Note","default":"This is an electronically generated invoice."},"quotation_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Quotation Document Theme","default":"default"},"invoice_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Invoice Document Theme","default":"default"},"proforma_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Proforma Document Theme","default":"default"},"show_ads":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Ads","default":true},"terms_and_conditions":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Terms And Conditions","default":"Goods once sold will not be taken back.\nInterest @ 18% p.a. if not paid by due date."},"jurisdiction_city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Jurisdiction City","default":"Faridabad"},"id":{"type":"integer","title":"Id"},"owner_id":{"type":"integer","title":"Owner Id"},"subscription_tier":{"type":"string","title":"Subscription Tier","default":"free"}},"type":"object","required":["business_name","email","id","owner_id"],"title":"Business"},"BusinessCreate":{"properties":{"business_name":{"type":"string","maxLength":255,"title":"Business Name"},"business_tagline":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Business Tagline"},"business_type":{"type":"string","maxLength":50,"title":"Business Type","default":"Proprietorship"},"is_gst_registered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Gst Registered","default":true},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"address_line1":{"type":"string","maxLength":255,"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"type":"string","maxLength":100,"title":"City"},"state":{"type":"string","maxLength":100,"title":"State"},"state_code":{"type":"string","title":"State Code"},"pincode":{"type":"string","title":"Pincode"},"address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Address"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"type":"string","title":"Phone"},"website_url":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Website Url"},"bank_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Bank Name"},"account_holder_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Account Holder Name"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"ifsc_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ifsc Code"},"branch_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Branch Name"},"upi_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Upi Id"},"logo_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Logo Url"},"signature_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Signature Url"},"show_einvoice_qr":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Einvoice Qr","default":false},"footer_note":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Footer Note","default":"This is an electronically generated invoice."},"quotation_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Quotation Document Theme","default":"default"},"invoice_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Invoice Document Theme","default":"default"},"proforma_document_theme":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Proforma Document Theme","default":"default"},"show_ads":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Ads","default":true},"terms_and_conditions":{"anyOf":[{"type":"string","maxLength":5000},{"type":"null"}],"title":"Terms And Conditions","default":"Goods once sold will not be taken back.\nInterest @ 18% p.a. if not paid by due date."},"jurisdiction_city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Jurisdiction City","default":"Faridabad"}},"type":"object","required":["business_name","address_line1","city","state","state_code","pincode","email","phone"],"title":"BusinessCreate"},"CancelInvoiceRequest":{"properties":{"cancel_reason":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Cancel Reason"}},"type":"object","title":"CancelInvoiceRequest"},"ChatMessageHistory":{"properties":{"role":{"type":"string","title":"Role"},"content":{"type":"string","title":"Content"}},"type":"object","required":["role","content"],"title":"ChatMessageHistory"},"ChatRequest":{"properties":{"message":{"type":"string","maxLength":1000,"title":"Message"},"history":{"anyOf":[{"items":{"$ref":"#/components/schemas/ChatMessageHistory"},"type":"array"},{"type":"null"}],"title":"History"}},"type":"object","required":["message"],"title":"ChatRequest"},"Client":{"properties":{"client_name":{"type":"string","maxLength":255,"title":"Client Name"},"client_type":{"type":"string","maxLength":50,"title":"Client Type","default":"Individual"},"client_category":{"type":"string","maxLength":50,"title":"Client Category","default":"B2C"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"contact_person_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Person Name"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"portal_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portal Token"},"portal_enabled":{"type":"boolean","title":"Portal Enabled","default":true},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["client_name","id","business_id","created_at","updated_at"],"title":"Client"},"ClientCreate":{"properties":{"client_name":{"type":"string","maxLength":255,"title":"Client Name"},"client_type":{"type":"string","maxLength":50,"title":"Client Type","default":"Individual"},"client_category":{"type":"string","maxLength":50,"title":"Client Category","default":"B2C"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"contact_person_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Person Name"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","required":["client_name"],"title":"ClientCreate"},"ClientPortalInvoiceCard":{"properties":{"id":{"type":"integer","title":"Id"},"invoice_number":{"type":"string","title":"Invoice Number"},"invoice_date":{"type":"string","title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date"},"taxable_amount":{"type":"number","title":"Taxable Amount"},"tax_amount":{"type":"number","title":"Tax Amount"},"grand_total":{"type":"number","title":"Grand Total"},"amount_paid":{"type":"number","title":"Amount Paid"},"balance_due":{"type":"number","title":"Balance Due"},"status":{"type":"string","title":"Status"},"pdf_url":{"type":"string","title":"Pdf Url"}},"type":"object","required":["id","invoice_number","invoice_date","taxable_amount","tax_amount","grand_total","amount_paid","balance_due","status","pdf_url"],"title":"ClientPortalInvoiceCard"},"ClientPortalSummaryResponse":{"properties":{"client_info":{"additionalProperties":true,"type":"object","title":"Client Info"},"business_info":{"additionalProperties":true,"type":"object","title":"Business Info"},"financial_summary":{"additionalProperties":true,"type":"object","title":"Financial Summary"},"invoices":{"items":{"$ref":"#/components/schemas/ClientPortalInvoiceCard"},"type":"array","title":"Invoices"}},"type":"object","required":["client_info","business_info","financial_summary","invoices"],"title":"ClientPortalSummaryResponse"},"ConfirmDeleteRequest":{"properties":{"otp":{"type":"string","title":"Otp"},"business_name":{"type":"string","title":"Business Name"}},"type":"object","required":["otp","business_name"],"title":"ConfirmDeleteRequest"},"ConvertDocRequest":{"properties":{"source_id":{"type":"integer","title":"Source Id"},"new_number":{"type":"string","title":"New Number"}},"type":"object","required":["source_id","new_number"],"title":"ConvertDocRequest"},"CustomAd":{"properties":{"title":{"type":"string","title":"Title"},"image_url":{"type":"string","title":"Image Url"},"target_url":{"type":"string","title":"Target Url"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true},"id":{"type":"integer","title":"Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["title","image_url","target_url","id","created_at","updated_at"],"title":"CustomAd"},"CustomAdCreate":{"properties":{"title":{"type":"string","title":"Title"},"image_url":{"type":"string","title":"Image Url"},"target_url":{"type":"string","title":"Target Url"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true}},"type":"object","required":["title","image_url","target_url"],"title":"CustomAdCreate"},"CustomAdPublic":{"properties":{"title":{"type":"string","title":"Title"},"image_url":{"type":"string","title":"Image Url"},"target_url":{"type":"string","title":"Target Url"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["title","image_url","target_url","created_at","updated_at"],"title":"CustomAdPublic"},"CustomAdUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"target_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Url"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"CustomAdUpdate"},"EmployeeCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"designation":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Designation"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"joining_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joining Date"},"salary_type":{"type":"string","pattern":"^(monthly|daily)$","title":"Salary Type","default":"monthly"},"base_salary":{"type":"number","minimum":0.0,"title":"Base Salary","default":0.0},"daily_hours":{"type":"number","maximum":24.0,"minimum":1.0,"title":"Daily Hours","default":8.0},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"aadhaar_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aadhaar Number"},"bank_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Bank Name"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"ifsc_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Ifsc Code"},"upi_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Upi Id"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["name"],"title":"EmployeeCreate"},"EmployeeOut":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"designation":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Designation"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"joining_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joining Date"},"salary_type":{"type":"string","pattern":"^(monthly|daily)$","title":"Salary Type","default":"monthly"},"base_salary":{"type":"number","minimum":0.0,"title":"Base Salary","default":0.0},"daily_hours":{"type":"number","maximum":24.0,"minimum":1.0,"title":"Daily Hours","default":8.0},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"aadhaar_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aadhaar Number"},"bank_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Bank Name"},"account_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Account Number"},"ifsc_code":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Ifsc Code"},"upi_id":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Upi Id"},"address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Address"},"is_active":{"type":"boolean","title":"Is Active","default":true},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"portal_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portal Token"},"portal_enabled":{"type":"boolean","title":"Portal Enabled","default":true},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","business_id","created_at","updated_at"],"title":"EmployeeOut"},"EmployeeUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"designation":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Designation"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"joining_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joining Date"},"salary_type":{"anyOf":[{"type":"string","pattern":"^(monthly|daily)$"},{"type":"null"}],"title":"Salary Type"},"base_salary":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Base Salary"},"daily_hours":{"anyOf":[{"type":"number","maximum":24.0,"minimum":1.0},{"type":"null"}],"title":"Daily Hours"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"aadhaar_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Aadhaar Number"},"bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bank Name"},"account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Number"},"ifsc_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ifsc Code"},"upi_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Upi Id"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"portal_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Portal Enabled"}},"type":"object","title":"EmployeeUpdate"},"Expense":{"properties":{"merchant_name":{"type":"string","maxLength":255,"title":"Merchant Name"},"amount":{"type":"number","minimum":0.0,"title":"Amount"},"date":{"type":"string","format":"date-time","title":"Date"},"category":{"type":"string","maxLength":100,"title":"Category"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"},"image_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Image Url"},"is_verified":{"type":"boolean","title":"Is Verified","default":false},"taxable_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Taxable Amount"},"gst_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Gst Amount","default":0.0},"cgst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Cgst","default":0.0},"sgst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Sgst","default":0.0},"igst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Igst","default":0.0},"vendor_gst":{"anyOf":[{"type":"string","maxLength":15},{"type":"null"}],"title":"Vendor Gst"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["merchant_name","amount","date","category","id","business_id","created_at","updated_at"],"title":"Expense"},"ExpenseCategorizeRequest":{"properties":{"description":{"type":"string","maxLength":500,"title":"Description"},"amount":{"type":"number","exclusiveMinimum":0.0,"title":"Amount"}},"type":"object","required":["description","amount"],"title":"ExpenseCategorizeRequest"},"ExpenseCreate":{"properties":{"merchant_name":{"type":"string","maxLength":255,"title":"Merchant Name"},"amount":{"type":"number","minimum":0.0,"title":"Amount"},"date":{"type":"string","format":"date-time","title":"Date"},"category":{"type":"string","maxLength":100,"title":"Category"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"},"image_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Image Url"},"is_verified":{"type":"boolean","title":"Is Verified","default":false},"taxable_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Taxable Amount"},"gst_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Gst Amount","default":0.0},"cgst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Cgst","default":0.0},"sgst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Sgst","default":0.0},"igst":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Igst","default":0.0},"vendor_gst":{"anyOf":[{"type":"string","maxLength":15},{"type":"null"}],"title":"Vendor Gst"}},"type":"object","required":["merchant_name","amount","date","category"],"title":"ExpenseCreate"},"ExpenseUpdate":{"properties":{"merchant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Name"},"amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount"},"date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"taxable_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Taxable Amount"},"gst_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gst Amount"},"vendor_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Gst"}},"type":"object","title":"ExpenseUpdate"},"FeedbackCreate":{"properties":{"rating":{"type":"integer","maximum":5.0,"minimum":1.0,"title":"Rating","description":"Star rating between 1 and 5"},"category":{"type":"string","maxLength":50,"minLength":2,"title":"Category","description":"Feedback category"},"message":{"type":"string","maxLength":2000,"minLength":5,"title":"Message","description":"Detailed feedback message"}},"type":"object","required":["rating","category","message"],"title":"FeedbackCreate"},"GuestInvoiceRequest":{"properties":{"business_name":{"type":"string","maxLength":150,"minLength":2,"title":"Business Name"},"business_address":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Business Address","default":""},"gstin":{"anyOf":[{"type":"string","maxLength":15},{"type":"null"}],"title":"Gstin","default":""},"phone":{"anyOf":[{"type":"string","maxLength":15},{"type":"null"}],"title":"Phone","default":""},"email":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Email","default":""},"customer_name":{"type":"string","maxLength":150,"minLength":2,"title":"Customer Name"},"customer_address":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Customer Address","default":""},"customer_gstin":{"anyOf":[{"type":"string","maxLength":15},{"type":"null"}],"title":"Customer Gstin","default":""},"invoice_number":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Invoice Number","default":"INV-001"},"invoice_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Date"},"is_interstate":{"type":"boolean","title":"Is Interstate","default":false},"other_charges":{"type":"number","maximum":500000.0,"minimum":0.0,"title":"Other Charges","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Notes","default":""},"items":{"items":{"$ref":"#/components/schemas/GuestItem"},"type":"array","maxItems":10,"minItems":1,"title":"Items"}},"type":"object","required":["business_name","customer_name","items"],"title":"GuestInvoiceRequest"},"GuestItem":{"properties":{"name":{"type":"string","maxLength":100,"minLength":1,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac","default":""},"quantity":{"type":"number","maximum":99999.0,"exclusiveMinimum":0.0,"title":"Quantity"},"unit":{"anyOf":[{"type":"string","maxLength":10},{"type":"null"}],"title":"Unit","default":"pcs"},"price":{"type":"number","maximum":10000000.0,"exclusiveMinimum":0.0,"title":"Price"},"tax_rate":{"type":"number","maximum":28.0,"minimum":0.0,"title":"Tax Rate","default":18.0}},"type":"object","required":["name","quantity","price"],"title":"GuestItem"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InquiryCreate":{"properties":{"name":{"type":"string","maxLength":100,"minLength":2,"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string","maxLength":25},{"type":"null"}],"title":"Phone"},"budget_range":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Budget Range"},"project_description":{"type":"string","maxLength":5000,"minLength":10,"title":"Project Description"}},"type":"object","required":["name","email","project_description"],"title":"InquiryCreate"},"Invoice":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"shipping_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Shipping Name"},"shipping_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shipping Gst"},"shipping_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Shipping Address"},"transport_mode":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Transport Mode"},"vehicle_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Vehicle Number"},"transporter_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Transporter Name"},"lr_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Lr Number"},"lr_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lr Date"},"dispatch_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispatch Date"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount","default":0.0},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum","default":"Unpaid"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"is_cancelled":{"type":"boolean","title":"Is Cancelled","default":false},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cancelled At"},"cancel_reason":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Cancel Reason"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"items":{"items":{"$ref":"#/components/schemas/InvoiceItem"},"type":"array","title":"Items","default":[]}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","grand_total","id","business_id"],"title":"Invoice"},"InvoiceCreate":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"shipping_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Shipping Name"},"shipping_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Shipping Gst"},"shipping_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Shipping Address"},"transport_mode":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Transport Mode"},"vehicle_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Vehicle Number"},"transporter_name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Transporter Name"},"lr_number":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Lr Number"},"lr_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lr Date"},"dispatch_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Dispatch Date"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount","default":0.0},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum","default":"Unpaid"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"is_cancelled":{"type":"boolean","title":"Is Cancelled","default":false},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Cancelled At"},"cancel_reason":{"anyOf":[{"type":"string","maxLength":250},{"type":"null"}],"title":"Cancel Reason"},"items":{"items":{"$ref":"#/components/schemas/InvoiceItemBase"},"type":"array","maxItems":15,"minItems":1,"title":"Items"}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","grand_total","items"],"title":"InvoiceCreate"},"InvoiceItem":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0},"id":{"type":"integer","title":"Id"},"invoice_id":{"type":"integer","title":"Invoice Id"}},"type":"object","required":["name","quantity","price","tax_rate","amount","id","invoice_id"],"title":"InvoiceItem"},"InvoiceItemBase":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0}},"type":"object","required":["name","quantity","price","tax_rate","amount"],"title":"InvoiceItemBase"},"InvoicePagination":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Invoice"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"InvoicePagination"},"InvoicePaymentUpdate":{"properties":{"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum"},"amount_paid":{"type":"number","title":"Amount Paid"}},"type":"object","required":["payment_status","amount_paid"],"title":"InvoicePaymentUpdate"},"MonthlyAttendanceSummary":{"properties":{"employee_id":{"type":"integer","title":"Employee Id"},"employee_name":{"type":"string","title":"Employee Name"},"designation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Designation"},"salary_type":{"type":"string","title":"Salary Type"},"base_salary":{"type":"number","title":"Base Salary"},"total_days":{"type":"integer","title":"Total Days"},"present_days":{"type":"number","title":"Present Days"},"half_days":{"type":"number","title":"Half Days"},"paid_leaves":{"type":"number","title":"Paid Leaves"},"absent_days":{"type":"number","title":"Absent Days"},"total_overtime_hours":{"type":"number","title":"Total Overtime Hours"}},"type":"object","required":["employee_id","employee_name","designation","salary_type","base_salary","total_days","present_days","half_days","paid_leaves","absent_days","total_overtime_hours"],"title":"MonthlyAttendanceSummary"},"NewsletterSubscriberCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"NewsletterSubscriberCreate"},"NewsletterToggle":{"properties":{"is_enabled":{"type":"boolean","title":"Is Enabled"}},"type":"object","required":["is_enabled"],"title":"NewsletterToggle"},"Notification":{"properties":{"title":{"type":"string","title":"Title"},"message":{"type":"string","title":"Message"},"id":{"type":"integer","title":"Id"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"},"is_read":{"type":"boolean","title":"Is Read"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["title","message","id","user_id","is_read","created_at"],"title":"Notification"},"PaginatedClientResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Client"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PaginatedClientResponse"},"PaginatedEmployeeResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EmployeeOut"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PaginatedEmployeeResponse"},"PaginatedProductResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Product"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PaginatedProductResponse"},"PaginatedPurchaseBillResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PurchaseBill"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PaginatedPurchaseBillResponse"},"PaginatedVendorResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Vendor"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PaginatedVendorResponse"},"PasswordResetConfirm":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"otp":{"type":"string","maxLength":6,"title":"Otp"},"new_password":{"type":"string","maxLength":255,"title":"New Password"},"confirm_new_password":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Confirm New Password"}},"type":"object","required":["email","otp","new_password"],"title":"PasswordResetConfirm"},"PasswordResetRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"cf_turnstile_response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cf Turnstile Response"}},"type":"object","required":["email"],"title":"PasswordResetRequest"},"PaymentStatusEnum":{"type":"string","enum":["Unpaid","Paid","Partial","Overdue","Cancelled"],"title":"PaymentStatusEnum"},"PayrollCalculationItem":{"properties":{"employee_id":{"type":"integer","title":"Employee Id"},"employee_name":{"type":"string","title":"Employee Name"},"designation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Designation"},"salary_type":{"type":"string","title":"Salary Type"},"base_salary":{"type":"number","title":"Base Salary"},"total_working_days":{"type":"integer","title":"Total Working Days"},"present_days":{"type":"number","title":"Present Days"},"half_days":{"type":"number","title":"Half Days"},"paid_leaves":{"type":"number","title":"Paid Leaves"},"absent_days":{"type":"number","title":"Absent Days"},"earned_salary":{"type":"number","title":"Earned Salary"},"overtime_hours":{"type":"number","title":"Overtime Hours"},"overtime_amount":{"type":"number","title":"Overtime Amount"},"bonus_amount":{"type":"number","title":"Bonus Amount"},"unsettled_advances":{"type":"number","title":"Unsettled Advances"},"advance_deduction":{"type":"number","title":"Advance Deduction"},"other_deductions":{"type":"number","title":"Other Deductions"},"net_payable":{"type":"number","title":"Net Payable"}},"type":"object","required":["employee_id","employee_name","designation","salary_type","base_salary","total_working_days","present_days","half_days","paid_leaves","absent_days","earned_salary","overtime_hours","overtime_amount","bonus_amount","unsettled_advances","advance_deduction","other_deductions","net_payable"],"title":"PayrollCalculationItem"},"PayrollGenerateRequest":{"properties":{"month":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Month"},"year":{"type":"integer","maximum":2100.0,"minimum":2020.0,"title":"Year"},"items":{"items":{"$ref":"#/components/schemas/PayrollCalculationItem"},"type":"array","title":"Items"}},"type":"object","required":["month","year","items"],"title":"PayrollGenerateRequest"},"PayrollMarkPaidRequest":{"properties":{"payment_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Payment Date"},"payment_mode":{"type":"string","pattern":"^(cash|upi|bank_transfer)$","title":"Payment Mode","default":"bank_transfer"},"txn_reference":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Txn Reference"},"notes":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Notes"},"sync_to_expense":{"type":"boolean","title":"Sync To Expense","default":true}},"type":"object","title":"PayrollMarkPaidRequest"},"PayrollOut":{"properties":{"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"employee_id":{"type":"integer","title":"Employee Id"},"employee_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Name"},"employee_designation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Designation"},"employee_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Phone"},"portal_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portal Token"},"portal_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Portal Enabled","default":true},"payslip_number":{"type":"string","title":"Payslip Number"},"month":{"type":"integer","title":"Month"},"year":{"type":"integer","title":"Year"},"total_working_days":{"type":"integer","title":"Total Working Days"},"present_days":{"type":"number","title":"Present Days"},"half_days":{"type":"number","title":"Half Days"},"paid_leaves":{"type":"number","title":"Paid Leaves"},"absent_days":{"type":"number","title":"Absent Days"},"base_salary":{"type":"number","title":"Base Salary"},"earned_salary":{"type":"number","title":"Earned Salary"},"overtime_amount":{"type":"number","title":"Overtime Amount"},"bonus_amount":{"type":"number","title":"Bonus Amount"},"advance_deduction":{"type":"number","title":"Advance Deduction"},"other_deductions":{"type":"number","title":"Other Deductions"},"net_payable":{"type":"number","title":"Net Payable"},"payment_status":{"type":"string","title":"Payment Status"},"payment_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Payment Date"},"payment_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Mode"},"txn_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Txn Reference"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"synced_expense_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Synced Expense Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","business_id","employee_id","payslip_number","month","year","total_working_days","present_days","half_days","paid_leaves","absent_days","base_salary","earned_salary","overtime_amount","bonus_amount","advance_deduction","other_deductions","net_payable","payment_status","created_at","updated_at"],"title":"PayrollOut"},"PayslipOut":{"properties":{"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"employee_id":{"type":"integer","title":"Employee Id"},"employee_name":{"type":"string","title":"Employee Name"},"employee_designation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Designation"},"employee_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Phone"},"portal_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Portal Token"},"portal_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Portal Enabled","default":true},"payslip_number":{"type":"string","title":"Payslip Number"},"month":{"type":"integer","title":"Month"},"year":{"type":"integer","title":"Year"},"total_working_days":{"type":"integer","title":"Total Working Days"},"present_days":{"type":"number","title":"Present Days"},"half_days":{"type":"number","title":"Half Days"},"paid_leaves":{"type":"number","title":"Paid Leaves"},"absent_days":{"type":"number","title":"Absent Days"},"base_salary":{"type":"number","title":"Base Salary"},"earned_salary":{"type":"number","title":"Earned Salary"},"overtime_amount":{"type":"number","title":"Overtime Amount"},"bonus_amount":{"type":"number","title":"Bonus Amount"},"advance_deduction":{"type":"number","title":"Advance Deduction"},"other_deductions":{"type":"number","title":"Other Deductions"},"net_payable":{"type":"number","title":"Net Payable"},"payment_status":{"type":"string","title":"Payment Status"},"payment_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Payment Date"},"payment_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Mode"},"txn_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Txn Reference"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"synced_expense_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Synced Expense Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"employee_pan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Pan"},"employee_bank_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Bank Name"},"employee_account_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Account Number"},"employee_ifsc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Employee Ifsc"},"business_name":{"type":"string","title":"Business Name"},"business_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Address"},"business_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Gst"},"business_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Phone"},"business_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Business Email"},"amount_in_words":{"type":"string","title":"Amount In Words","default":""}},"type":"object","required":["id","business_id","employee_id","employee_name","payslip_number","month","year","total_working_days","present_days","half_days","paid_leaves","absent_days","base_salary","earned_salary","overtime_amount","bonus_amount","advance_deduction","other_deductions","net_payable","payment_status","created_at","updated_at","business_name"],"title":"PayslipOut"},"PerformaInvoice":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount"},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum","default":"Unpaid"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"discount":{"type":"number","title":"Discount","default":0.0},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"advanced_amount":{"type":"number","title":"Advanced Amount","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"items":{"items":{"$ref":"#/components/schemas/PerformaInvoiceItem"},"type":"array","title":"Items","default":[]}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","tax_amount","grand_total","id","business_id"],"title":"PerformaInvoice"},"PerformaInvoiceCreate":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount"},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum","default":"Unpaid"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"discount":{"type":"number","title":"Discount","default":0.0},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"advanced_amount":{"type":"number","title":"Advanced Amount","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"items":{"items":{"$ref":"#/components/schemas/PerformaInvoiceItemBase"},"type":"array","maxItems":20,"minItems":1,"title":"Items"}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","tax_amount","grand_total","items"],"title":"PerformaInvoiceCreate"},"PerformaInvoiceItem":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0},"id":{"type":"integer","title":"Id"},"performa_id":{"type":"integer","title":"Performa Id"}},"type":"object","required":["name","quantity","price","tax_rate","amount","id","performa_id"],"title":"PerformaInvoiceItem"},"PerformaInvoiceItemBase":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0}},"type":"object","required":["name","quantity","price","tax_rate","amount"],"title":"PerformaInvoiceItemBase"},"PerformaPagination":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PerformaInvoice"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"PerformaPagination"},"PerformaPaymentUpdate":{"properties":{"payment_status":{"$ref":"#/components/schemas/PaymentStatusEnum"},"amount_paid":{"type":"number","title":"Amount Paid"}},"type":"object","required":["payment_status","amount_paid"],"title":"PerformaPaymentUpdate"},"PopupCreate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"link_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Url"},"link_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Text","default":"Click Here"},"is_active":{"type":"boolean","title":"Is Active","default":true},"appear_delay_seconds":{"type":"integer","title":"Appear Delay Seconds","default":2},"auto_close_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Auto Close Seconds"},"show_close_button":{"type":"boolean","title":"Show Close Button","default":true}},"type":"object","title":"PopupCreate"},"PopupResponse":{"properties":{"id":{"type":"integer","title":"Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"link_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Url"},"link_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Text"},"is_active":{"type":"boolean","title":"Is Active"},"appear_delay_seconds":{"type":"integer","title":"Appear Delay Seconds"},"auto_close_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Auto Close Seconds"},"show_close_button":{"type":"boolean","title":"Show Close Button"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","title","message","image_url","link_url","link_text","is_active","appear_delay_seconds","auto_close_seconds","show_close_button","created_at","updated_at"],"title":"PopupResponse"},"PopupUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"link_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Url"},"link_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Link Text","default":"Click Here"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"appear_delay_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Appear Delay Seconds"},"auto_close_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Auto Close Seconds"},"show_close_button":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Close Button"}},"type":"object","title":"PopupUpdate"},"PortfolioProduct":{"properties":{"name":{"type":"string","title":"Name"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"product_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Url"},"status":{"type":"string","title":"Status","default":"live"},"tech_stack":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tech Stack"},"features":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Features"},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order","default":0},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true},"icon_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Class","default":"fa-solid fa-cube"},"id":{"type":"integer","title":"Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["name","tagline","id"],"title":"PortfolioProduct"},"PortfolioProductCreate":{"properties":{"name":{"type":"string","title":"Name"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"product_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Url"},"status":{"type":"string","title":"Status","default":"live"},"tech_stack":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tech Stack"},"features":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Features"},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order","default":0},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active","default":true},"icon_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Class","default":"fa-solid fa-cube"}},"type":"object","required":["name","tagline"],"title":"PortfolioProductCreate"},"PortfolioProductPublic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"tagline":{"type":"string","title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"product_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Url"},"status":{"type":"string","title":"Status"},"tech_stack":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tech Stack"},"features":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Features"},"display_order":{"type":"integer","title":"Display Order"},"icon_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Class"}},"type":"object","required":["id","name","tagline","status","display_order"],"title":"PortfolioProductPublic"},"PortfolioProductUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"product_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Url"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"tech_stack":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tech Stack"},"features":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Features"},"display_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Display Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"icon_class":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Class"}},"type":"object","title":"PortfolioProductUpdate"},"Product":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"hsn_sac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsn Sac"},"unit":{"type":"string","maxLength":20,"title":"Unit","default":"pcs"},"rate":{"type":"number","title":"Rate","default":0.0},"gst_rate":{"type":"number","title":"Gst Rate","default":18.0},"track_inventory":{"type":"boolean","title":"Track Inventory","default":false},"stock_quantity":{"type":"number","title":"Stock Quantity","default":0.0},"low_stock_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low Stock Threshold"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","business_id","created_at","updated_at"],"title":"Product"},"ProductCreate":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description"},"hsn_sac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsn Sac"},"unit":{"type":"string","maxLength":20,"title":"Unit","default":"pcs"},"rate":{"type":"number","title":"Rate","default":0.0},"gst_rate":{"type":"number","title":"Gst Rate","default":18.0},"track_inventory":{"type":"boolean","title":"Track Inventory","default":false},"stock_quantity":{"type":"number","title":"Stock Quantity","default":0.0},"low_stock_threshold":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Low Stock Threshold"}},"type":"object","required":["name"],"title":"ProductCreate"},"PurchaseBill":{"properties":{"vendor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Id"},"vendor_name":{"type":"string","maxLength":255,"title":"Vendor Name"},"vendor_gstin":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Vendor Gstin"},"vendor_address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Vendor Address"},"bill_number":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Bill Number"},"vendor_invoice_number":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Vendor Invoice Number"},"bill_date":{"type":"string","format":"date-time","title":"Bill Date"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"subtotal":{"type":"number","minimum":0.0,"title":"Subtotal","default":0.0},"taxable_amount":{"type":"number","minimum":0.0,"title":"Taxable Amount","default":0.0},"cgst":{"type":"number","minimum":0.0,"title":"Cgst","default":0.0},"sgst":{"type":"number","minimum":0.0,"title":"Sgst","default":0.0},"igst":{"type":"number","minimum":0.0,"title":"Igst","default":0.0},"tax_amount":{"type":"number","minimum":0.0,"title":"Tax Amount","default":0.0},"grand_total":{"type":"number","minimum":0.0,"title":"Grand Total","default":0.0},"payment_status":{"type":"string","title":"Payment Status","default":"Unpaid"},"amount_paid":{"type":"number","minimum":0.0,"title":"Amount Paid","default":0.0},"payment_mode":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Payment Mode"},"itc_eligibility":{"type":"string","title":"Itc Eligibility","default":"eligible"},"is_rcm":{"type":"boolean","title":"Is Rcm","default":false},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"},"receipt_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Receipt Image Url"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"items":{"items":{"$ref":"#/components/schemas/PurchaseBillItem"},"type":"array","title":"Items","default":[]}},"type":"object","required":["vendor_name","id","business_id","created_at","updated_at"],"title":"PurchaseBill"},"PurchaseBillCreate":{"properties":{"vendor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Id"},"vendor_name":{"type":"string","maxLength":255,"title":"Vendor Name"},"vendor_gstin":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Vendor Gstin"},"vendor_address":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Vendor Address"},"bill_number":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Bill Number"},"vendor_invoice_number":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Vendor Invoice Number"},"bill_date":{"type":"string","format":"date-time","title":"Bill Date"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"subtotal":{"type":"number","minimum":0.0,"title":"Subtotal","default":0.0},"taxable_amount":{"type":"number","minimum":0.0,"title":"Taxable Amount","default":0.0},"cgst":{"type":"number","minimum":0.0,"title":"Cgst","default":0.0},"sgst":{"type":"number","minimum":0.0,"title":"Sgst","default":0.0},"igst":{"type":"number","minimum":0.0,"title":"Igst","default":0.0},"tax_amount":{"type":"number","minimum":0.0,"title":"Tax Amount","default":0.0},"grand_total":{"type":"number","minimum":0.0,"title":"Grand Total","default":0.0},"payment_status":{"type":"string","title":"Payment Status","default":"Unpaid"},"amount_paid":{"type":"number","minimum":0.0,"title":"Amount Paid","default":0.0},"payment_mode":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Payment Mode"},"itc_eligibility":{"type":"string","title":"Itc Eligibility","default":"eligible"},"is_rcm":{"type":"boolean","title":"Is Rcm","default":false},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"},"receipt_image_url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Receipt Image Url"},"items":{"items":{"$ref":"#/components/schemas/PurchaseBillItemCreate"},"type":"array","title":"Items"}},"type":"object","required":["vendor_name","items"],"title":"PurchaseBillCreate"},"PurchaseBillItem":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","minimum":0.0,"title":"Quantity","default":1.0},"unit":{"type":"string","maxLength":50,"title":"Unit","default":"PCS"},"price":{"type":"number","minimum":0.0,"title":"Price","default":0.0},"tax_rate":{"type":"number","minimum":0.0,"title":"Tax Rate","default":18.0},"taxable_amount":{"type":"number","minimum":0.0,"title":"Taxable Amount","default":0.0},"tax_amount":{"type":"number","minimum":0.0,"title":"Tax Amount","default":0.0},"total_amount":{"type":"number","minimum":0.0,"title":"Total Amount","default":0.0},"id":{"type":"integer","title":"Id"},"purchase_bill_id":{"type":"integer","title":"Purchase Bill Id"}},"type":"object","required":["name","id","purchase_bill_id"],"title":"PurchaseBillItem"},"PurchaseBillItemCreate":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","minimum":0.0,"title":"Quantity","default":1.0},"unit":{"type":"string","maxLength":50,"title":"Unit","default":"PCS"},"price":{"type":"number","minimum":0.0,"title":"Price","default":0.0},"tax_rate":{"type":"number","minimum":0.0,"title":"Tax Rate","default":18.0},"taxable_amount":{"type":"number","minimum":0.0,"title":"Taxable Amount","default":0.0},"tax_amount":{"type":"number","minimum":0.0,"title":"Tax Amount","default":0.0},"total_amount":{"type":"number","minimum":0.0,"title":"Total Amount","default":0.0}},"type":"object","required":["name"],"title":"PurchaseBillItemCreate"},"PurchaseBillOCRRequest":{"properties":{"base64_image":{"type":"string","title":"Base64 Image"},"mime_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mime Type","default":"image/jpeg"}},"type":"object","required":["base64_image"],"title":"PurchaseBillOCRRequest"},"PurchaseBillParseRequest":{"properties":{"message":{"type":"string","maxLength":100000,"title":"Message"},"vendors":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Vendors","default":[]},"products":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Products","default":[]}},"type":"object","required":["message"],"title":"PurchaseBillParseRequest"},"PurchaseBillUpdate":{"properties":{"vendor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Vendor Id"},"vendor_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Name"},"vendor_gstin":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Gstin"},"vendor_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Address"},"bill_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bill Number"},"vendor_invoice_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vendor Invoice Number"},"bill_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Bill Date"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"subtotal":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Subtotal"},"taxable_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Taxable Amount"},"cgst":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cgst"},"sgst":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sgst"},"igst":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Igst"},"tax_amount":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Tax Amount"},"grand_total":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Grand Total"},"payment_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Status"},"amount_paid":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Amount Paid"},"payment_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Mode"},"itc_eligibility":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Itc Eligibility"},"is_rcm":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Rcm"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"receipt_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt Image Url"},"items":{"anyOf":[{"items":{"$ref":"#/components/schemas/PurchaseBillItemCreate"},"type":"array"},{"type":"null"}],"title":"Items"}},"type":"object","title":"PurchaseBillUpdate"},"PurchaseStatsResponse":{"properties":{"total_purchases":{"type":"number","title":"Total Purchases"},"total_count":{"type":"integer","title":"Total Count"},"total_itc_claimed":{"type":"number","title":"Total Itc Claimed"},"capital_goods_itc":{"type":"number","title":"Capital Goods Itc"},"pending_vendor_dues":{"type":"number","title":"Pending Vendor Dues"},"active_vendors":{"type":"integer","title":"Active Vendors"}},"type":"object","required":["total_purchases","total_count","total_itc_claimed","capital_goods_itc","pending_vendor_dues","active_vendors"],"title":"PurchaseStatsResponse"},"Quotation":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount"},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/QuotationStatusEnum","default":"Estimated"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until"},"discount":{"type":"number","title":"Discount","default":0.0},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"advance_amount":{"type":"number","title":"Advance Amount","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"image_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Image Url"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"items":{"items":{"$ref":"#/components/schemas/QuotationItem"},"type":"array","title":"Items","default":[]}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","tax_amount","grand_total","id","business_id"],"title":"Quotation"},"QuotationCreate":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"invoice_number":{"type":"string","maxLength":16,"title":"Invoice Number"},"invoice_date":{"type":"string","format":"date-time","title":"Invoice Date"},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount"},"grand_total":{"type":"number","title":"Grand Total"},"payment_status":{"$ref":"#/components/schemas/QuotationStatusEnum","default":"Estimated"},"amount_paid":{"type":"number","title":"Amount Paid","default":0.0},"valid_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Valid Until"},"discount":{"type":"number","title":"Discount","default":0.0},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"advance_amount":{"type":"number","title":"Advance Amount","default":0.0},"amount_in_words":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Amount In Words"},"image_url":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Image Url"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"share_token":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Share Token"},"items":{"items":{"$ref":"#/components/schemas/QuotationItemBase"},"type":"array","maxItems":50,"minItems":1,"title":"Items"}},"type":"object","required":["customer_name","invoice_number","invoice_date","total_amount","tax_amount","grand_total","items"],"title":"QuotationCreate"},"QuotationItem":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0},"id":{"type":"integer","title":"Id"},"quotation_id":{"type":"integer","title":"Quotation Id"}},"type":"object","required":["name","quantity","price","tax_rate","amount","id","quotation_id"],"title":"QuotationItem"},"QuotationItemBase":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0}},"type":"object","required":["name","quantity","price","tax_rate","amount"],"title":"QuotationItemBase"},"QuotationPagination":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Quotation"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"QuotationPagination"},"QuotationStatusEnum":{"type":"string","enum":["Estimated","Accepted","Rejected","Invoiced"],"title":"QuotationStatusEnum"},"RecurringInvoice":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"frequency":{"type":"string","title":"Frequency","default":"monthly"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"is_active":{"type":"boolean","title":"Is Active","default":true},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount","default":0.0},"grand_total":{"type":"number","title":"Grand Total"},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"last_generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Generated At"},"next_generation_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Generation Date"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"items":{"items":{"$ref":"#/components/schemas/RecurringInvoiceItem"},"type":"array","title":"Items","default":[]}},"type":"object","required":["customer_name","start_date","total_amount","grand_total","id","business_id"],"title":"RecurringInvoice"},"RecurringInvoiceCreate":{"properties":{"customer_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Customer Id"},"customer_name":{"type":"string","maxLength":255,"title":"Customer Name"},"customer_gst":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Gst"},"customer_address":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Customer Address"},"customer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Phone"},"customer_email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Customer Email"},"frequency":{"type":"string","title":"Frequency","default":"monthly"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"},"is_active":{"type":"boolean","title":"Is Active","default":true},"total_amount":{"type":"number","title":"Total Amount"},"tax_amount":{"type":"number","title":"Tax Amount","default":0.0},"grand_total":{"type":"number","title":"Grand Total"},"other_charges":{"type":"number","title":"Other Charges","default":0.0},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"},"items":{"items":{"$ref":"#/components/schemas/RecurringInvoiceItemBase"},"type":"array","maxItems":20,"minItems":1,"title":"Items"}},"type":"object","required":["customer_name","start_date","total_amount","grand_total","items"],"title":"RecurringInvoiceCreate"},"RecurringInvoiceItem":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0},"id":{"type":"integer","title":"Id"},"recurring_invoice_id":{"type":"integer","title":"Recurring Invoice Id"}},"type":"object","required":["name","quantity","price","tax_rate","amount","id","recurring_invoice_id"],"title":"RecurringInvoiceItem"},"RecurringInvoiceItemBase":{"properties":{"product_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Product Id"},"name":{"type":"string","maxLength":255,"title":"Name"},"hsnsac":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hsnsac"},"quantity":{"type":"number","title":"Quantity"},"price":{"type":"number","title":"Price"},"tax_rate":{"type":"number","title":"Tax Rate"},"unit":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Unit","default":"pcs"},"amount":{"type":"number","title":"Amount"},"gst_amount":{"type":"number","title":"Gst Amount","default":0.0},"total_amount":{"type":"number","title":"Total Amount","default":0.0}},"type":"object","required":["name","quantity","price","tax_rate","amount"],"title":"RecurringInvoiceItemBase"},"RecurringInvoicePagination":{"properties":{"items":{"items":{"$ref":"#/components/schemas/RecurringInvoice"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"size":{"type":"integer","title":"Size"},"pages":{"type":"integer","title":"Pages"}},"type":"object","required":["items","total","page","size","pages"],"title":"RecurringInvoicePagination"},"RecurringInvoiceStatusUpdate":{"properties":{"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["is_active"],"title":"RecurringInvoiceStatusUpdate"},"ReferralInvitedFriend":{"properties":{"name":{"type":"string","title":"Name"},"email_masked":{"type":"string","title":"Email Masked"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"qualified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qualified At"}},"type":"object","required":["name","email_masked","status","created_at"],"title":"ReferralInvitedFriend"},"ReferralStatusResponse":{"properties":{"is_program_active":{"type":"boolean","title":"Is Program Active"},"referral_code":{"type":"string","title":"Referral Code"},"referral_link":{"type":"string","title":"Referral Link"},"total_referrals_count":{"type":"integer","title":"Total Referrals Count"},"target_referrals_required":{"type":"integer","title":"Target Referrals Required"},"progress_percentage":{"type":"number","title":"Progress Percentage"},"discount_unlocked":{"type":"boolean","title":"Discount Unlocked"},"discount_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discount Code"},"discount_pct":{"type":"integer","title":"Discount Pct","default":0},"discount_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Discount Expires At"},"discount_redeemed":{"type":"boolean","title":"Discount Redeemed","default":false},"referred_friend_discount_pct":{"type":"integer","title":"Referred Friend Discount Pct","default":10},"qualification_rule":{"type":"string","title":"Qualification Rule","default":"first_invoice"},"invited_friends":{"items":{"$ref":"#/components/schemas/ReferralInvitedFriend"},"type":"array","title":"Invited Friends","default":[]}},"type":"object","required":["is_program_active","referral_code","referral_link","total_referrals_count","target_referrals_required","progress_percentage","discount_unlocked"],"title":"ReferralStatusResponse"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"ReminderRequest":{"properties":{"invoice_number":{"type":"string","title":"Invoice Number"},"customer_name":{"type":"string","title":"Customer Name"},"amount_due":{"type":"number","title":"Amount Due"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date"}},"type":"object","required":["invoice_number","customer_name","amount_due"],"title":"ReminderRequest"},"SignupRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"cf_turnstile_response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cf Turnstile Response"}},"type":"object","required":["email"],"title":"SignupRequest"},"StaffPortalPayslipCard":{"properties":{"id":{"type":"integer","title":"Id"},"payslip_number":{"type":"string","title":"Payslip Number"},"month":{"type":"integer","title":"Month"},"month_name":{"type":"string","title":"Month Name"},"year":{"type":"integer","title":"Year"},"working_days":{"type":"integer","title":"Working Days"},"present_days":{"type":"number","title":"Present Days"},"base_salary":{"type":"number","title":"Base Salary"},"earned_salary":{"type":"number","title":"Earned Salary"},"overtime_amount":{"type":"number","title":"Overtime Amount"},"bonus_amount":{"type":"number","title":"Bonus Amount"},"advance_deduction":{"type":"number","title":"Advance Deduction"},"other_deductions":{"type":"number","title":"Other Deductions"},"net_payable":{"type":"number","title":"Net Payable"},"payment_status":{"type":"string","title":"Payment Status"},"payment_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Date"},"payment_mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Mode"},"txn_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Txn Reference"},"pdf_url":{"type":"string","title":"Pdf Url"}},"type":"object","required":["id","payslip_number","month","month_name","year","working_days","present_days","base_salary","earned_salary","overtime_amount","bonus_amount","advance_deduction","other_deductions","net_payable","payment_status","pdf_url"],"title":"StaffPortalPayslipCard"},"StaffPortalSummaryResponse":{"properties":{"employee_info":{"additionalProperties":true,"type":"object","title":"Employee Info"},"business_info":{"additionalProperties":true,"type":"object","title":"Business Info"},"financial_summary":{"additionalProperties":true,"type":"object","title":"Financial Summary"},"payslips":{"items":{"$ref":"#/components/schemas/StaffPortalPayslipCard"},"type":"array","title":"Payslips"},"recent_advances":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recent Advances"},"recent_attendance":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recent Attendance"}},"type":"object","required":["employee_info","business_info","financial_summary","payslips","recent_advances","recent_attendance"],"title":"StaffPortalSummaryResponse"},"SubscribeRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"SubscribeRequest"},"SupportMessage":{"properties":{"content":{"type":"string","title":"Content"},"id":{"type":"integer","title":"Id"},"ticket_id":{"type":"integer","title":"Ticket Id"},"sender_email":{"type":"string","title":"Sender Email"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["content","id","ticket_id","sender_email","created_at"],"title":"SupportMessage"},"SupportTicket":{"properties":{"subject":{"type":"string","title":"Subject"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category","default":"General Inquiry"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority","default":"Low"},"id":{"type":"integer","title":"Id"},"user_id":{"type":"integer","title":"User Id"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"messages":{"items":{"$ref":"#/components/schemas/SupportMessage"},"type":"array","title":"Messages","default":[]}},"type":"object","required":["subject","id","user_id","status","created_at"],"title":"SupportTicket"},"SupportTicketCreate":{"properties":{"subject":{"type":"string","title":"Subject"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category","default":"General Inquiry"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority","default":"Low"}},"type":"object","required":["subject"],"title":"SupportTicketCreate"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type"},"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["access_token","token_type","refresh_token"],"title":"Token"},"ToolAISearchRequest":{"properties":{"query":{"type":"string","title":"Query"}},"type":"object","required":["query"],"title":"ToolAISearchRequest"},"User":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"id":{"type":"integer","title":"Id"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"profile_picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Picture"},"is_active":{"type":"boolean","title":"Is Active","default":true},"is_verified":{"type":"boolean","title":"Is Verified","default":false},"is_admin":{"type":"boolean","title":"Is Admin","default":false}},"type":"object","required":["email","id"],"title":"User"},"UserVerify":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"otp":{"type":"string","maxLength":6,"title":"Otp"}},"type":"object","required":["email","otp"],"title":"UserVerify"},"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"},"Vendor":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name"},"vendor_type":{"type":"string","maxLength":50,"title":"Vendor Type","default":"B2B"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"contact_person_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Person Name"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"id":{"type":"integer","title":"Id"},"business_id":{"type":"integer","title":"Business Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","id","business_id","created_at","updated_at"],"title":"Vendor"},"VendorCreate":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name"},"vendor_type":{"type":"string","maxLength":50,"title":"Vendor Type","default":"B2B"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"contact_person_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Person Name"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","required":["name"],"title":"VendorCreate"},"VendorUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"vendor_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Vendor Type"},"address_line1":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line1"},"address_line2":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Address Line2"},"city":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"State"},"state_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Code"},"pincode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pincode"},"gst_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Gst Number"},"pan_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pan Number"},"contact_person_name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Contact Person Name"},"email":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"}},"type":"object","title":"VendorUpdate"},"WebAuthnLoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"WebAuthnLoginRequest"},"WebAuthnVerifyRequest":{"properties":{"response":{"additionalProperties":true,"type":"object","title":"Response"}},"type":"object","required":["response"],"title":"WebAuthnVerifyRequest"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"auth/login"}}}}}}