{"openapi":"3.1.0","info":{"title":"InkCheck AI API","description":"AI-Powered Contract Analysis & PII Protection","version":"1.0.0"},"paths":{"/api/v2/score":{"post":{"tags":["Advanced Features"],"summary":"Score Contract","description":"Score a contract across 12 dimensions.\n\nReturns an overall score (0-100), grade (A-F), risk level,\nand detailed breakdown by category.","operationId":"score_contract_api_v2_score_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreContractRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScoreContractResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/score/compare":{"post":{"tags":["Advanced Features"],"summary":"Compare Contract Scores","description":"Compare scores of two contracts side-by-side.\n\nReturns which contract is better overall and by category.","operationId":"compare_contract_scores_api_v2_score_compare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractCompareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/clauses/extract":{"post":{"tags":["Advanced Features"],"summary":"Extract Clauses","description":"Extract and categorize all clauses from a contract.\n\nReturns a list of extracted clauses with their categories,\nkey terms, and important values.","operationId":"extract_clauses_api_v2_clauses_extract_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseAnalysisRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/clauses/analyze":{"post":{"tags":["Advanced Features"],"summary":"Analyze Clauses","description":"Perform deep analysis on all clauses in a contract.\n\nReturns favorability scores, risks, and recommendations\nfor each clause.","operationId":"analyze_clauses_api_v2_clauses_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseAnalysisRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/clauses/compare":{"post":{"tags":["Advanced Features"],"summary":"Compare Clauses","description":"Compare two versions of the same clause type.\n\nUseful for comparing your standard against a counterparty's version.","operationId":"compare_clauses_api_v2_clauses_compare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareClausesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/clauses/generate":{"post":{"summary":"Generate Clause","description":"Generate a custom clause using Claude AI. Requires auth.","operationId":"generate_clause_api_v2_clauses_generate_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseGenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/negotiate/strategy":{"post":{"summary":"Generate Negotiation Strategy","description":"Generate negotiation strategy using Claude AI - optimized for speed.","operationId":"generate_negotiation_strategy_api_v2_negotiate_strategy_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/api__NegotiationStrategyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/negotiate/counter-proposal":{"post":{"tags":["Advanced Features"],"summary":"Generate Counter Proposal","description":"Generate a counter-proposal for a specific clause.\n\nReturns proposed language with rationale and alternatives.","operationId":"generate_counter_proposal_api_v2_negotiate_counter_proposal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CounterProposalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/negotiate/redlines":{"post":{"tags":["Advanced Features"],"summary":"Suggest Redlines","description":"Get AI-suggested red-line edits for a contract.\n\nReturns specific edits with explanations and priorities.","operationId":"suggest_redlines_api_v2_negotiate_redlines_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedLineRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/negotiate/playbooks":{"get":{"tags":["Advanced Features"],"summary":"List Negotiation Playbooks","description":"List available negotiation playbooks.","operationId":"list_negotiation_playbooks_api_v2_negotiate_playbooks_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v2/chat/sessions":{"post":{"tags":["Advanced Features"],"summary":"Create Chat Session","description":"Create a new chat session for a contract.\n\nReturns session_id to use for subsequent messages.","operationId":"create_chat_session_api_v2_chat_sessions_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Advanced Features"],"summary":"List Chat Sessions","description":"List recent chat sessions for the user.","operationId":"list_chat_sessions_api_v2_chat_sessions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/chat/message":{"post":{"tags":["Advanced Features"],"summary":"Send Chat Message","description":"Send a message in a chat session.\n\nReturns the AI response and suggested follow-up questions.","operationId":"send_chat_message_api_v2_chat_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/chat/sessions/{session_id}/history":{"get":{"tags":["Advanced Features"],"summary":"Get Chat History","description":"Get message history for a chat session.","operationId":"get_chat_history_api_v2_chat_sessions__session_id__history_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/chat/quick-answer":{"post":{"tags":["Advanced Features"],"summary":"Quick Answer","description":"Get a quick answer without creating a session.\n\nGood for one-off questions.","operationId":"quick_answer_api_v2_chat_quick_answer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuickAnswerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/chat/explain":{"post":{"tags":["Advanced Features"],"summary":"Explain Clause","description":"Explain a clause in plain English.\n\nAdjusts explanation based on audience level.","operationId":"explain_clause_api_v2_chat_explain_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExplainClauseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations":{"get":{"tags":["Advanced Features"],"summary":"List Obligations","description":"List obligations with optional filters.","operationId":"list_obligations_api_v2_obligations_get","parameters":[{"name":"contract_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"responsible_party","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Responsible Party"}},{"name":"days_ahead","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Ahead"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations/summary":{"get":{"tags":["Advanced Features"],"summary":"Get Obligations Summary","description":"Get summary of obligations.","operationId":"get_obligations_summary_api_v2_obligations_summary_get","parameters":[{"name":"contract_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations/{obligation_id}":{"put":{"tags":["Advanced Features"],"summary":"Update Obligation","description":"Update an obligation's status, assignment, or notes.","operationId":"update_obligation_api_v2_obligations__obligation_id__put","parameters":[{"name":"obligation_id","in":"path","required":true,"schema":{"type":"string","title":"Obligation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObligationUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations/{obligation_id}/complete":{"post":{"tags":["Advanced Features"],"summary":"Complete Obligation","description":"Mark an obligation as completed.","operationId":"complete_obligation_api_v2_obligations__obligation_id__complete_post","parameters":[{"name":"obligation_id","in":"path","required":true,"schema":{"type":"string","title":"Obligation Id"}},{"name":"notes","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations/calendar":{"get":{"tags":["Advanced Features"],"summary":"Get Obligation Calendar","description":"Get obligations as calendar events.","operationId":"get_obligation_calendar_api_v2_obligations_calendar_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","title":"Start Date"}},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/compare/redline-html":{"post":{"tags":["Advanced Features"],"summary":"Get Redline Html","description":"Generate HTML with visual redline markup.\n\nReturns HTML showing deletions (strikethrough red) and\nadditions (underline green).","operationId":"get_redline_html_api_v2_compare_redline_html_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractCompareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/compare/report":{"post":{"tags":["Advanced Features"],"summary":"Get Comparison Report","description":"Generate a markdown comparison report.","operationId":"get_comparison_report_api_v2_compare_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractCompareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/analytics/dashboard":{"get":{"tags":["Advanced Features"],"summary":"Get Analytics Dashboard","description":"Get analytics dashboard data for the user.","operationId":"get_analytics_dashboard_api_v2_analytics_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v2/features":{"get":{"tags":["Advanced Features"],"summary":"List Advanced Features","description":"List all available advanced features.","operationId":"list_advanced_features_api_v2_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/usage/check":{"post":{"summary":"Check Usage","description":"Check if visitor can perform an analysis.","operationId":"check_usage_api_usage_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/usage/record":{"post":{"summary":"Record Analysis","description":"Record an analysis for a visitor.","operationId":"record_analysis_api_usage_record_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsageCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/usage/register-email":{"post":{"summary":"Register Visitor Email","description":"Register email for a visitor to unlock more analyses.","operationId":"register_visitor_email_api_usage_register_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/usage/status":{"get":{"summary":"Get Usage Status","description":"Get current usage status for a visitor.","operationId":"get_usage_status_api_usage_status_get","parameters":[{"name":"fingerprint","in":"query","required":true,"schema":{"type":"string","title":"Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/attribution/touch":{"post":{"summary":"Attribution Touch","description":"Record marketing touchpoints for attribution (AI referrer, UTM, etc.).","operationId":"attribution_touch_api_attribution_touch_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/credits/purchase":{"post":{"summary":"Purchase Credits","description":"Create Stripe checkout session for one-time credit purchase.","operationId":"purchase_credits_api_credits_purchase_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditPurchaseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/credits/balance":{"post":{"summary":"Get Credit Balance","description":"Get credit balance for a user (by fingerprint or email).\nIf API key provided, enforces that email matches authenticated user.\nIf no API key, allows fingerprint-only balance checks (for anonymous credit buyers).","operationId":"get_credit_balance_api_credits_balance_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalanceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/credits/balance/{fingerprint}":{"get":{"summary":"Get Credit Balance Simple","description":"Simple GET endpoint for credit balance. Requires auth.","operationId":"get_credit_balance_simple_api_credits_balance__fingerprint__get","parameters":[{"name":"fingerprint","in":"path","required":true,"schema":{"type":"string","title":"Fingerprint"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/credits/products":{"get":{"summary":"Get Credit Products","description":"Get available credit products and prices.","operationId":"get_credit_products_api_credits_products_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/user/contracts/save":{"post":{"summary":"Save User Contracts Endpoint","description":"Save user's contracts to server (PostgreSQL or file).","operationId":"save_user_contracts_endpoint_api_user_contracts_save_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/contracts/load":{"post":{"summary":"Load User Contracts Endpoint","description":"Load user's contracts from server (PostgreSQL or file).","operationId":"load_user_contracts_endpoint_api_user_contracts_load_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetContractsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/data/save":{"post":{"summary":"Save User Data Endpoint","description":"Save user's stats, activity, and achievements to server.","operationId":"save_user_data_endpoint_api_user_data_save_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDataSaveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/data/load":{"post":{"summary":"Load User Data Endpoint","description":"Load user's stats, activity, and achievements from server.","operationId":"load_user_data_endpoint_api_user_data_load_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserDataLoadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/obligations/extract":{"post":{"summary":"Extract Obligations","description":"Extract obligations from contract text using Claude AI. Paid plans only.","operationId":"extract_obligations_api_v2_obligations_extract_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/negotiate/chat":{"post":{"summary":"Negotiate Chat","description":"Chat-based negotiation advisor using Claude AI.","operationId":"negotiate_chat_api_v2_negotiate_chat_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notify-admin":{"post":{"summary":"Notify Admin","description":"Send notification email to admin when API fails. Requires auth.","operationId":"notify_admin_api_notify_admin_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminNotifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/esign/send":{"post":{"summary":"Send Esign Request","description":"Send e-signature request email to signer. Requires Starter+ plan.","operationId":"send_esign_request_api_esign_send_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ESignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/save-prefs":{"post":{"summary":"Save Notification Prefs","description":"Save user notification preferences (PostgreSQL with in-memory fallback).","operationId":"save_notification_prefs_api_notifications_save_prefs_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPrefsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/prefs/{email}":{"get":{"summary":"Get Notification Prefs","description":"Get user notification preferences (PostgreSQL with in-memory fallback).","operationId":"get_notification_prefs_api_notifications_prefs__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/send-contract-alert":{"post":{"summary":"Send Contract Alert","description":"Send contract alert email to user. Requires auth.","operationId":"send_contract_alert_api_notifications_send_contract_alert_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractAlertRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/notifications/send-product-update":{"post":{"summary":"Send Product Update","description":"Send product update email to user. Requires auth.","operationId":"send_product_update_api_notifications_send_product_update_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/upload":{"post":{"summary":"Upload File","description":"Upload a file (PDF, DOCX, TXT) and extract text content.\nReturns the extracted text for use in the frontend.\nRequires either API key auth OR valid credits (via fingerprint).","operationId":"upload_file_upload_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}},{"name":"x-user-email","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Email"}},{"name":"x-onboarding","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Onboarding"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/ocr":{"post":{"summary":"Ocr Image","description":"OCR endpoint for mobile camera captures.\nUses Claude's vision capability to extract text from contract images.\nRequires API key or credits to prevent abuse.","operationId":"ocr_image_api_ocr_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_ocr_image_api_ocr_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Landing Page","description":"Serve InkCheck AI landing or DataWeaveAI parent portal by host.","operationId":"landing_page__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/portfolio":{"get":{"summary":"Portfolio Page","description":"Canonicalize portfolio route to root to avoid duplicate-content indexing.","operationId":"portfolio_page_portfolio_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/bundle":{"get":{"summary":"Bundle Landing","description":"Direct paid traffic to the portfolio bundle pricing section.","operationId":"bundle_landing_bundle_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/get-started":{"get":{"summary":"Get Started Page","description":"Serve user-friendly get started page.","operationId":"get_started_page_get_started_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/documentation":{"get":{"summary":"Documentation Page","description":"Serve branded documentation page.","operationId":"documentation_page_documentation_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/app":{"get":{"summary":"App Dashboard","description":"Serve the main app dashboard.","operationId":"app_dashboard_app_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/app/classic":{"get":{"summary":"App Dashboard Classic","description":"Serve the classic app dashboard.","operationId":"app_dashboard_classic_app_classic_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/payment-success":{"get":{"summary":"Payment Success Page","description":"Serve payment success page after Stripe checkout.","operationId":"payment_success_page_payment_success_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/terms":{"get":{"summary":"Terms Page","description":"Serve Terms of Service page.","operationId":"terms_page_terms_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/support":{"get":{"summary":"Support Page","description":"Serve Support page.","operationId":"support_page_support_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/privacy":{"get":{"summary":"Privacy Page","description":"Serve Privacy Policy page.","operationId":"privacy_page_privacy_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/about":{"get":{"summary":"About Page","description":"Serve About page.","operationId":"about_page_about_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/blog":{"get":{"summary":"Blog Page","description":"Serve host-specific blog index page.","operationId":"blog_page_blog_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/blog/{slug}":{"get":{"summary":"Blog Post Page","description":"Serve host-specific individual blog post.","operationId":"blog_post_page_blog__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"}}}}}}},"/careers":{"get":{"summary":"Careers Page","description":"Serve Careers page.","operationId":"careers_page_careers_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/status":{"get":{"summary":"Status Page","description":"Serve Status page.","operationId":"status_page_status_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/changelog":{"get":{"summary":"Changelog Page","description":"Serve Changelog page.","operationId":"changelog_page_changelog_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/templates":{"get":{"summary":"Templates Page","description":"Serve Templates page.","operationId":"templates_page_templates_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/security":{"get":{"summary":"Security Page","description":"Serve Security page.","operationId":"security_page_security_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/pricing":{"get":{"summary":"Pricing Redirect","description":"Redirect /pricing to homepage pricing section.","operationId":"pricing_redirect_pricing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/features":{"get":{"summary":"Features Redirect","description":"Redirect /features to homepage features section.","operationId":"features_redirect_features_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/demo":{"get":{"summary":"Demo Redirect","description":"Redirect /demo to homepage demo section.","operationId":"demo_redirect_demo_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/favicon.ico":{"get":{"summary":"Favicon","operationId":"favicon_favicon_ico_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/robots.txt":{"get":{"summary":"Robots Txt","operationId":"robots_txt_robots_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms.txt":{"get":{"summary":"Llms Txt","operationId":"llms_txt_llms_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms-full.txt":{"get":{"summary":"Llms Full Txt","operationId":"llms_full_txt_llms_full_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/llms-queries.txt":{"get":{"summary":"Llms Queries Txt","operationId":"llms_queries_txt_llms_queries_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/agent-offer.json":{"get":{"summary":"Agent Offer","operationId":"agent_offer__well_known_agent_offer_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/llm-discovery.json":{"get":{"summary":"Llm Discovery","operationId":"llm_discovery__well_known_llm_discovery_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/.well-known/ai-plugin.json":{"get":{"summary":"Ai Plugin","operationId":"ai_plugin__well_known_ai_plugin_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/v1/mcp/tools":{"get":{"summary":"Mcp Tools","operationId":"mcp_tools_v1_mcp_tools_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/sitemap.xml":{"get":{"summary":"Sitemap Xml","operationId":"sitemap_xml_sitemap_xml_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/indexnow-key.txt":{"get":{"summary":"Indexnow Key File","operationId":"indexnow_key_file_indexnow_key_txt_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/{indexnow_key}.txt":{"get":{"summary":"Indexnow Key Alias","operationId":"indexnow_key_alias__indexnow_key__txt_get","parameters":[{"name":"indexnow_key","in":"path","required":true,"schema":{"type":"string","title":"Indexnow Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health","description":"Health check endpoint.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api":{"get":{"summary":"Api Info","description":"API information.","operationId":"api_info_api_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/keys":{"post":{"summary":"Create Api Key","description":"Create a new API key for FREE tier only (signup).\nKey regeneration for existing users requires authentication via /api/keys/regenerate.","operationId":"create_api_key_api_keys_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/regenerate":{"post":{"summary":"Regenerate Api Key","description":"Regenerate API key for authenticated user. Revokes old key and creates new one\npreserving plan tier and usage data. Requires valid API key.","operationId":"regenerate_api_key_api_keys_regenerate_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/usage":{"get":{"summary":"Get Key Usage","description":"Get usage statistics for your API key.","operationId":"get_key_usage_api_keys_usage_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/limits":{"get":{"summary":"Get Plan Limits","description":"Get rate limits for each plan tier.","operationId":"get_plan_limits_api_keys_limits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/keys/plan":{"get":{"summary":"Get User Plan","description":"Get the authenticated user's current plan tier. Requires auth.\n\nOnly returns plan info for the user who owns the API key — cannot query\nother users' plans.","operationId":"get_user_plan_api_keys_plan_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/plan-by-email":{"get":{"summary":"Get Plan By Email","description":"Get plan tier by email. Used during login when API key is not available.\nReturns minimal info — just the plan name, no sensitive data.","operationId":"get_plan_by_email_api_keys_plan_by_email_get","parameters":[{"name":"email","in":"query","required":true,"schema":{"type":"string","title":"Email"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/detect-pii":{"post":{"summary":"Detect Pii","description":"Detect PII in text.\n\nFree: Works without API key (limited to 10/day by IP)\nWith API key: Uses your plan limits","operationId":"detect_pii_detect_pii_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PIIRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PIIResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/playbooks":{"get":{"summary":"Get Playbooks","description":"Get all available playbooks. Requires auth.","operationId":"get_playbooks_api_playbooks_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/playbooks/{playbook_id}":{"get":{"summary":"Get Playbook","description":"Get a specific playbook by ID. Requires auth.","operationId":"get_playbook_api_playbooks__playbook_id__get","parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze-contract":{"post":{"summary":"Analyze Contract Endpoint","description":"Full AI-powered contract analysis.\n\nRequires API key OR valid credits (via fingerprint) for credit-only users.\n\nExtracts:\n- Parties and their roles\n- Key dates (effective, expiration, renewal)\n- Financial terms (value, payment terms)\n- Obligations for each party\n- Key clauses (termination, confidentiality, liability)\n- Risks and red flags\n- Missing standard clauses\n- All PII with masked values\n\nOptional: Pass playbook_id to apply playbook rules.","operationId":"analyze_contract_endpoint_analyze_contract_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}},{"name":"x-user-email","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Email"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/score/clause":{"post":{"summary":"Score Single Clause","description":"Score a single contract clause against market benchmarks.\n\nReturns risk score, matched patterns, and negotiation recommendations.\n\nThis is InkCheck AI's proprietary clause intelligence - our competitive moat.","operationId":"score_single_clause_api_score_clause_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseScoreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/score/contract":{"post":{"summary":"Score Full Contract","description":"Score an entire contract with comprehensive risk analysis.\n\nAnalyzes all major clause categories and provides:\n- Overall risk score (-1 to 1)\n- Risk level (low, moderate, elevated, high)\n- Category-by-category breakdown\n- Critical issues identified\n- Negotiation priorities\n- Benchmark comparison","operationId":"score_full_contract_api_score_contract_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractScoreRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/benchmark/clause":{"post":{"summary":"Benchmark Clause","description":"Compare a clause against market benchmarks. Requires Starter plan or higher.\n\nReturns:\n- Percentile ranking (0-100)\n- Position (above_market, market_standard, below_market)\n- Reference templates for comparison","operationId":"benchmark_clause_api_benchmark_clause_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BenchmarkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/negotiation/playbook":{"post":{"summary":"Get Negotiation Playbook","description":"Get negotiation playbook for a specific clause category.\n\nReturns:\n- Leverage points to use in negotiation\n- Common vendor pushback and counter-arguments\n- Industry-specific notes\n- Target score to aim for","operationId":"get_negotiation_playbook_api_negotiation_playbook_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationPlaybookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/patterns/categories":{"get":{"summary":"Get Pattern Categories","description":"Get list of all clause categories with pattern intelligence.","operationId":"get_pattern_categories_api_patterns_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/analyze-contract/file":{"post":{"summary":"Analyze Contract File","description":"Analyze a contract from uploaded file. Requires auth.\n\nSupported formats:\n- PDF (.pdf)\n- Word documents (.docx)\n- Images (.jpg, .jpeg, .png, .gif, .webp)\n- Plain text (.txt)","operationId":"analyze_contract_file_analyze_contract_file_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_contract_file_analyze_contract_file_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/chat":{"post":{"summary":"Chat About Contract","description":"Ask questions about a contract using AI.\n\nRequires Professional plan. This is a premium AI-powered chat feature.","operationId":"chat_about_contract_chat_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/custom-search":{"post":{"summary":"Custom Ai Search","description":"Custom AI Search - Search for anything within contracts using natural language.\n\nThis is a Professional-only feature that allows you to:\n- Search single or multiple contracts with natural language queries\n- Find specific clauses, terms, risks, or any custom criteria\n- Get AI-powered analysis with confidence scores\n\nExamples:\n- \"Find all liability caps and their amounts\"\n- \"Show me termination clauses with less than 30 days notice\"\n- \"Identify auto-renewal provisions\"\n- \"What are the payment terms?\"","operationId":"custom_ai_search_custom_search_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}},{"name":"x-user-email","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Email"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomSearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze-contract/batch":{"post":{"summary":"Analyze Contracts Batch","description":"Analyze multiple contracts in a single request.\n\n- Maximum 50 contracts per batch\n- Each contract counts against your usage limit\n- Results include success/failure status for each\n\nRequires Professional plan or higher.","operationId":"analyze_contracts_batch_analyze_contract_batch_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/analyze-contract/batch/files":{"post":{"summary":"Analyze Files Batch","description":"Analyze multiple uploaded files in a single request.\n\n- Maximum 50 files per batch\n- Supports PDF, DOCX, TXT, and images\n- Parallel processing for speed\n- Each file counts against your usage limit\n\nRequires Professional plan or higher.","operationId":"analyze_files_batch_analyze_contract_batch_files_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_files_batch_analyze_contract_batch_files_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/templates":{"get":{"summary":"List Api Templates","description":"List all available contract templates with fields for form generation.\nShows which templates are available based on user's plan.","operationId":"list_api_templates_api_templates_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/templates/{template_id}":{"get":{"summary":"Get Api Template","description":"Get a specific template by ID with all fields.\nReturns 403 if user's plan doesn't have access.","operationId":"get_api_template_api_templates__template_id__get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/templates/generate":{"post":{"summary":"Generate Api Template","description":"Generate a contract from a template with provided values.","operationId":"generate_api_template_api_templates_generate_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateGenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/templates/{template_id}/download":{"get":{"summary":"Download Template","description":"Download a template as a text file.","operationId":"download_template_api_templates__template_id__download_get","parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/manual":{"post":{"summary":"Add Manual Contract","description":"Manually add a contract without analysis.\nUseful for adding existing/old contracts to your repository.","operationId":"add_manual_contract_api_contracts_manual_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts":{"post":{"summary":"Save Contract","description":"Save an analyzed contract to your repository.\n\nRequires Starter plan or higher.","operationId":"save_contract_api_contracts_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SaveContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Contracts","description":"List your saved contracts.","operationId":"list_contracts_api_contracts_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"contract_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Type"}},{"name":"risk_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/stats":{"get":{"summary":"Get Contract Stats","description":"Get contract statistics and insights.","operationId":"get_contract_stats_api_contracts_stats_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/expiring":{"get":{"summary":"Get Expiring Contracts","description":"Get contracts expiring within the specified number of days.","operationId":"get_expiring_contracts_api_contracts_expiring_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/renewals":{"get":{"summary":"Get Renewal Reminders","description":"Get contracts with renewal deadlines in the next 7 days.","operationId":"get_renewal_reminders_api_contracts_renewals_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/dashboard":{"get":{"summary":"Get Contracts Dashboard","description":"Get a dashboard summary of your contracts.","operationId":"get_contracts_dashboard_api_contracts_dashboard_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contracts/{contract_id}":{"get":{"summary":"Get Contract","description":"Get a specific contract by ID.","operationId":"get_contract_api_contracts__contract_id__get","parameters":[{"name":"contract_id","in":"path","required":true,"schema":{"type":"string","title":"Contract Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Contract","description":"Delete a contract from your repository.","operationId":"delete_contract_api_contracts__contract_id__delete","parameters":[{"name":"contract_id","in":"path","required":true,"schema":{"type":"string","title":"Contract Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/extract":{"post":{"summary":"Extract Quick","description":"Quick extraction of key fields (faster, less detailed).\n\nGood for high-volume processing where you just need basics.","operationId":"extract_quick_extract_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stats":{"get":{"summary":"Get Stats","description":"Get API usage statistics.","operationId":"get_stats_stats_get","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit/logs":{"get":{"summary":"Get Audit Logs","description":"Get audit logs for your account.\n\nShows all API activity including:\n- Contract analyses\n- PII detection requests\n- Chat interactions\n- File uploads\n\nRequired for HIPAA/SOC2 compliance.","operationId":"get_audit_logs_api_audit_logs_get","parameters":[{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/audit/summary":{"get":{"summary":"Get Audit Summary","description":"Get audit summary statistics for your account.\n\nReturns aggregate statistics like:\n- Total requests\n- Average response time\n- Error count","operationId":"get_audit_summary_api_audit_summary_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Days"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signatures/providers":{"get":{"summary":"Get Signature Providers","description":"Get available e-signature providers.","operationId":"get_signature_providers_api_signatures_providers_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signatures":{"post":{"summary":"Create Signature Request","description":"Create a new e-signature request.\n\nSupports internal signing, DocuSign, and PandaDoc.","operationId":"create_signature_request_api_signatures_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignatureCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Signature Requests","description":"List your signature requests.","operationId":"list_signature_requests_api_signatures_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signatures/{request_id}/send":{"post":{"summary":"Send Signature Request","description":"Send a signature request to signers.","operationId":"send_signature_request_api_signatures__request_id__send_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/signatures/{request_id}":{"get":{"summary":"Get Signature Request","description":"Get details of a signature request.","operationId":"get_signature_request_api_signatures__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sign/{access_token}":{"get":{"summary":"Signing Page","description":"Serve the signing page.","operationId":"signing_page_sign__access_token__get","parameters":[{"name":"access_token","in":"path","required":true,"schema":{"type":"string","title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/sign":{"get":{"summary":"Signing Page Query","description":"Serve the signing page for query-param token links (from e-sign emails).","operationId":"signing_page_query_sign_get","parameters":[{"name":"token","in":"query","required":false,"schema":{"type":"string","default":"","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sign/token/{token_payload}":{"get":{"summary":"Get Token Signing Info","description":"Get document info for quick e-sign token (from email link).","operationId":"get_token_signing_info_api_sign_token__token_payload__get","parameters":[{"name":"token_payload","in":"path","required":true,"schema":{"type":"string","title":"Token Payload"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Sign Token Document","description":"Sign a document using quick e-sign HMAC token.","operationId":"sign_token_document_api_sign_token__token_payload__post","parameters":[{"name":"token_payload","in":"path","required":true,"schema":{"type":"string","title":"Token Payload"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignDocumentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/sign/{access_token}":{"get":{"summary":"Get Signing Info","description":"Get document info for signing (no auth - uses access token).","operationId":"get_signing_info_api_sign__access_token__get","parameters":[{"name":"access_token","in":"path","required":true,"schema":{"type":"string","title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"summary":"Sign Document","description":"Sign a document (no auth - uses access token).","operationId":"sign_document_api_sign__access_token__post","parameters":[{"name":"access_token","in":"path","required":true,"schema":{"type":"string","title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignDocumentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows":{"post":{"summary":"Create Workflow","description":"Create a new approval workflow.\n\nRoutes contract through multiple approvers in sequence.","operationId":"create_workflow_api_workflows_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Workflows","description":"List workflows you created or need to approve.","operationId":"list_workflows_api_workflows_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"role","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Role"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows/pending":{"get":{"summary":"Get Pending Approvals","description":"Get approvals waiting for you.","operationId":"get_pending_approvals_api_workflows_pending_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows/templates":{"post":{"summary":"Create Workflow Template","description":"Create a reusable workflow template.","operationId":"create_workflow_template_api_workflows_templates_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowTemplateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Workflow Templates","description":"List your workflow templates.","operationId":"list_workflow_templates_api_workflows_templates_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows/{workflow_id}":{"get":{"summary":"Get Workflow","description":"Get workflow details with all steps.","operationId":"get_workflow_api_workflows__workflow_id__get","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows/{workflow_id}/approve":{"post":{"summary":"Approve Workflow Step","description":"Approve current step in workflow.","operationId":"approve_workflow_step_api_workflows__workflow_id__approve_post","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workflows/{workflow_id}/reject":{"post":{"summary":"Reject Workflow Step","description":"Reject current step (rejects entire workflow).","operationId":"reject_workflow_step_api_workflows__workflow_id__reject_post","parameters":[{"name":"workflow_id","in":"path","required":true,"schema":{"type":"string","title":"Workflow Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/compare":{"post":{"summary":"Compare Contracts Ai","description":"AI-powered comparison of two contract versions.\n\nUses Claude to identify meaningful differences, assess significance,\nand determine which party each change favors.","operationId":"compare_contracts_ai_api_v2_compare_post","parameters":[{"name":"x-fingerprint","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Fingerprint"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompareContractsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/compare":{"post":{"summary":"Compare Documents","description":"Compare two versions of a document.\n\nReturns list of changes between original and modified.","operationId":"compare_documents_api_redline_compare_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedlineCompareRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/suggest":{"post":{"summary":"Suggest Redlines","description":"Get AI-powered redline suggestions.\n\nAnalyzes contract and suggests changes based on party role.","operationId":"suggest_redlines_api_redline_suggest_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedlineSuggestRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/sessions":{"post":{"summary":"Create Redline Session","description":"Create a new redlining session to track changes.","operationId":"create_redline_session_api_redline_sessions_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedlineSessionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"summary":"List Redline Sessions","description":"List your redline sessions.","operationId":"list_redline_sessions_api_redline_sessions_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/sessions/{session_id}":{"get":{"summary":"Get Redline Session","description":"Get redline session with all changes.","operationId":"get_redline_session_api_redline_sessions__session_id__get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/sessions/{session_id}/document":{"get":{"summary":"Get Redlined Document","description":"Get redlined document with changes highlighted.","operationId":"get_redlined_document_api_redline_sessions__session_id__document_get","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"html","title":"Format"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/sessions/{session_id}/accept":{"post":{"summary":"Accept Redline Change","description":"Accept a suggested change.","operationId":"accept_redline_change_api_redline_sessions__session_id__accept_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/redline/sessions/{session_id}/reject":{"post":{"summary":"Reject Redline Change","description":"Reject a suggested change.","operationId":"reject_redline_change_api_redline_sessions__session_id__reject_post","parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangeActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/r":{"get":{"summary":"Portal Redirect","description":"Redirect portal clickthroughs with product-level attribution tags.","operationId":"portal_redirect_r_get","parameters":[{"name":"slug","in":"query","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"campaign","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Campaign"}},{"name":"medium","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Medium"}},{"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"}}}}}}},"/api/portal/listing-request":{"post":{"summary":"Submit Portal Listing","description":"Collect third-party AI tool listing requests for manual review.","operationId":"submit_portal_listing_api_portal_listing_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalListingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/portal/setup-checkout":{"post":{"summary":"Create Portal Setup Checkout","description":"Create Stripe checkout session for the $5,000 DFY setup offer.","operationId":"create_portal_setup_checkout_api_portal_setup_checkout_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalSetupCheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/portal/setup-checkout-link":{"get":{"summary":"Portal Setup Checkout Link","description":"Create a fresh DFY setup checkout URL and redirect.","operationId":"portal_setup_checkout_link_api_portal_setup_checkout_link_get","parameters":[{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/subscribe":{"post":{"summary":"Subscribe To Plan","description":"Subscribe to a plan. Creates Stripe checkout session and returns URL.\nThis is the endpoint called from the frontend upgrade modal.","operationId":"subscribe_to_plan_api_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"}}}}}}},"/api/checkout":{"post":{"summary":"Create Checkout Session","description":"Create a Stripe checkout session for subscription. Works with or without API key.","operationId":"create_checkout_session_api_checkout_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/checkout-link":{"get":{"summary":"Checkout Link Redirect","description":"Create a fresh Stripe checkout session and redirect immediately.\nThis avoids stale/expired one-time checkout URLs in email clients.","operationId":"checkout_link_redirect_api_checkout_link_get","parameters":[{"name":"plan","in":"query","required":true,"schema":{"type":"string","title":"Plan"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/checkout":{"post":{"summary":"Create Bundle Checkout","description":"Create Stripe checkout session for SMB Full Access Bundle.","operationId":"create_bundle_checkout_api_bundle_checkout_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleCheckoutRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/checkout-link":{"get":{"summary":"Bundle Checkout Link Redirect","description":"Create a fresh SMB bundle checkout link and redirect immediately.","operationId":"bundle_checkout_link_redirect_api_bundle_checkout_link_get","parameters":[{"name":"plan","in":"query","required":true,"schema":{"type":"string","title":"Plan"}},{"name":"email","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},{"name":"include_onboarding","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Include Onboarding"}},{"name":"billing_cycle","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"monthly","title":"Billing Cycle"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/status":{"get":{"summary":"Get Bundle Status","description":"Return SMB bundle status for owner/member account.","operationId":"get_bundle_status_api_bundle_status_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/consume":{"post":{"summary":"Consume Bundle Credit","description":"Consume bundle credits for a specific tool action.","operationId":"consume_bundle_credit_api_bundle_consume_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleConsumeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/team":{"get":{"summary":"Get Bundle Team","description":"List bundle team members for owner account.","operationId":"get_bundle_team_api_bundle_team_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/team/add":{"post":{"summary":"Add Bundle Team Member","description":"Add or reactivate a bundle team member (counts against shared seats).","operationId":"add_bundle_team_member_api_bundle_team_add_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleTeamMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/team/remove":{"post":{"summary":"Remove Bundle Team Member","description":"Deactivate a bundle team member.","operationId":"remove_bundle_team_member_api_bundle_team_remove_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleTeamMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/universal/provision":{"post":{"summary":"Provision Bundle Universal Account","description":"Provision bundle access across connected products from one email.","operationId":"provision_bundle_universal_account_api_bundle_universal_provision_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleUniversalProvisionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bundle/internal/consume-by-email":{"post":{"summary":"Consume Bundle Credit By Email","description":"Internal bridge endpoint for connected product services.","operationId":"consume_bundle_credit_by_email_api_bundle_internal_consume_by_email_post","parameters":[{"name":"X-Universal-Provision-Key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Universal-Provision-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BundleBridgeConsumeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/webhooks/stripe":{"post":{"summary":"Stripe Webhook","description":"Handle Stripe webhook events.","operationId":"stripe_webhook_api_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/billing/verify-session":{"get":{"summary":"Verify Checkout Session","description":"Verify a Stripe checkout session and return plan/credit details.\nIf API key provided, validates session email matches the authenticated user.\nIf no API key (e.g. first-time buyer), returns basic verification without email.","operationId":"verify_checkout_session_api_billing_verify_session_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"x-api-key","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/credits/migrate":{"post":{"summary":"Migrate Credits","description":"Migrate credits from fingerprint to email when user signs up or logs in. Requires auth.\nUsers can only migrate credits to their own email.","operationId":"migrate_credits_api_credits_migrate_post","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/billing/portal":{"get":{"summary":"Get Billing Portal","description":"Get a link to the Stripe customer portal for managing subscription.","operationId":"get_billing_portal_api_billing_portal_get","parameters":[{"name":"x-api-key","in":"header","required":true,"schema":{"type":"string","title":"X-Api-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/addins/word/{filename}":{"get":{"summary":"Serve Word Addin","description":"Serve Word Add-in files.","operationId":"serve_word_addin_addins_word__filename__get","parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AdminNotifyRequest":{"properties":{"type":{"type":"string","title":"Type"},"feature":{"type":"string","title":"Feature"},"timestamp":{"type":"string","title":"Timestamp"},"user_email":{"type":"string","title":"User Email","default":"anonymous"},"message":{"type":"string","title":"Message","default":""}},"type":"object","required":["type","feature","timestamp"],"title":"AdminNotifyRequest"},"ApprovalActionRequest":{"properties":{"comments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comments"}},"type":"object","title":"ApprovalActionRequest"},"BatchItem":{"properties":{"index":{"type":"integer","title":"Index"},"success":{"type":"boolean","title":"Success"},"result":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Result"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["index","success"],"title":"BatchItem"},"BatchRequest":{"properties":{"contracts":{"items":{"type":"string"},"type":"array","title":"Contracts"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Options"}},"type":"object","required":["contracts"],"title":"BatchRequest"},"BatchResponse":{"properties":{"total":{"type":"integer","title":"Total"},"successful":{"type":"integer","title":"Successful"},"failed":{"type":"integer","title":"Failed"},"results":{"items":{"$ref":"#/components/schemas/BatchItem"},"type":"array","title":"Results"}},"type":"object","required":["total","successful","failed","results"],"title":"BatchResponse"},"BenchmarkRequest":{"properties":{"clause_text":{"type":"string","title":"Clause Text"},"category":{"type":"string","title":"Category"}},"type":"object","required":["clause_text","category"],"title":"BenchmarkRequest"},"Body_analyze_contract_file_analyze_contract_file_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_analyze_contract_file_analyze_contract_file_post"},"Body_analyze_files_batch_analyze_contract_batch_files_post":{"properties":{"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["files"],"title":"Body_analyze_files_batch_analyze_contract_batch_files_post"},"Body_ocr_image_api_ocr_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_ocr_image_api_ocr_post"},"Body_upload_file_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_file_upload_post"},"BundleBridgeConsumeRequest":{"properties":{"email":{"type":"string","title":"Email"},"tool_key":{"type":"string","maxLength":64,"minLength":2,"title":"Tool Key"},"units":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Units","default":1},"metadata":{"type":"object","title":"Metadata"}},"type":"object","required":["email","tool_key"],"title":"BundleBridgeConsumeRequest"},"BundleCheckoutRequest":{"properties":{"plan":{"type":"string","title":"Plan"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"include_onboarding":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Include Onboarding","default":false},"billing_cycle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Cycle","default":"monthly"}},"type":"object","required":["plan"],"title":"BundleCheckoutRequest"},"BundleConsumeRequest":{"properties":{"tool_key":{"type":"string","maxLength":64,"minLength":2,"title":"Tool Key"},"units":{"type":"integer","maximum":1000.0,"minimum":1.0,"title":"Units","default":1},"metadata":{"type":"object","title":"Metadata"}},"type":"object","required":["tool_key"],"title":"BundleConsumeRequest"},"BundleTeamMemberRequest":{"properties":{"member_email":{"type":"string","title":"Member Email"},"role":{"type":"string","title":"Role","default":"member"}},"type":"object","required":["member_email"],"title":"BundleTeamMemberRequest"},"BundleUniversalProvisionRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"BundleUniversalProvisionRequest"},"ChangeActionRequest":{"properties":{"change_id":{"type":"string","title":"Change Id"}},"type":"object","required":["change_id"],"title":"ChangeActionRequest"},"ChatCreateRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text"},"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"}},"type":"object","required":["contract_text"],"title":"ChatCreateRequest","description":"Request to create a chat session."},"ChatMessageRequest":{"properties":{"session_id":{"type":"string","maxLength":200,"minLength":1,"title":"Session Id"},"message":{"type":"string","maxLength":10000,"minLength":1,"title":"Message"}},"type":"object","required":["session_id","message"],"title":"ChatMessageRequest","description":"Request to send a chat message."},"ChatRequest":{"properties":{"contract_text":{"type":"string","title":"Contract Text"},"question":{"type":"string","title":"Question"},"conversation_history":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"Conversation History"}},"type":"object","required":["contract_text","question"],"title":"ChatRequest"},"ChatResponse":{"properties":{"answer":{"type":"string","title":"Answer"},"sources":{"items":{"type":"string"},"type":"array","title":"Sources"},"confidence":{"type":"number","title":"Confidence"}},"type":"object","required":["answer","sources","confidence"],"title":"ChatResponse"},"CheckoutRequest":{"properties":{"plan":{"type":"string","title":"Plan"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["plan"],"title":"CheckoutRequest"},"ClauseAnalysisRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text"},"party_role":{"type":"string","title":"Party Role","default":"buyer"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"}},"type":"object","required":["contract_text"],"title":"ClauseAnalysisRequest","description":"Request for clause analysis."},"ClauseGenerateRequest":{"properties":{"clause_type":{"type":"string","title":"Clause Type"},"favorability":{"type":"string","title":"Favorability","default":"balanced"},"requirements":{"type":"string","title":"Requirements","default":""}},"type":"object","required":["clause_type"],"title":"ClauseGenerateRequest"},"ClauseScoreRequest":{"properties":{"clause_text":{"type":"string","title":"Clause Text"},"category":{"type":"string","title":"Category"},"party_role":{"type":"string","title":"Party Role","default":"customer"}},"type":"object","required":["clause_text","category"],"title":"ClauseScoreRequest"},"CompareClausesRequest":{"properties":{"clause_a":{"type":"string","title":"Clause A","description":"First clause (your version)"},"clause_b":{"type":"string","title":"Clause B","description":"Second clause (their version)"},"clause_type":{"type":"string","title":"Clause Type","description":"Type: termination, liability, indemnification, etc."},"party_role":{"type":"string","title":"Party Role","default":"buyer"}},"type":"object","required":["clause_a","clause_b","clause_type"],"title":"CompareClausesRequest","description":"Request to compare two clauses."},"CompareContractsRequest":{"properties":{"contract_a":{"type":"string","title":"Contract A"},"contract_b":{"type":"string","title":"Contract B"}},"type":"object","required":["contract_a","contract_b"],"title":"CompareContractsRequest"},"ContractAlertRequest":{"properties":{"email":{"type":"string","title":"Email"},"contract_title":{"type":"string","title":"Contract Title"},"alert_type":{"type":"string","title":"Alert Type"},"due_date":{"type":"string","title":"Due Date"},"message":{"type":"string","title":"Message","default":""}},"type":"object","required":["email","contract_title","alert_type","due_date"],"title":"ContractAlertRequest"},"ContractCompareRequest":{"properties":{"contract_a":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract A","description":"First contract (original)"},"contract_b":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract B","description":"Second contract (modified)"},"party_role":{"type":"string","title":"Party Role","default":"buyer"},"label_a":{"type":"string","maxLength":100,"title":"Label A","default":"Original"},"label_b":{"type":"string","maxLength":100,"title":"Label B","default":"Modified"}},"type":"object","required":["contract_a","contract_b"],"title":"ContractCompareRequest","description":"Request to compare two contracts."},"ContractInput":{"properties":{"name":{"type":"string","title":"Name"},"text":{"type":"string","title":"Text"}},"type":"object","required":["name","text"],"title":"ContractInput"},"ContractRequest":{"properties":{"text":{"type":"string","title":"Text"},"options":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Options"},"playbook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook Id"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"is_onboarding":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Onboarding","default":false},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"contract_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Hash"}},"type":"object","required":["text"],"title":"ContractRequest"},"ContractScoreRequest":{"properties":{"contract_text":{"type":"string","title":"Contract Text"},"party_role":{"type":"string","title":"Party Role","default":"customer"}},"type":"object","required":["contract_text"],"title":"ContractScoreRequest"},"CounterProposalRequest":{"properties":{"original_clause":{"type":"string","maxLength":50000,"minLength":10,"title":"Original Clause"},"clause_type":{"type":"string","maxLength":100,"minLength":1,"title":"Clause Type"},"party_role":{"type":"string","title":"Party Role","default":"buyer"},"aggressiveness":{"type":"string","title":"Aggressiveness","description":"conservative, moderate, aggressive","default":"moderate"}},"type":"object","required":["original_clause","clause_type"],"title":"CounterProposalRequest","description":"Request to generate counter-proposal."},"CreditBalanceRequest":{"properties":{"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"CreditBalanceRequest"},"CreditPurchaseRequest":{"properties":{"product_type":{"type":"string","title":"Product Type"},"fingerprint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fingerprint"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","required":["product_type"],"title":"CreditPurchaseRequest"},"CustomSearchRequest":{"properties":{"query":{"type":"string","title":"Query"},"contracts":{"items":{"$ref":"#/components/schemas/ContractInput"},"type":"array","title":"Contracts"}},"type":"object","required":["query","contracts"],"title":"CustomSearchRequest"},"CustomSearchResponse":{"properties":{"query":{"type":"string","title":"Query"},"findings":{"items":{"$ref":"#/components/schemas/SearchFinding"},"type":"array","title":"Findings"},"contracts_searched":{"type":"integer","title":"Contracts Searched"}},"type":"object","required":["query","findings","contracts_searched"],"title":"CustomSearchResponse"},"ESignRequest":{"properties":{"signer_email":{"type":"string","title":"Signer Email"},"signer_name":{"type":"string","title":"Signer Name"},"contract_title":{"type":"string","title":"Contract Title"},"message":{"type":"string","title":"Message","default":""},"sender_email":{"type":"string","title":"Sender Email","default":"user@inkcheckai.com"}},"type":"object","required":["signer_email","signer_name","contract_title"],"title":"ESignRequest"},"ExplainClauseRequest":{"properties":{"clause_text":{"type":"string","maxLength":50000,"minLength":10,"title":"Clause Text"},"audience":{"type":"string","title":"Audience","description":"general, executive, legal","default":"general"}},"type":"object","required":["clause_text"],"title":"ExplainClauseRequest","description":"Request to explain a clause."},"GenerateClauseRequest":{"properties":{"clause_type":{"type":"string","title":"Clause Type","description":"Type of clause to generate"},"party_role":{"type":"string","title":"Party Role","default":"buyer"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"requirements":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Requirements"}},"type":"object","required":["clause_type"],"title":"GenerateClauseRequest","description":"Request to generate a new clause."},"GetContractsRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"GetContractsRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"KeyCreateRequest":{"properties":{"email":{"type":"string","title":"Email"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan","default":"free"}},"type":"object","required":["email"],"title":"KeyCreateRequest"},"KeyResponse":{"properties":{"api_key":{"type":"string","title":"Api Key"},"key_id":{"type":"string","title":"Key Id"},"plan":{"type":"string","title":"Plan"},"message":{"type":"string","title":"Message"}},"type":"object","required":["api_key","key_id","plan","message"],"title":"KeyResponse"},"ManualContractRequest":{"properties":{"title":{"type":"string","title":"Title"},"contract_type":{"type":"string","title":"Contract Type","default":"Other"},"parties":{"items":{"type":"string"},"type":"array","title":"Parties","default":[]},"effective_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective Date"},"expiration_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expiration Date"},"contract_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Value"},"payment_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Terms"},"governing_law":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Governing Law"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","required":["title"],"title":"ManualContractRequest","description":"Request to manually add a contract."},"NegotiationChatRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"title":"Contract Text"},"message":{"type":"string","maxLength":10000,"title":"Message"},"stance":{"type":"string","title":"Stance","default":"balanced_buyer"},"history":{"anyOf":[{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array"},{"type":"null"}],"title":"History"}},"type":"object","required":["contract_text","message"],"title":"NegotiationChatRequest"},"NegotiationPlaybookRequest":{"properties":{"category":{"type":"string","title":"Category"},"current_score":{"type":"number","title":"Current Score","default":0.0},"party_role":{"type":"string","title":"Party Role","default":"customer"}},"type":"object","required":["category"],"title":"NegotiationPlaybookRequest"},"NotificationPrefsRequest":{"properties":{"email":{"type":"string","title":"Email"},"prefs":{"type":"object","title":"Prefs"}},"type":"object","required":["email","prefs"],"title":"NotificationPrefsRequest"},"ObligationUpdateRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"due_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Due Date"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"}},"type":"object","title":"ObligationUpdateRequest","description":"Request to update an obligation."},"PIIRequest":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"PIIRequest"},"PIIResponse":{"properties":{"pii_found":{"items":{"type":"object"},"type":"array","title":"Pii Found"},"pii_types":{"items":{"type":"string"},"type":"array","title":"Pii Types"},"contains_pii":{"type":"boolean","title":"Contains Pii"},"risk_summary":{"type":"string","title":"Risk Summary"}},"type":"object","required":["pii_found","pii_types","contains_pii","risk_summary"],"title":"PIIResponse"},"PortalListingRequest":{"properties":{"tool_name":{"type":"string","maxLength":120,"minLength":2,"title":"Tool Name"},"tool_url":{"type":"string","maxLength":320,"minLength":10,"title":"Tool Url"},"category":{"type":"string","maxLength":80,"minLength":2,"title":"Category"},"description":{"type":"string","maxLength":1500,"minLength":20,"title":"Description"},"contact_email":{"type":"string","maxLength":120,"minLength":5,"title":"Contact Email"}},"type":"object","required":["tool_name","tool_url","category","description","contact_email"],"title":"PortalListingRequest"},"PortalSetupCheckoutRequest":{"properties":{"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"PortalSetupCheckoutRequest"},"ProductUpdateRequest":{"properties":{"email":{"type":"string","title":"Email"},"update_type":{"type":"string","title":"Update Type"},"subject":{"type":"string","title":"Subject"},"content":{"type":"string","title":"Content"}},"type":"object","required":["email","update_type","subject","content"],"title":"ProductUpdateRequest"},"QuickAnswerRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text"},"question":{"type":"string","title":"Question"}},"type":"object","required":["contract_text","question"],"title":"QuickAnswerRequest","description":"Request for quick answer without session."},"RedLineRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text"},"party_role":{"type":"string","title":"Party Role","default":"buyer"}},"type":"object","required":["contract_text"],"title":"RedLineRequest","description":"Request for red-line suggestions."},"RedlineCompareRequest":{"properties":{"original":{"type":"string","title":"Original"},"modified":{"type":"string","title":"Modified"}},"type":"object","required":["original","modified"],"title":"RedlineCompareRequest"},"RedlineSessionRequest":{"properties":{"document_name":{"type":"string","title":"Document Name"},"original_text":{"type":"string","title":"Original Text"},"modified_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified Text"}},"type":"object","required":["document_name","original_text"],"title":"RedlineSessionRequest"},"RedlineSuggestRequest":{"properties":{"text":{"type":"string","title":"Text"},"party_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Party Role","default":"buyer"},"playbook_rules":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Playbook Rules"}},"type":"object","required":["text"],"title":"RedlineSuggestRequest"},"RegisterEmailRequest":{"properties":{"fingerprint":{"type":"string","title":"Fingerprint"},"email":{"type":"string","title":"Email"}},"type":"object","required":["fingerprint","email"],"title":"RegisterEmailRequest"},"SaveContractRequest":{"properties":{"title":{"type":"string","title":"Title"},"analysis_result":{"type":"object","title":"Analysis Result"},"source_filename":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Filename"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","required":["title","analysis_result"],"title":"SaveContractRequest"},"ScoreContractRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text","description":"Contract text to score"},"party_role":{"type":"string","title":"Party Role","description":"Your role: buyer, seller, vendor, client","default":"buyer"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry","description":"Industry: saas, healthcare, financial, manufacturing"}},"type":"object","required":["contract_text"],"title":"ScoreContractRequest","description":"Request for contract scoring."},"ScoreContractResponse":{"properties":{"overall_score":{"type":"number","title":"Overall Score"},"overall_grade":{"type":"string","title":"Overall Grade"},"risk_level":{"type":"string","title":"Risk Level"},"strengths":{"items":{"type":"string"},"type":"array","title":"Strengths"},"weaknesses":{"items":{"type":"string"},"type":"array","title":"Weaknesses"},"deal_breakers":{"items":{"type":"string"},"type":"array","title":"Deal Breakers"},"quick_wins":{"items":{"type":"string"},"type":"array","title":"Quick Wins"},"executive_summary":{"type":"string","title":"Executive Summary"},"category_breakdown":{"items":{"type":"object"},"type":"array","title":"Category Breakdown"}},"type":"object","required":["overall_score","overall_grade","risk_level","strengths","weaknesses","deal_breakers","quick_wins","executive_summary","category_breakdown"],"title":"ScoreContractResponse","description":"Response for contract scoring."},"SearchFinding":{"properties":{"title":{"type":"string","title":"Title"},"excerpt":{"type":"string","title":"Excerpt"},"confidence":{"type":"integer","title":"Confidence"},"contract_name":{"type":"string","title":"Contract Name"},"section":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Section"}},"type":"object","required":["title","excerpt","confidence","contract_name"],"title":"SearchFinding"},"SignDocumentRequest":{"properties":{"signature_type":{"type":"string","title":"Signature Type"},"signature_value":{"type":"string","title":"Signature Value"}},"type":"object","required":["signature_type","signature_value"],"title":"SignDocumentRequest"},"SignatureCreateRequest":{"properties":{"document_name":{"type":"string","title":"Document Name"},"document_content":{"type":"string","title":"Document Content"},"signers":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Signers"},"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider","default":"internal"},"webhook_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webhook Url"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["document_name","document_content","signers"],"title":"SignatureCreateRequest"},"SubscribeRequest":{"properties":{"email":{"type":"string","title":"Email"},"plan":{"type":"string","title":"Plan"}},"type":"object","required":["email","plan"],"title":"SubscribeRequest"},"TemplateGenerateRequest":{"properties":{"template_id":{"type":"string","maxLength":200,"title":"Template Id"},"values":{"type":"object","title":"Values"}},"type":"object","required":["template_id","values"],"title":"TemplateGenerateRequest"},"UsageCheckRequest":{"properties":{"fingerprint":{"type":"string","title":"Fingerprint"},"is_demo":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Demo","default":false},"contract_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Hash"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"use_credits":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Use Credits","default":false}},"type":"object","required":["fingerprint"],"title":"UsageCheckRequest"},"UsageCheckResponse":{"properties":{"allowed":{"type":"boolean","title":"Allowed"},"is_demo":{"type":"boolean","title":"Is Demo"},"remaining":{"title":"Remaining"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"payment_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Payment Type"},"credits_available":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits Available","default":0}},"type":"object","required":["allowed","is_demo","remaining","reason"],"title":"UsageCheckResponse"},"UserContractRequest":{"properties":{"email":{"type":"string","title":"Email"},"contracts":{"items":{"type":"object"},"type":"array","title":"Contracts"}},"type":"object","required":["email","contracts"],"title":"UserContractRequest"},"UserDataLoadRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"UserDataLoadRequest"},"UserDataSaveRequest":{"properties":{"email":{"type":"string","title":"Email"},"stats":{"type":"object","title":"Stats","default":{}},"activity":{"items":{},"type":"array","title":"Activity","default":[]},"achievements":{"items":{},"type":"array","title":"Achievements","default":[]},"onboarding":{"items":{},"type":"array","title":"Onboarding","default":[]}},"type":"object","required":["email"],"title":"UserDataSaveRequest"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WorkflowCreateRequest":{"properties":{"contract_title":{"type":"string","title":"Contract Title"},"approvers":{"items":{"type":"object"},"type":"array","title":"Approvers"},"document_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Content"},"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"},"due_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Due Days","default":7}},"type":"object","required":["contract_title","approvers"],"title":"WorkflowCreateRequest"},"WorkflowTemplateRequest":{"properties":{"name":{"type":"string","title":"Name"},"steps":{"items":{"type":"object"},"type":"array","title":"Steps"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"contract_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Contract Types"}},"type":"object","required":["name","steps"],"title":"WorkflowTemplateRequest"},"api__NegotiationStrategyRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"title":"Contract Text"},"playbook":{"type":"string","title":"Playbook","default":"balanced_buyer"}},"type":"object","required":["contract_text"],"title":"NegotiationStrategyRequest"},"dataweave__advanced_api__NegotiationStrategyRequest":{"properties":{"contract_text":{"type":"string","maxLength":500000,"minLength":100,"title":"Contract Text"},"party_role":{"type":"string","title":"Party Role","default":"buyer"},"playbook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook","description":"Playbook: aggressive_buyer, balanced_buyer, risk_averse, vendor_friendly"},"batna":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Batna","description":"Best Alternative To Negotiated Agreement"}},"type":"object","required":["contract_text"],"title":"NegotiationStrategyRequest","description":"Request for negotiation strategy."}}}}