{"openapi":"3.1.0","info":{"title":"RealtorDock","description":"Production API for RealtorDock — the operating system for real estate. Use bearer authentication for protected routes. Interactive docs are available at /docs and /redoc.","version":"0.1.0"},"paths":{"/api/v1/analytics/dashboard":{"get":{"tags":["analytics"],"summary":"Get Dashboard","description":"Overview KPIs for the agent dashboard.","operationId":"get_dashboard_api_v1_analytics_dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/pipeline":{"get":{"tags":["analytics"],"summary":"Get Pipeline","description":"Pipeline funnel — deals per stage with value and avg time.","operationId":"get_pipeline_api_v1_analytics_pipeline_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/analytics/activity":{"get":{"tags":["analytics"],"summary":"Get Activity","description":"Communication activity — volume by channel and day.","operationId":"get_activity_api_v1_analytics_activity_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/leads":{"get":{"tags":["analytics"],"summary":"Get Lead Metrics","description":"Lead metrics — sources, scores, follow-up needed.","operationId":"get_lead_metrics_api_v1_analytics_leads_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/analytics/funnel":{"get":{"tags":["analytics"],"summary":"Get Funnel Analytics","description":"Lead → showing → offer → under contract → closed conversion funnel.","operationId":"get_funnel_analytics_api_v1_analytics_funnel_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}},{"name":"brokerage_wide","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Brokerage Wide"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/business":{"get":{"tags":["analytics"],"summary":"Get Business Analytics","description":"Platform-wide + per-agent business analytics dashboard.","operationId":"get_business_analytics_api_v1_analytics_business_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}},{"name":"metrics","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated metric keys for agent dashboard.","title":"Metrics"},"description":"Comma-separated metric keys for agent dashboard."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/kpis":{"get":{"tags":["analytics"],"summary":"Get Agent Kpis","description":"Comprehensive agent KPIs with period-over-period comparison.","operationId":"get_agent_kpis_api_v1_analytics_kpis_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/pipeline-analytics":{"get":{"tags":["analytics"],"summary":"Get Pipeline Analytics","description":"Pipeline funnel with conversion rates, avg time, and bottleneck identification.","operationId":"get_pipeline_analytics_api_v1_analytics_pipeline_analytics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/analytics/trends":{"get":{"tags":["analytics"],"summary":"Get Performance Trends","description":"Monthly performance trends for chart display.","operationId":"get_performance_trends_api_v1_analytics_trends_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":6,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/performance":{"get":{"tags":["analytics"],"summary":"Get Performance Metrics","description":"Performance metrics summary. Returns empty stub until fully implemented.","operationId":"get_performance_metrics_api_v1_analytics_performance_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/events":{"get":{"tags":["calendar"],"summary":"List Events","description":"List events for a month or date range, aggregating manual + deal + showing + open house.","operationId":"list_events_api_v1_calendar_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"month","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":12,"minimum":1},{"type":"null"}],"title":"Month"}},{"name":"year","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2100,"minimum":2000},{"type":"null"}],"title":"Year"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["calendar"],"summary":"Create Event","description":"Create a new calendar event.","operationId":"create_event_api_v1_calendar_events_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/events/{event_id}":{"get":{"tags":["calendar"],"summary":"Get Event","description":"Get a single calendar event.","operationId":"get_event_api_v1_calendar_events__event_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["calendar"],"summary":"Update Event","description":"Update a calendar event.","operationId":"update_event_api_v1_calendar_events__event_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EventUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["calendar"],"summary":"Delete Event","description":"Delete a calendar event.","operationId":"delete_event_api_v1_calendar_events__event_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/calendar/optimize-route":{"post":{"tags":["calendar"],"summary":"Optimize Route","description":"Optimize showing/appointment route order and apply travel buffers.","operationId":"optimize_route_api_v1_calendar_optimize_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OptimizeRouteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/calendar/booking-link":{"post":{"tags":["calendar"],"summary":"Create Booking Link","description":"Create a client self-booking link for the agent.","operationId":"create_booking_link_api_v1_calendar_booking_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingLinkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/hub/events":{"post":{"tags":["event-hub"],"summary":"Create Event","description":"Create a new event.","operationId":"create_event_api_v1_hub_events_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEventRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["event-hub"],"summary":"Get Events","description":"Get events feed.","operationId":"get_events_api_v1_hub_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},{"name":"upcoming_only","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Upcoming Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/hub/events/reminders":{"get":{"tags":["event-hub"],"summary":"Get Reminders","description":"Get upcoming events (next 24h) the agent RSVP'd to.","operationId":"get_reminders_api_v1_hub_events_reminders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/hub/events/{event_id}":{"get":{"tags":["event-hub"],"summary":"Get Event","description":"Get full event details with RSVPs and shared listings.","operationId":"get_event_api_v1_hub_events__event_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["event-hub"],"summary":"Update Event","description":"Update own event.","operationId":"update_event_api_v1_hub_events__event_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEventRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["event-hub"],"summary":"Cancel Event","description":"Cancel an event.","operationId":"cancel_event_api_v1_hub_events__event_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/hub/events/{event_id}/rsvp":{"post":{"tags":["event-hub"],"summary":"Rsvp Event","description":"RSVP to an event.","operationId":"rsvp_event_api_v1_hub_events__event_id__rsvp_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RSVPRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/hub/events/{event_id}/check-in":{"post":{"tags":["event-hub"],"summary":"Check In","description":"Check in at an event.","operationId":"check_in_api_v1_hub_events__event_id__check_in_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/hub/events/{event_id}/share":{"post":{"tags":["event-hub"],"summary":"Share Listing","description":"Share a listing in context of an event.","operationId":"share_listing_api_v1_hub_events__event_id__share_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareListingRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/hub/events/{event_id}/generate-promo":{"post":{"tags":["event-hub"],"summary":"Generate Promo","description":"Generate AI social post + email invite for an event.","operationId":"generate_promo_api_v1_hub_events__event_id__generate_promo_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","title":"Event Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/register":{"post":{"tags":["auth"],"summary":"Register","description":"Alias for /signup — forwards to the same signup logic.","operationId":"register_api_v1_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/signup":{"post":{"tags":["auth"],"summary":"Signup","description":"Create a new RealtorDock agent account.\n\nReturns a bearer access token plus refresh token on success. The caller can\nimmediately authenticate subsequent API requests with `Authorization:\nBearer <access_token>`.","operationId":"signup_api_v1_auth_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignupRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/login":{"post":{"tags":["auth"],"summary":"Login","description":"Authenticate with email and password.\n\nUse this endpoint to obtain fresh bearer tokens for the public API. Auth\nroutes are IP rate-limited and protected by account lockout safeguards.","operationId":"login_api_v1_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/google":{"post":{"tags":["auth"],"summary":"Google Auth","description":"Authenticate with Google OAuth.\n\nExisting agents are signed in, while new agents are provisioned on first\nsuccessful OAuth exchange once the required license state is provided.","operationId":"google_auth_api_v1_auth_google_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["auth"],"summary":"Refresh Token","description":"Refresh an access token.","operationId":"refresh_token_api_v1_auth_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenPair"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/forgot-password":{"post":{"tags":["auth"],"summary":"Forgot Password","description":"Request a password reset. Always returns success to avoid email enumeration.","operationId":"forgot_password_api_v1_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","description":"Reset password using a valid token.\n\nOn success, returns an auth token pair so the client can automatically log the user in.","operationId":"reset_password_api_v1_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/verify-email":{"post":{"tags":["auth"],"summary":"Verify Email","description":"Verify an agent's email address using the token sent on signup.","operationId":"verify_email_api_v1_auth_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/resend-verification":{"post":{"tags":["auth"],"summary":"Resend Verification","description":"Resend the email verification token. Always returns success to avoid enumeration.","operationId":"resend_verification_api_v1_auth_resend_verification_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendVerificationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/performance":{"get":{"tags":["brokerage-ops"],"summary":"Brokerage Performance","operationId":"brokerage_performance_api_v1_brokerage_performance_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"week|month|quarter|year","default":"month","title":"Period"},"description":"week|month|quarter|year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/performance/{target_agent_id}":{"get":{"tags":["brokerage-ops"],"summary":"Agent Performance","operationId":"agent_performance_api_v1_brokerage_performance__target_agent_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"week|month|quarter|year","default":"month","title":"Period"},"description":"week|month|quarter|year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/onboard-agent":{"post":{"tags":["brokerage-ops"],"summary":"Onboard Agent","operationId":"onboard_agent_api_v1_brokerage_onboard_agent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/review-deal/{deal_id}":{"post":{"tags":["brokerage-ops"],"summary":"Review Deal","operationId":"review_deal_api_v1_brokerage_review_deal__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/pending-reviews":{"get":{"tags":["brokerage-ops"],"summary":"Pending Reviews","operationId":"pending_reviews_api_v1_brokerage_pending_reviews_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/":{"post":{"tags":["brokerage"],"summary":"Create Brokerage","description":"Create a new brokerage. The creator becomes admin.","operationId":"create_brokerage_api_v1_brokerage__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/{brokerage_id}":{"get":{"tags":["brokerage"],"summary":"Get Brokerage","description":"Get brokerage details.","operationId":"get_brokerage_api_v1_brokerage__brokerage_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["brokerage"],"summary":"Update Brokerage","description":"Update brokerage settings (admin/manager only).","operationId":"update_brokerage_api_v1_brokerage__brokerage_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/invite":{"post":{"tags":["brokerage"],"summary":"Generate Invite","description":"Generate/refresh invite code (admin/manager only).","operationId":"generate_invite_api_v1_brokerage__brokerage_id__invite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/join/{invite_code}":{"post":{"tags":["brokerage"],"summary":"Join Brokerage","description":"Join a brokerage via invite code.","operationId":"join_brokerage_api_v1_brokerage_join__invite_code__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"invite_code","in":"path","required":true,"schema":{"type":"string","title":"Invite Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/agents":{"get":{"tags":["brokerage"],"summary":"List Agents","description":"List all agents in the brokerage.","operationId":"list_agents_api_v1_brokerage__brokerage_id__agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/agents/{target_agent_id}/role":{"put":{"tags":["brokerage"],"summary":"Update Agent Role","description":"Update an agent's role (admin only).","operationId":"update_agent_role_api_v1_brokerage__brokerage_id__agents__target_agent_id__role_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/agents/{target_agent_id}":{"delete":{"tags":["brokerage"],"summary":"Remove Agent","description":"Remove an agent from the brokerage (management only).","operationId":"remove_agent_api_v1_brokerage__brokerage_id__agents__target_agent_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/dashboard":{"get":{"tags":["brokerage"],"summary":"Brokerage Dashboard","description":"Brokerage-level dashboard — aggregate metrics across all agents.","operationId":"brokerage_dashboard_api_v1_brokerage__brokerage_id__dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/leaderboard":{"get":{"tags":["brokerage"],"summary":"Get Leaderboard","description":"Agent leaderboard ranked by closed deals and revenue.","operationId":"get_leaderboard_api_v1_brokerage__brokerage_id__leaderboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/{brokerage_id}/announcements":{"post":{"tags":["brokerage"],"summary":"Post Announcement","description":"Post an announcement to the brokerage (management only).","operationId":"post_announcement_api_v1_brokerage__brokerage_id__announcements_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnnouncementCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/create":{"post":{"tags":["brokerage-membership"],"summary":"Create Brokerage Endpoint","operationId":"create_brokerage_endpoint_api_v1_brokerage_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrokerageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/invite":{"post":{"tags":["brokerage-membership"],"summary":"Invite Agent Endpoint","operationId":"invite_agent_endpoint_api_v1_brokerage_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/accept-invite":{"post":{"tags":["brokerage-membership"],"summary":"Accept Invite Endpoint","operationId":"accept_invite_endpoint_api_v1_brokerage_accept_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInvitationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/members":{"get":{"tags":["brokerage-membership"],"summary":"List Members Endpoint","operationId":"list_members_endpoint_api_v1_brokerage_members_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(invited|active|suspended|left)$"},{"type":"null"}],"title":"Status Filter"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/members/{member_agent_id}/role":{"put":{"tags":["brokerage-membership"],"summary":"Update Role Endpoint","operationId":"update_role_endpoint_api_v1_brokerage_members__member_agent_id__role_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Member Agent Id"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/members/{member_agent_id}":{"delete":{"tags":["brokerage-membership"],"summary":"Remove Member Endpoint","operationId":"remove_member_endpoint_api_v1_brokerage_members__member_agent_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"member_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Member Agent Id"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/leave":{"post":{"tags":["brokerage-membership"],"summary":"Leave Brokerage Endpoint","operationId":"leave_brokerage_endpoint_api_v1_brokerage_leave_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/my":{"get":{"tags":["brokerage-membership"],"summary":"My Brokerage Endpoint","operationId":"my_brokerage_endpoint_api_v1_brokerage_my_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me":{"get":{"tags":["agents"],"summary":"Get Me","description":"Get current agent profile.","operationId":"get_me_api_v1_agents_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["agents"],"summary":"Update Me","description":"Update current agent profile.","operationId":"update_me_api_v1_agents_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProfileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentProfile"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/onboarding-status":{"get":{"tags":["agents"],"summary":"Get Onboarding Status","description":"Get resumable onboarding wizard status for the current agent.","operationId":"get_onboarding_status_api_v1_agents_me_onboarding_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/onboarding":{"patch":{"tags":["agents"],"summary":"Update Onboarding Status","description":"Persist onboarding wizard progress and optionally complete onboarding.","operationId":"update_onboarding_status_api_v1_agents_me_onboarding_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WizardUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/seed-demo":{"post":{"tags":["agents"],"summary":"Seed Demo For Current Agent","description":"Seed demo data for onboarding and persist that choice in wizard state.","operationId":"seed_demo_for_current_agent_api_v1_agents_me_seed_demo_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/onboard":{"post":{"tags":["agents"],"summary":"Complete Onboarding","description":"Complete the onboarding flow. Provisions phone number and activates AI.","operationId":"complete_onboarding_api_v1_agents_me_onboard_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/complete-onboarding":{"post":{"tags":["agents"],"summary":"Mark Onboarding Complete","description":"Mark onboarding as complete if license_state and license_number are set.","operationId":"mark_onboarding_complete_api_v1_agents_me_complete_onboarding_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/push-token":{"post":{"tags":["agents"],"summary":"Register Push Token","description":"Register an Expo push token for the current agent (mobile app).","operationId":"register_push_token_api_v1_agents_push_token_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterPushTokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/completeness":{"get":{"tags":["agents"],"summary":"Profile Completeness","description":"Calculate profile completeness percentage with suggestions.","operationId":"profile_completeness_api_v1_agents_me_completeness_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/qr-code":{"get":{"tags":["agents"],"summary":"Get Profile Qr Code","description":"Generate a QR code linking to the agent's public profile.","operationId":"get_profile_qr_code_api_v1_agents_me_qr_code_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/me/photo":{"post":{"tags":["agents"],"summary":"Upload Profile Photo","description":"Upload a profile photo.","operationId":"upload_profile_photo_api_v1_agents_me_photo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_profile_photo_api_v1_agents_me_photo_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/mode":{"get":{"tags":["agents"],"summary":"Get Agent Mode","description":"Return the agent's operating mode: solo, team, or brokerage_admin.","operationId":"get_agent_mode_api_v1_agents_mode_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/agents/demo-data":{"delete":{"tags":["agents"],"summary":"Clear Demo Data","description":"Delete all data for the current agent so they can start fresh.\n\nRemoves deals, contacts, showings, documents, communications, listings,\nopen houses, and referrals. The agent account itself is preserved.\nIdempotent — safe to call multiple times.","operationId":"clear_demo_data_api_v1_agents_demo_data_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/duplicates":{"get":{"tags":["contact-dedup"],"summary":"Find Duplicates","description":"Find potential duplicate contacts.","operationId":"find_duplicates_api_v1_contacts_duplicates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/merge":{"post":{"tags":["contact-dedup"],"summary":"Merge Contacts","description":"Merge two contacts — secondary is merged into primary.","operationId":"merge_contacts_api_v1_contacts_merge_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/import/upload":{"post":{"tags":["contact-import"],"summary":"Upload Csv","description":"Upload a CSV file and return headers + preview rows for mapping.","operationId":"upload_csv_api_v1_contacts_import_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_csv_api_v1_contacts_import_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/import/execute":{"post":{"tags":["contact-import"],"summary":"Execute Import","description":"Execute import with the provided field mapping.","operationId":"execute_import_api_v1_contacts_import_execute_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportExecuteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/export":{"get":{"tags":["contact-import"],"summary":"Export Contacts","description":"Export all contacts as CSV.","operationId":"export_contacts_api_v1_contacts_export_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/{contact_id}/activity":{"get":{"tags":["activity-feed"],"summary":"Get Contact Activity","description":"Get a unified activity feed for a contact (calls, messages, deals).","operationId":"get_contact_activity_api_v1_contacts__contact_id__activity_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/priority-queue":{"get":{"tags":["lead-scoring"],"summary":"Priority Queue","description":"Top contacts to call/follow up, sorted by score.","operationId":"priority_queue_api_v1_contacts_priority_queue_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by tier: hot, warm, cold","title":"Tier"},"description":"Filter by tier: hot, warm, cold"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/{contact_id}/rescore":{"post":{"tags":["lead-scoring"],"summary":"Rescore Contact","description":"Manually trigger a rescore for a single contact.","operationId":"rescore_contact_api_v1_contacts__contact_id__rescore_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/score-distribution":{"get":{"tags":["lead-scoring"],"summary":"Score Distribution","description":"Return tier distribution counts: { hot: N, warm: N, cold: N }.","operationId":"score_distribution_api_v1_contacts_score_distribution_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/":{"get":{"tags":["contacts"],"summary":"List Contacts","description":"List contacts with optional search and filters.","operationId":"list_contacts_api_v1_contacts__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search name, email, or phone","title":"Q"},"description":"Search name, email, or phone"},{"name":"contact_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Type"}},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by tag","title":"Tag"},"description":"Filter by tag"},{"name":"min_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Score"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["contacts"],"summary":"Create Contact","description":"Create a CRM contact.\n\nAccepts the core lead fields used by the web app, mobile app, imports,\nand Zapier actions. Successful creates trigger AI enrichment, lead-routing\nautomations, realtime UI updates, and Zapier `contact.created` webhooks.","operationId":"create_contact_api_v1_contacts__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/bulk/tag":{"post":{"tags":["contacts"],"summary":"Bulk Tag Contacts","description":"Apply a tag to multiple contacts.","operationId":"bulk_tag_contacts_api_v1_contacts_bulk_tag_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkTagRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/bulk":{"delete":{"tags":["contacts"],"summary":"Bulk Delete Contacts","description":"Delete multiple contacts.","operationId":"bulk_delete_contacts_api_v1_contacts_bulk_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactBulkDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contacts/{contact_id}/timeline":{"get":{"tags":["contacts"],"summary":"Get Contact Timeline","description":"Unified contact timeline across communications, deals, docs, notes, and showings.","operationId":"get_contact_timeline_api_v1_contacts__contact_id__timeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contacts/{contact_id}":{"get":{"tags":["contacts"],"summary":"Get Contact","description":"Get a single contact with full detail.","operationId":"get_contact_api_v1_contacts__contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["contacts"],"summary":"Update Contact","description":"Update a CRM contact.\n\nUse this endpoint to keep lead records fresh as qualification details,\ntags, ownership, or contact methods change. Successful updates emit\nrealtime events and Zapier `contact.updated` triggers.","operationId":"update_contact_api_v1_contacts__contact_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["contacts"],"summary":"Delete Contact","description":"Delete a contact.","operationId":"delete_contact_api_v1_contacts__contact_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/":{"get":{"tags":["deals"],"summary":"List Deals","description":"List all deals, optionally filtered by stage.","operationId":"list_deals_api_v1_deals__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"side","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Side"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["deals"],"summary":"Create Deal","description":"Create a pipeline deal.\n\nThis is the primary write endpoint for new opportunities, listings, and\ntransactions. It optionally enriches the property, logs activity, kicks\noff automations, and emits Zapier `deal.created` triggers.","operationId":"create_deal_api_v1_deals__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/stages":{"get":{"tags":["deals"],"summary":"Get Pipeline Stages","description":"Return pipeline stages with counts for the current agent.","operationId":"get_pipeline_stages_api_v1_deals_stages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/deals/{deal_id}":{"get":{"tags":["deals"],"summary":"Get Deal","description":"Get full deal detail.","operationId":"get_deal_api_v1_deals__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["deals"],"summary":"Update Deal","description":"Update deal details, timelines, and related contacts.\n\nSupports general field updates plus stage transitions. Stage changes trigger\nautomations, realtime updates, and Zapier `deal.stage_changed` /\n`deal.closed` webhooks.","operationId":"update_deal_api_v1_deals__deal_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["deals"],"summary":"Delete Deal","description":"Delete a deal.","operationId":"delete_deal_api_v1_deals__deal_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/compliance":{"get":{"tags":["deals"],"summary":"Get Deal Compliance","description":"Return stage-aware document compliance for a single deal.","operationId":"get_deal_compliance_api_v1_deals__deal_id__compliance_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealComplianceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/portal-link":{"post":{"tags":["deals"],"summary":"Create Deal Portal Link","description":"Create or return a shareable no-login portal link for a deal.","operationId":"create_deal_portal_link_api_v1_deals__deal_id__portal_link_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/stage":{"patch":{"tags":["deals"],"summary":"Change Deal Stage","description":"Quick stage-only update for kanban / drag-and-drop flows.\n\nThis lightweight endpoint is ideal for pipeline UIs and still triggers the\nsame automations, notifications, realtime broadcasts, and Zapier stage\nevents as the full update route.","operationId":"change_deal_stage_api_v1_deals__deal_id__stage_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StageChange"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/checklist":{"post":{"tags":["transaction-coordinator"],"summary":"Add Custom Item","description":"Add a custom checklist item to a deal.","operationId":"add_custom_item_api_v1_deals__deal_id__checklist_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistItemCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["transaction-coordinator"],"summary":"List Checklist","description":"Get all checklist items for a deal, grouped by category.","operationId":"list_checklist_api_v1_deals__deal_id__checklist_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"completed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Completed"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/brain":{"get":{"tags":["deal-brain"],"summary":"Get Deal Brain","description":"Get the complete DealBrain — the living model of the deal.\n\nReturns all aggregated data: parties, timeline, documents, financials,\nrisk scoring, and optionally an AI-generated narrative.","operationId":"get_deal_brain_api_v1_deals__deal_id__brain_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"include_narrative","in":"query","required":false,"schema":{"type":"boolean","description":"Generate AI narrative (slower)","default":false,"title":"Include Narrative"},"description":"Generate AI narrative (slower)"},{"name":"narrative_style","in":"query","required":false,"schema":{"type":"string","description":"Narrative style: agent | client | brokerage","default":"agent","title":"Narrative Style"},"description":"Narrative style: agent | client | brokerage"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/narrative":{"get":{"tags":["deal-brain"],"summary":"Get Deal Narrative","description":"Get an AI-generated narrative for the deal.\n\nStyles:\n  - agent: Detailed, action-oriented with deadlines and risk flags\n  - client: Warm, reassuring, jargon-free update for the buyer/seller\n  - brokerage: Metrics-focused summary for the broker/manager","operationId":"get_deal_narrative_api_v1_deals__deal_id__narrative_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"style","in":"query","required":false,"schema":{"type":"string","description":"Narrative style: agent | client | brokerage","default":"agent","title":"Style"},"description":"Narrative style: agent | client | brokerage"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/risk":{"get":{"tags":["deal-brain"],"summary":"Get Deal Risk","description":"Get the deal's risk score and detailed risk factors.\n\nReturns the overall risk score (0-100), risk level, and individual\nrisk factors across all categories (timeline, financial, document,\ncommunication, compliance, stage).","operationId":"get_deal_risk_api_v1_deals__deal_id__risk_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/next-actions":{"get":{"tags":["deal-brain"],"summary":"Get Deal Next Actions","description":"Get AI-suggested next actions for the deal.\n\nReturns 3-5 specific, time-bound, prioritized action items\nbased on the deal's current state, risk factors, and deadlines.","operationId":"get_deal_next_actions_api_v1_deals__deal_id__next_actions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dock/chat":{"post":{"tags":["dock"],"summary":"Chat","description":"Send a message to Dock AI.\n\nDock is the natural-language control surface for RealtorDock. Pass a plain\nEnglish prompt plus optional UI context (deal, contact, listing, or custom\nhandoff metadata) and Dock will answer, recommend next actions, and execute\nsupported workflows when appropriate.","operationId":"chat_api_v1_dock_chat_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockMessage"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/chat/stream":{"post":{"tags":["dock"],"summary":"Chat Stream","description":"SSE streaming chat endpoint.\n\nRouting:\n1) OpenClaw bridge first (when enabled and agent has openclaw_agent_id)\n2) Dock AI Runtime fallback (when enabled)\n\nReturns a stable SSE stream with explicit error/done events.","operationId":"chat_stream_api_v1_dock_chat_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockMessage"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/quick-actions/{action_key}":{"post":{"tags":["dock"],"summary":"Run Quick Action","description":"Explicit quick actions that map directly to real APIs/workflows.","operationId":"run_quick_action_api_v1_dock_quick_actions__action_key__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"action_key","in":"path","required":true,"schema":{"type":"string","title":"Action Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DockQuickActionPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dock/chat/confirm":{"post":{"tags":["dock"],"summary":"Confirm Action","description":"Agent confirms a pending action from the chat.","operationId":"confirm_action_api_v1_dock_chat_confirm_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"action","in":"query","required":true,"schema":{"type":"string","title":"Action"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Params"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dock/briefing":{"get":{"tags":["dock"],"summary":"Get Morning Briefing","description":"Generate the AI morning briefing — rich, actionable daily plan.","operationId":"get_morning_briefing_api_v1_dock_briefing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/briefing/proactive":{"get":{"tags":["dock"],"summary":"Get Proactive Briefing","description":"Proactive morning briefing with structured sections + deadline alerts.\n\nCached in Redis for 1 hour per agent.","operationId":"get_proactive_briefing_api_v1_dock_briefing_proactive_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/briefing/deadline-alerts":{"get":{"tags":["dock"],"summary":"Get Deadline Alerts","description":"Get deadline alerts for all active deals (upcoming 7 days + overdue).","operationId":"get_deadline_alerts_api_v1_dock_briefing_deadline_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/activity":{"get":{"tags":["dock"],"summary":"Get Activity Log","description":"Get the AI's activity log — full transparency on every action taken.","operationId":"get_activity_log_api_v1_dock_activity_get","security":[{"HTTPBearer":[]}],"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"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dock/memory":{"get":{"tags":["dock"],"summary":"Get Memory Summary","description":"Get AI's memory summary for the agent.","operationId":"get_memory_summary_api_v1_dock_memory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["dock"],"summary":"Clear Memory","description":"Clear all AI memory (full reset).","operationId":"clear_memory_api_v1_dock_memory_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock/memory/preferences":{"get":{"tags":["dock"],"summary":"Get Memory Preferences","description":"View learned preferences for the agent.","operationId":"get_memory_preferences_api_v1_dock_memory_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock-ai/execute-tool":{"post":{"tags":["dock-ai"],"summary":"Execute Tool","description":"Execute a Dock AI tool action using action-type whitelist + audit logging.","operationId":"execute_tool_api_v1_dock_ai_execute_tool_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecuteToolRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock-ai/voice/answer":{"post":{"tags":["dock-ai"],"summary":"Voice Answer","description":"Twilio inbound voice turn -> transcript -> Dock AI -> ElevenLabs response payload.","operationId":"voice_answer_api_v1_dock_ai_voice_answer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAnswerRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock-ai/deals/{deal_id}/advise":{"post":{"tags":["dock-ai"],"summary":"Advise Deal","description":"Get Dock AI deal advisor recommendations for one deal.","operationId":"advise_deal_api_v1_dock_ai_deals__deal_id__advise_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealAdviseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dock-ai/market/ask":{"post":{"tags":["dock-ai"],"summary":"Market Ask","description":"Answer market intelligence questions from live MLS + market report signals.","operationId":"market_ask_api_v1_dock_ai_market_ask_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketAskRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock-ai/memory":{"get":{"tags":["dock-ai"],"summary":"Get Memory Summary","description":"Get AI's memory summary for the agent — what the AI knows about them.","operationId":"get_memory_summary_api_v1_dock_ai_memory_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["dock-ai"],"summary":"Clear Memory","description":"Clear all AI memory for the agent (full reset).","operationId":"clear_memory_api_v1_dock_ai_memory_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/dock-ai/memory/preferences":{"get":{"tags":["dock-ai"],"summary":"Get Memory Preferences","description":"View all learned preferences for the agent.","operationId":"get_memory_preferences_api_v1_dock_ai_memory_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/alerts":{"get":{"tags":["alerts"],"summary":"List Alerts","description":"List alerts for the current agent.\n\nFilters:\n- alert_type: deadline | stale_lead | deal_health | insight | reminder\n- severity: urgent | warning | info\n- unread_only: only show unread alerts\n\nResults are ordered: unread first, then by created_at desc.","operationId":"list_alerts_api_v1_alerts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"alert_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alert Type"}},{"name":"severity","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Severity"}},{"name":"unread_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unread Only"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AlertListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alerts/unread/count":{"get":{"tags":["alerts"],"summary":"Unread Count","description":"Get the count of unread alerts (for badge display).","operationId":"unread_count_api_v1_alerts_unread_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnreadCountResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/alerts/{alert_id}/read":{"patch":{"tags":["alerts"],"summary":"Mark Alert Read","description":"Mark an alert as read.","operationId":"mark_alert_read_api_v1_alerts__alert_id__read_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alerts/{alert_id}/dismiss":{"patch":{"tags":["alerts"],"summary":"Dismiss Alert","description":"Dismiss an alert (removes from list).","operationId":"dismiss_alert_api_v1_alerts__alert_id__dismiss_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_id","in":"path","required":true,"schema":{"type":"string","title":"Alert Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alerts/dismiss-all":{"post":{"tags":["alerts"],"summary":"Dismiss All Alerts","description":"Dismiss all alerts (optionally filter by type).","operationId":"dismiss_all_alerts_api_v1_alerts_dismiss_all_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"alert_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Alert Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/alerts/digest":{"get":{"tags":["alerts"],"summary":"Get Digest","description":"Get today's digest — morning briefing data + urgent alerts.\n\nThis combines:\n- Daily digest metrics (closings, leads, revenue)\n- Urgent alerts that need immediate attention\n- Unread alert count","operationId":"get_digest_api_v1_alerts_digest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DigestResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/alerts/refresh":{"post":{"tags":["alerts"],"summary":"Refresh Alerts","description":"Manually trigger alert generation for the current agent.\n\nRuns the proactive intelligence engine immediately instead of waiting\nfor the next scheduled run. Useful for testing or on-demand refresh.","operationId":"refresh_alerts_api_v1_alerts_refresh_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/":{"get":{"tags":["documents"],"summary":"List Documents","description":"List documents, optionally filtered by deal.","operationId":"list_documents_api_v1_documents__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["documents"],"summary":"Create Document","description":"Create a document with AI auto-fill.","operationId":"create_document_api_v1_documents__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/create-from-template":{"post":{"tags":["documents"],"summary":"Create From Template","description":"Create a document from a DocuSeal template, auto-filling fields from deal data.","operationId":"create_from_template_api_v1_documents_create_from_template_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFromTemplate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/templates":{"get":{"tags":["documents"],"summary":"List Docuseal Templates","description":"List available DocuSeal templates.","operationId":"list_docuseal_templates_api_v1_documents_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/packet-templates":{"get":{"tags":["documents"],"summary":"List Packet Templates","description":"List available document packet templates by state and deal type.","operationId":"list_packet_templates_api_v1_documents_packet_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/assemble-packet":{"post":{"tags":["documents"],"summary":"Assemble Packet Endpoint","description":"Assemble a document packet for a deal based on type and state.\n\nCreates Document records for each document in the packet with pre-filled fields.","operationId":"assemble_packet_endpoint_api_v1_documents_assemble_packet_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssemblePacketRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/{doc_id}/validate":{"post":{"tags":["documents"],"summary":"Validate Document Endpoint","description":"Validate a document before sending for signature.","operationId":"validate_document_endpoint_api_v1_documents__doc_id__validate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["documents"],"summary":"Validate Document Endpoint Get","description":"Back-compat GET validate route used by current frontend clients.","operationId":"validate_document_endpoint_get_api_v1_documents__doc_id__validate_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{doc_id}/remind":{"post":{"tags":["documents"],"summary":"Remind Signers","description":"Send a signing reminder to all unsigned signers.","operationId":"remind_signers_api_v1_documents__doc_id__remind_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{doc_id}/void":{"post":{"tags":["documents"],"summary":"Void Document Endpoint","description":"Void a document submission. Notifies all signers.","operationId":"void_document_endpoint_api_v1_documents__doc_id__void_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/prepare-and-send":{"post":{"tags":["documents"],"summary":"Prepare And Send","description":"One-shot: assemble packet + fill fields + validate + send.\n\nThe 'magic button' that does everything in one API call.","operationId":"prepare_and_send_api_v1_documents_prepare_and_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareAndSendRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/packets/prepare":{"post":{"tags":["documents"],"summary":"Prepare Packet","description":"Prepare a packet for a deal: select templates, prefill, validate, persist drafts.","operationId":"prepare_packet_api_v1_documents_packets_prepare_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PacketPrepareRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/packets/send":{"post":{"tags":["documents"],"summary":"Send Packet","description":"Send all packet documents through DocuSeal with signer routing preserved.","operationId":"send_packet_api_v1_documents_packets_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PacketSendRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/packets/{packet_id}/validate":{"get":{"tags":["documents"],"summary":"Validate Packet","description":"Validate all documents in a packet and return aggregated issues.","operationId":"validate_packet_api_v1_documents_packets__packet_id__validate_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"packet_id","in":"path","required":true,"schema":{"type":"string","title":"Packet Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{doc_id}":{"get":{"tags":["documents"],"summary":"Get Document","description":"Get a single document.","operationId":"get_document_api_v1_documents__doc_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{doc_id}/send":{"post":{"tags":["documents"],"summary":"Send For Signature","description":"Send a document for signature via DocuSeal.","operationId":"send_for_signature_api_v1_documents__doc_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendForSignature"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/{doc_id}/signing-status":{"get":{"tags":["documents"],"summary":"Get Signing Status","description":"Check real-time signing status from DocuSeal.","operationId":"get_signing_status_api_v1_documents__doc_id__signing_status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/":{"get":{"tags":["communications"],"summary":"List Communications","description":"Unified inbox — all communications across channels.","operationId":"list_communications_api_v1_communications__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"contact_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/by-contact/{contact_id}":{"get":{"tags":["communications"],"summary":"List By Contact Id","operationId":"list_by_contact_id_api_v1_communications_by_contact__contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by channel","title":"Channel"},"description":"Filter by channel"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/by-deal/{deal_id}":{"get":{"tags":["communications"],"summary":"List By Deal Id","operationId":"list_by_deal_id_api_v1_communications_by_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by channel","title":"Channel"},"description":"Filter by channel"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/timeline":{"get":{"tags":["communications"],"summary":"Get Communications Timeline","description":"Unified, ordered timeline for communications + automation events.","operationId":"get_communications_timeline_api_v1_communications_timeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"all | email | sms | call | automation","title":"Channel"},"description":"all | email | sms | call | automation"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/inbox":{"get":{"tags":["communications"],"summary":"Get Unified Inbox","description":"Unified inbox — paginated feed of ALL communications sorted by time.\n\nSupports filters: channel, contact_id, deal_id, date range, full-text search.\nReturns contact info joined in.\nUses cursor-based pagination (pass ``cursor`` = last item's created_at).","operationId":"get_unified_inbox_api_v1_communications_inbox_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: call | sms | email | all","title":"Channel"},"description":"Filter: call | sms | email | all"},{"name":"contact_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search subject/content/contact name","title":"Search"},"description":"Search subject/content/contact name"},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date string","title":"Date From"},"description":"ISO date string"},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ISO date string","title":"Date To"},"description":"ISO date string"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor-based pagination: created_at ISO timestamp","title":"Cursor"},"description":"Cursor-based pagination: created_at ISO timestamp"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/threads/{contact_id}":{"get":{"tags":["communications"],"summary":"Get Contact Thread","description":"All communications with a specific contact — chronological thread.","operationId":"get_contact_thread_api_v1_communications_threads__contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by channel","title":"Channel"},"description":"Filter by channel"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/threads/deal/{deal_id}":{"get":{"tags":["communications"],"summary":"Get Deal Thread","operationId":"get_deal_thread_api_v1_communications_threads_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by channel","title":"Channel"},"description":"Filter by channel"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/inbox/smart":{"get":{"tags":["communications"],"summary":"Get Smart Inbox","description":"Smart inbox — AI-organized: needs attention, drafts ready, AI handled.","operationId":"get_smart_inbox_api_v1_communications_inbox_smart_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/communications/templates":{"get":{"tags":["communications"],"summary":"List Communication Templates","operationId":"list_communication_templates_api_v1_communications_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/communications/send/preview":{"post":{"tags":["communications"],"summary":"Preview Communication","operationId":"preview_communication_api_v1_communications_send_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendPreviewPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/communications/send":{"post":{"tags":["communications"],"summary":"Send Communication","operationId":"send_communication_api_v1_communications_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/communications/sms-campaign":{"post":{"tags":["communications"],"summary":"Send Sms Campaign","description":"Bulk SMS campaign with light personalization.","operationId":"send_sms_campaign_api_v1_communications_sms_campaign_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSCampaignPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/communications/sms-reply":{"post":{"tags":["communications"],"summary":"Sms Reply","description":"Two-way SMS reply endpoint with optional AI-assisted draft mode.","operationId":"sms_reply_api_v1_communications_sms_reply_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSReplyPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/communications/calls":{"get":{"tags":["communications"],"summary":"List Calls","description":"Call log with filters + pagination.","operationId":"list_calls_api_v1_communications_calls_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/calls/{id}":{"get":{"tags":["communications"],"summary":"Get Call","description":"Get call details.","operationId":"get_call_api_v1_communications_calls__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/calls/{id}/recording":{"get":{"tags":["communications"],"summary":"Get Call Recording","description":"Return (and backfill) recording URL for a call.","operationId":"get_call_recording_api_v1_communications_calls__id__recording_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/calls/{id}/recording/stream":{"get":{"tags":["communications"],"summary":"Stream Call Recording","description":"Stream an MP3 recording through the API (client-friendly; Twilio recordings require auth).","operationId":"stream_call_recording_api_v1_communications_calls__id__recording_stream_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/communications/calls/{id}/create-lead":{"post":{"tags":["communications"],"summary":"Create Lead From Call","description":"Create a Contact from an unknown call and attach it to the Communication.","operationId":"create_lead_from_call_api_v1_communications_calls__id__create_lead_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/inbox/messages":{"get":{"tags":["inbox"],"summary":"List Messages","operationId":"list_messages_api_v1_inbox_messages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Channel"}},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"high|medium|low","title":"Priority"},"description":"high|medium|low"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/inbox/reply":{"post":{"tags":["inbox"],"summary":"Inbox Reply","operationId":"inbox_reply_api_v1_inbox_reply_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxReplyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/inbox/ai-draft":{"post":{"tags":["inbox"],"summary":"Inbox Ai Draft","operationId":"inbox_ai_draft_api_v1_inbox_ai_draft_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboxAIDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/provision-number":{"post":{"tags":["voice"],"summary":"Provision Number","description":"Search available numbers by area code, or purchase one and attach it to the agent.\n\n- If `phone_number` is omitted → returns `available_numbers`.\n- If `phone_number` is provided → purchases + configures + creates AI agent. Done.","operationId":"provision_number_api_v1_voice_provision_number_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProvisionNumberRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/release-number":{"post":{"tags":["voice"],"summary":"Release Number","description":"Release the agent's provisioned Twilio number and clean up ElevenLabs agent.","operationId":"release_number_api_v1_voice_release_number_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseNumberRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/settings":{"get":{"tags":["voice"],"summary":"Get Voice Settings","description":"Get all voice settings — powers the Voice Settings screen.\n\nReturns the big on/off toggle state, phone number, greeting, business hours,\nand AI agent status in one call.","operationId":"get_voice_settings_api_v1_voice_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["voice"],"summary":"Update Voice Settings Full","description":"Full update of voice settings — replaces all provided fields.\n\nThe mobile app sends the complete settings state on save.","operationId":"update_voice_settings_full_api_v1_voice_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceSettings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["voice"],"summary":"Update Voice Settings","description":"Partial update of voice settings — only changes provided fields.\n\nSupports toggling the big on/off switch without touching other settings.","operationId":"update_voice_settings_api_v1_voice_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceSettings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/number-status":{"get":{"tags":["voice"],"summary":"Number Status","description":"Return current agent number status.","operationId":"number_status_api_v1_voice_number_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/agent":{"post":{"tags":["voice"],"summary":"Create Or Update Agent","description":"Create or update the ElevenLabs Conversational AI agent for this agent.\n\nIf the agent already has an ElevenLabs agent → updates it.\nIf not → creates a new one.\n\nThis is called automatically during provisioning, but can also be called\nmanually to recreate the AI agent.","operationId":"create_or_update_agent_api_v1_voice_agent_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]},"delete":{"tags":["voice"],"summary":"Delete Agent Ai","description":"Delete the ElevenLabs AI agent. Calls will fall back to voicemail/forward.","operationId":"delete_agent_ai_api_v1_voice_agent_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/agent/status":{"get":{"tags":["voice"],"summary":"Get Agent Ai Status","description":"Get the AI agent status — used by the settings screen to show AI health.\n\nReturns agent configuration summary from ElevenLabs, or a \"not configured\"\nstatus if no AI agent exists.","operationId":"get_agent_ai_status_api_v1_voice_agent_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/analytics":{"get":{"tags":["voice"],"summary":"Voice Analytics","description":"Voice analytics dashboard — call stats, lead conversion, performance.\n\nPowers the analytics cards: total calls, avg duration, leads captured, missed calls.","operationId":"voice_analytics_api_v1_voice_analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_range","in":"query","required":false,"schema":{"type":"string","description":"today|7d|30d|90d|this_month|this_year","default":"30d","title":"Date Range"},"description":"today|7d|30d|90d|this_month|this_year"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Start Date"},"description":"YYYY-MM-DD"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"End Date"},"description":"YYYY-MM-DD"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/calls":{"get":{"tags":["voice"],"summary":"Call Log","description":"Call log — list of recent calls with outcome badges.\n\nEach call shows: caller name/number, duration, outcome badge, summary.\nTap a call to see the full transcript.","operationId":"call_log_api_v1_voice_calls_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"date_range","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"today|7d|30d|90d","title":"Date Range"},"description":"today|7d|30d|90d"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/calls/{call_id}":{"get":{"tags":["voice"],"summary":"Get Call Detail","description":"Get full call detail — transcript, recording, AI analysis.\n\nThis is the \"tap to expand\" detail view in the call log.","operationId":"get_call_detail_api_v1_voice_calls__call_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"call_id","in":"path","required":true,"schema":{"type":"string","title":"Call Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/lead-conversion":{"get":{"tags":["voice"],"summary":"Voice Lead Conversion","description":"Voice-specific lead conversion stats.\n\nHow many phone leads → contacts → active clients.","operationId":"voice_lead_conversion_api_v1_voice_lead_conversion_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_range","in":"query","required":false,"schema":{"type":"string","default":"30d","title":"Date Range"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/suggest-greeting":{"get":{"tags":["voice"],"summary":"Suggest Greeting","description":"AI-generate a suggested greeting script for the agent.\n\nPre-fills the greeting textarea so the agent just reviews and approves.","operationId":"suggest_greeting_api_v1_voice_suggest_greeting_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/stats":{"get":{"tags":["voice"],"summary":"Voice Stats","description":"Quick voice stats for the settings screen — total calls, leads, avg duration, transfer rate.","operationId":"voice_stats_api_v1_voice_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/call":{"post":{"tags":["voice"],"summary":"Click To Call","description":"Initiate an outbound click-to-call via Twilio.\n\nConnects the agent's phone to the contact's phone by placing an outbound call\nfrom the agent's Twilio number.  Logs the call in Communications.\n\nBody:\n  - contact_id: the contact to call (used to look up phone)\n  - to_number:  override/direct phone number if no contact_id\n  - agent_number: optional agent leg phone (defaults to forward_calls_to)","operationId":"click_to_call_api_v1_voice_call_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClickToCallRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/gmail/sync":{"post":{"tags":["gmail"],"summary":"Sync Gmail Inbox","description":"Trigger Gmail inbox sync — fetches recent emails and creates Communication records.","operationId":"sync_gmail_inbox_api_v1_integrations_gmail_sync_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":200,"description":"Max messages to fetch","default":50,"title":"Max Results"},"description":"Max messages to fetch"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/gmail/threads":{"get":{"tags":["gmail"],"summary":"List Gmail Threads","description":"List Gmail threads.","operationId":"list_gmail_threads_api_v1_integrations_gmail_threads_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Gmail search query (e.g. 'from:alice@example.com')","title":"Q"},"description":"Gmail search query (e.g. 'from:alice@example.com')"},{"name":"max_results","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":25,"title":"Max Results"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/gmail/threads/{thread_id}":{"get":{"tags":["gmail"],"summary":"Get Gmail Thread","description":"Get a full Gmail thread with all messages.","operationId":"get_gmail_thread_api_v1_integrations_gmail_threads__thread_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/gmail/send":{"post":{"tags":["gmail"],"summary":"Send Gmail Email","description":"Send an email via Gmail API.","operationId":"send_gmail_email_api_v1_integrations_gmail_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailPayload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/gmail/watch":{"post":{"tags":["gmail"],"summary":"Watch Gmail Inbox","description":"Set up Gmail push notifications via Google Pub/Sub.","operationId":"watch_gmail_inbox_api_v1_integrations_gmail_watch_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/gmail/webhook":{"post":{"tags":["gmail"],"summary":"Gmail Push Webhook","description":"Handle Gmail push notifications from Google Pub/Sub.\n\nGoogle sends a POST with a Pub/Sub message envelope:\n{\n  \"message\": {\n    \"data\": \"<base64-encoded JSON>\",  // {\"emailAddress\": \"...\", \"historyId\": \"...\"}\n    \"messageId\": \"...\",\n    \"publishTime\": \"...\"\n  },\n  \"subscription\": \"projects/.../subscriptions/...\"\n}","operationId":"gmail_push_webhook_api_v1_integrations_gmail_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/integrations/gmail/connect":{"post":{"tags":["integrations"],"summary":"Gmail Connect","description":"Start Google OAuth flow for Gmail+Calendar scopes.","operationId":"gmail_connect_api_v1_integrations_gmail_connect_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional post-auth redirect URL (e.g. app settings screen)","title":"Redirect"},"description":"Optional post-auth redirect URL (e.g. app settings screen)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/gmail/callback":{"get":{"tags":["integrations"],"summary":"Gmail Callback","description":"OAuth callback handler.","operationId":"gmail_callback_api_v1_integrations_gmail_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/google/auth-url":{"get":{"tags":["integrations"],"summary":"Google Auth Url","description":"Generate the Google OAuth consent URL (Gmail readonly + Calendar + profile).","operationId":"google_auth_url_api_v1_integrations_google_auth_url_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional post-auth redirect URL (e.g. app settings screen)","title":"Redirect"},"description":"Optional post-auth redirect URL (e.g. app settings screen)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/google/callback":{"get":{"tags":["google-integration"],"summary":"Google Callback","description":"OAuth callback for the new Google integration surface.","operationId":"google_callback_api_v1_integrations_google_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/google/mobile-auth":{"post":{"tags":["integrations"],"summary":"Google Mobile Auth","description":"Verify a Google ID token from the mobile app and create/link an Agent account.","operationId":"google_mobile_auth_api_v1_integrations_google_mobile_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleMobileAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleMobileAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/status":{"get":{"tags":["integrations"],"summary":"Integrations Status","description":"Truthful status for integrations + platform configuration.\n\nUsed by onboarding + dashboard to show what's ready vs needs setup.\n\nReturns:\n  {\n    connected: { google, bridge_mls, canva, linkedin, ... },\n    configured: { google_oauth, canva, docuseal, sendgrid, twilio, ... }\n  }\n\nNOTE: \"configured\" means the *platform* has the required env vars; a realtor\nmay still need to connect their own account (\"connected\").","operationId":"integrations_status_api_v1_integrations_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Integrations Status Api V1 Integrations Status Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/chatgpt-actions.json":{"get":{"tags":["integrations","integrations"],"summary":"Chatgpt Actions Endpoint","operationId":"chatgpt_actions_endpoint_api_v1_integrations_chatgpt_actions_json_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Chatgpt Actions Endpoint Api V1 Integrations Chatgpt Actions Json Get"}}}}}}},"/api/v1/webhooks/sendgrid":{"post":{"tags":["webhooks"],"summary":"Sendgrid Webhook","description":"Handle SendGrid event webhook callbacks for campaign analytics.","operationId":"sendgrid_webhook_api_v1_webhooks_sendgrid_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/twilio/voice":{"post":{"tags":["webhooks"],"summary":"Twilio Voice Webhook","description":"Handle incoming calls via Twilio → route through call_handler.\n\nFlow:\n1. Twilio POST → identify agent by called phone number\n2. call_handler.handle_incoming_call checks business hours + config\n3. Routes to: ElevenLabs AI | call forwarding | voicemail\n4. Returns TwiML response to Twilio","operationId":"twilio_voice_webhook_api_v1_webhooks_twilio_voice_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/twilio/voice/status":{"post":{"tags":["webhooks"],"summary":"Twilio Voice Status","description":"Twilio call status callback — fires when call ends.\n\nLogs the communication and triggers the post-call pipeline:\ntranscription → AI classification → CRM update → follow-up draft.","operationId":"twilio_voice_status_api_v1_webhooks_twilio_voice_status_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/twilio/sms":{"post":{"tags":["twilio-webhook"],"summary":"Twilio Inbound Sms","description":"Receive inbound SMS from Twilio webhook and record it as a Communication.","operationId":"twilio_inbound_sms_api_v1_webhooks_twilio_sms_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_twilio_inbound_sms_api_v1_webhooks_twilio_sms_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/twilio/transcription":{"post":{"tags":["webhooks"],"summary":"Twilio Transcription Webhook","description":"Handle voicemail transcription callback from Twilio.\n\nLinks transcription text to the Communication record and notifies the agent.","operationId":"twilio_transcription_webhook_api_v1_webhooks_twilio_transcription_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/elevenlabs/tool-call":{"post":{"tags":["webhooks"],"summary":"Elevenlabs Tool Call","description":"Handle tool/function calls from ElevenLabs Conversational AI.\n\nDuring a phone call, the AI agent decides to execute a function\n(schedule showing, capture lead, take message) and POSTs here.\nWe process the action, update the CRM, and return a confirmation\nmessage for the AI to relay to the caller.","operationId":"elevenlabs_tool_call_api_v1_webhooks_elevenlabs_tool_call_post","parameters":[{"name":"tool","in":"query","required":true,"schema":{"type":"string","description":"Tool name: schedule_showing|take_message|capture_lead","title":"Tool"},"description":"Tool name: schedule_showing|take_message|capture_lead"},{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","description":"RealtorDock agent ID","title":"Agent Id"},"description":"RealtorDock agent ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/docuseal":{"post":{"tags":["webhooks"],"summary":"Docuseal Webhook","description":"Handle DocuSeal signing events.\n\nEvents:\n- form.completed: All signers have signed\n- form.started: First signer opened the document\n- form.viewed: A signer viewed the document","operationId":"docuseal_webhook_api_v1_webhooks_docuseal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/stripe":{"post":{"tags":["webhooks"],"summary":"Stripe Webhook","description":"Handle Stripe subscription lifecycle events.\n\nEvents:\n  - checkout.session.completed: Link customer + activate plan\n  - customer.subscription.created/updated: Sync plan from price ID\n  - customer.subscription.deleted: Downgrade to free\n  - invoice.payment_succeeded: Confirm subscription remains active\n  - invoice.payment_failed: Log warning (could add grace period)","operationId":"stripe_webhook_api_v1_webhooks_stripe_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/lead-capture":{"post":{"tags":["webhooks"],"summary":"Lead Capture Webhook","description":"Handle lead capture from landing page forms.\n\nCreates or updates a Contact (contact_type='lead') and triggers\ninstant AI response generation.\n\nBody: { name, email, phone, source, listing_id?, message? }\nReturns: { lead_id }","operationId":"lead_capture_webhook_api_v1_webhooks_lead_capture_post","responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/webhooks/zillow/leads":{"post":{"tags":["webhooks","webhooks","zillow"],"summary":"Zillow Lead Webhook","description":"Receive a Zillow lead webhook, verify, normalize, and ingest.","operationId":"zillow_lead_webhook_api_v1_webhooks_zillow_leads_post","parameters":[{"name":"agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional explicit RealtorDock agent ID","title":"Agent Id"},"description":"Optional explicit RealtorDock agent ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{slug}":{"get":{"tags":["public"],"summary":"Get Public Agent Profile","description":"Public agent profile page data. No auth required.","operationId":"get_public_agent_profile_api_v1_public_agents__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{slug}/listings":{"get":{"tags":["public"],"summary":"Get Agent Listings","description":"Get paginated active listings for an agent.","operationId":"get_agent_listings_api_v1_public_agents__slug__listings_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":12,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{slug}/reviews":{"get":{"tags":["public"],"summary":"Get Agent Reviews","description":"Get paginated reviews for an agent.\n\nCurrently returns placeholder structure. Future: integrate with Google/Zillow reviews.","operationId":"get_agent_reviews_api_v1_public_agents__slug__reviews_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{slug}/contact":{"post":{"tags":["public"],"summary":"Submit Agent Contact","description":"Submit a contact form for a specific agent. Creates lead + communication.","operationId":"submit_agent_contact_api_v1_public_agents__slug__contact_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentContactFormRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/properties/{id}":{"get":{"tags":["public"],"summary":"Get Public Property Page","description":"Public property page data.\n\n`id` is a Deal UUID. For backwards-compatibility with older web links,\nnon-UUID values are treated as an address slug and resolved by scan.","operationId":"get_public_property_page_api_v1_public_properties__id__get","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/open-houses/{open_house_id}":{"get":{"tags":["public"],"summary":"Get Public Open House","description":"Public open house page data (for sign-in).","operationId":"get_public_open_house_api_v1_public_open_houses__open_house_id__get","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/contact":{"post":{"tags":["public"],"summary":"Submit Public Contact","description":"Public contact form → creates/links Contact + creates inbound Communication.\n\nThis endpoint is intentionally unauthenticated. It is scoped to an agent via `agent_slug`.","operationId":"submit_public_contact_api_v1_public_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicContactRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/":{"get":{"tags":["open-houses"],"summary":"List Open Houses","description":"List open houses with optional upcoming/past filter.","operationId":"list_open_houses_api_v1_open_houses__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: upcoming or past","title":"Filter"},"description":"Filter: upcoming or past"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["open-houses"],"summary":"Create Open House","description":"Create a new open house event.","operationId":"create_open_house_api_v1_open_houses__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/generate-qr":{"post":{"tags":["open-houses"],"summary":"Generate Open House Qr","description":"Generate a QR code for the public sign-in page.","operationId":"generate_open_house_qr_api_v1_open_houses__open_house_id__generate_qr_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Use 'data_url' to return JSON instead of PNG bytes","title":"Format"},"description":"Use 'data_url' to return JSON instead of PNG bytes"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/landing":{"post":{"tags":["open-houses"],"summary":"Generate Open House Landing","description":"Generate/update a dedicated landing page for an open house.","operationId":"generate_open_house_landing_api_v1_open_houses__open_house_id__landing_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseLandingRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["open-houses"],"summary":"Get Open House Landing","operationId":"get_open_house_landing_api_v1_open_houses__open_house_id__landing_get","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/register":{"post":{"tags":["open-houses"],"summary":"Register Open House","description":"Public RSVP endpoint for open house landing.","operationId":"register_open_house_api_v1_open_houses__open_house_id__register_post","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseRSVPRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/sign-in":{"post":{"tags":["open-houses"],"summary":"Public Open House Sign In","description":"Public sign-in endpoint (no auth required). Creates/links a Contact + Communication.","operationId":"public_open_house_sign_in_api_v1_open_houses__open_house_id__sign_in_post","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSignInRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/attendees":{"get":{"tags":["open-houses"],"summary":"List Open House Attendees","description":"List attendees (sign-ins) for an open house.","operationId":"list_open_house_attendees_api_v1_open_houses__open_house_id__attendees_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}":{"get":{"tags":["open-houses"],"summary":"Get Open House","description":"Get open house detail with attendees/visitors.","operationId":"get_open_house_api_v1_open_houses__open_house_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["open-houses"],"summary":"Update Open House","description":"Update an open house.","operationId":"update_open_house_api_v1_open_houses__open_house_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/scan":{"post":{"tags":["open-houses"],"summary":"Upload Scan","description":"Upload a scanned sign-in sheet image and trigger OCR extraction.\n\nThe image is processed asynchronously by GPT-4o Vision to extract\nhandwritten contact information (name, phone, email, notes).","operationId":"upload_scan_api_v1_open_houses__open_house_id__scan_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanUpload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/contacts":{"get":{"tags":["open-houses"],"summary":"List Extracted Contacts","description":"List extracted contacts from scanned sign-in sheets for an open house.","operationId":"list_extracted_contacts_api_v1_open_houses__open_house_id__contacts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"imported","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by import status","title":"Imported"},"description":"Filter by import status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-houses/{open_house_id}/contacts/{contact_id}/import":{"post":{"tags":["open-houses"],"summary":"Import Contact To Crm","description":"Import an extracted contact into the CRM as a full Contact record.\n\nCreates a new Contact from the extracted data, links it back to the\nExtractedContact record, and triggers AI scoring/enrichment.","operationId":"import_contact_to_crm_api_v1_open_houses__open_house_id__contacts__contact_id__import_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/":{"get":{"tags":["open-house"],"summary":"List Open Houses","description":"List open houses with optional upcoming/past filter.","operationId":"list_open_houses_api_v1_open_house__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter: upcoming or past","title":"Filter"},"description":"Filter: upcoming or past"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["open-house"],"summary":"Create Open House","description":"Create a new open house event.","operationId":"create_open_house_api_v1_open_house__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/generate-qr":{"post":{"tags":["open-house"],"summary":"Generate Open House Qr","description":"Generate a QR code for the public sign-in page.","operationId":"generate_open_house_qr_api_v1_open_house__open_house_id__generate_qr_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"format","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Use 'data_url' to return JSON instead of PNG bytes","title":"Format"},"description":"Use 'data_url' to return JSON instead of PNG bytes"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/landing":{"post":{"tags":["open-house"],"summary":"Generate Open House Landing","description":"Generate/update a dedicated landing page for an open house.","operationId":"generate_open_house_landing_api_v1_open_house__open_house_id__landing_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseLandingRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["open-house"],"summary":"Get Open House Landing","operationId":"get_open_house_landing_api_v1_open_house__open_house_id__landing_get","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/register":{"post":{"tags":["open-house"],"summary":"Register Open House","description":"Public RSVP endpoint for open house landing.","operationId":"register_open_house_api_v1_open_house__open_house_id__register_post","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseRSVPRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/sign-in":{"post":{"tags":["open-house"],"summary":"Public Open House Sign In","description":"Public sign-in endpoint (no auth required). Creates/links a Contact + Communication.","operationId":"public_open_house_sign_in_api_v1_open_house__open_house_id__sign_in_post","parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSignInRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/attendees":{"get":{"tags":["open-house"],"summary":"List Open House Attendees","description":"List attendees (sign-ins) for an open house.","operationId":"list_open_house_attendees_api_v1_open_house__open_house_id__attendees_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}":{"get":{"tags":["open-house"],"summary":"Get Open House","description":"Get open house detail with attendees/visitors.","operationId":"get_open_house_api_v1_open_house__open_house_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["open-house"],"summary":"Update Open House","description":"Update an open house.","operationId":"update_open_house_api_v1_open_house__open_house_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/scan":{"post":{"tags":["open-house"],"summary":"Upload Scan","description":"Upload a scanned sign-in sheet image and trigger OCR extraction.\n\nThe image is processed asynchronously by GPT-4o Vision to extract\nhandwritten contact information (name, phone, email, notes).","operationId":"upload_scan_api_v1_open_house__open_house_id__scan_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanUpload"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/contacts":{"get":{"tags":["open-house"],"summary":"List Extracted Contacts","description":"List extracted contacts from scanned sign-in sheets for an open house.","operationId":"list_extracted_contacts_api_v1_open_house__open_house_id__contacts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"imported","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by import status","title":"Imported"},"description":"Filter by import status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/open-house/{open_house_id}/contacts/{contact_id}/import":{"post":{"tags":["open-house"],"summary":"Import Contact To Crm","description":"Import an extracted contact into the CRM as a full Contact record.\n\nCreates a new Contact from the extracted data, links it back to the\nExtractedContact record, and triggers AI scoring/enrichment.","operationId":"import_contact_to_crm_api_v1_open_house__open_house_id__contacts__contact_id__import_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}},{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendors/":{"get":{"tags":["vendors"],"summary":"List Vendors","description":"List and search vendors with type, location, and availability filters.","operationId":"list_vendors_api_v1_vendors__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"vendor_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by type: photographer, inspector, stager, etc.","title":"Vendor Type"},"description":"Filter by type: photographer, inspector, stager, etc."},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by service area state (2-letter code)","title":"State"},"description":"Filter by service area state (2-letter code)"},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by service area city","title":"City"},"description":"Filter by service area city"},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by service area ZIP code","title":"Zip Code"},"description":"Filter by service area ZIP code"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search vendor name","title":"Q"},"description":"Search vendor name"},{"name":"available_only","in":"query","required":false,"schema":{"type":"boolean","description":"Only show available vendors","default":true,"title":"Available Only"},"description":"Only show available vendors"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendors/bookings":{"get":{"tags":["vendors"],"summary":"List Bookings","description":"List the agent's vendor bookings.","operationId":"list_bookings_api_v1_vendors_bookings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status: requested, confirmed, completed, cancelled","title":"Status"},"description":"Filter by status: requested, confirmed, completed, cancelled"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["vendors"],"summary":"Create Booking","description":"Book a vendor for a property service.\n\nCreates a booking in 'requested' status. The vendor will confirm\nthe booking, which transitions it to 'confirmed'.","operationId":"create_booking_api_v1_vendors_bookings_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendors/{vendor_id}":{"get":{"tags":["vendors"],"summary":"Get Vendor","description":"Get vendor detail with ratings, portfolio, and pricing.","operationId":"get_vendor_api_v1_vendors__vendor_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"vendor_id","in":"path","required":true,"schema":{"type":"string","title":"Vendor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendors/bookings/{booking_id}":{"patch":{"tags":["vendors"],"summary":"Update Booking","description":"Update or cancel a vendor booking.\n\nAgents can reschedule or cancel bookings. Only bookings in 'requested'\nor 'confirmed' status can be modified.","operationId":"update_booking_api_v1_vendors_bookings__booking_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"booking_id","in":"path","required":true,"schema":{"type":"string","title":"Booking Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BookingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/templates":{"get":{"tags":["automations"],"summary":"List Templates","description":"List all pre-built automation templates.","operationId":"list_templates_api_v1_automations_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/automations/templates/{template_key}/enable":{"post":{"tags":["automations"],"summary":"Enable Template","description":"Enable a pre-built template for this agent (creates a system automation).","operationId":"enable_template_api_v1_automations_templates__template_key__enable_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_key","in":"path","required":true,"schema":{"type":"string","title":"Template Key"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/":{"get":{"tags":["automations"],"summary":"List Automations","description":"List the agent's automations with optional filters.","operationId":"list_automations_api_v1_automations__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"trigger_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger Type"}},{"name":"enabled","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["automations"],"summary":"Create Automation","description":"Create a new automation rule.","operationId":"create_automation_api_v1_automations__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/{automation_id}":{"get":{"tags":["automations"],"summary":"Get Automation","description":"Get a single automation by ID.","operationId":"get_automation_api_v1_automations__automation_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["automations"],"summary":"Update Automation","description":"Update an automation — toggle active, edit conditions/actions.\n\nSystem automations can only have their enabled flag and autonomy_override changed.","operationId":"update_automation_api_v1_automations__automation_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["automations"],"summary":"Update Automation","description":"Update an automation — toggle active, edit conditions/actions.\n\nSystem automations can only have their enabled flag and autonomy_override changed.","operationId":"update_automation_api_v1_automations__automation_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutomationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["automations"],"summary":"Delete Automation","description":"Delete an automation. System automations cannot be deleted.","operationId":"delete_automation_api_v1_automations__automation_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/{automation_id}/toggle":{"post":{"tags":["automations"],"summary":"Toggle Automation","description":"Enable or disable an automation.","operationId":"toggle_automation_api_v1_automations__automation_id__toggle_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/{automation_id}/test":{"post":{"tags":["automations"],"summary":"Test Automation","description":"Dry-run an automation with sample data — no real actions are taken.","operationId":"test_automation_api_v1_automations__automation_id__test_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestAutomationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/{automation_id}/runs":{"get":{"tags":["automations"],"summary":"Get Automation Runs","description":"Get run history for a specific automation.","operationId":"get_automation_runs_api_v1_automations__automation_id__runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"path","required":true,"schema":{"type":"string","title":"Automation Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/automations/runs/all":{"get":{"tags":["automations"],"summary":"List Automation Runs","description":"List all automation run history for the agent.","operationId":"list_automation_runs_api_v1_automations_runs_all_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"automation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Automation Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/webhook":{"post":{"tags":["billing"],"summary":"Billing Webhook","description":"Stripe webhook — alias route. Delegates to the shared handler in webhooks.py.","operationId":"billing_webhook_api_v1_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/billing/plans":{"get":{"tags":["billing"],"summary":"Get Plans","description":"Return available subscription plans with price IDs.\n\nPublic endpoint — no auth required. Returns empty prices if Stripe\nisn't configured yet so the frontend can degrade gracefully.","operationId":"get_plans_api_v1_billing_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/billing/checkout":{"post":{"tags":["billing"],"summary":"Create Checkout Session","description":"Create a Stripe Checkout session for plan signup or upgrade.\n\nIf the agent doesn't have a Stripe customer ID yet, one is created.\nReturns the Checkout session URL for client-side redirect.","operationId":"create_checkout_session_api_v1_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/subscription":{"get":{"tags":["billing"],"summary":"Get Subscription","description":"Get the agent's current subscription status and details.","operationId":"get_subscription_api_v1_billing_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/portal":{"post":{"tags":["billing"],"summary":"Create Portal Session","description":"Create a Stripe billing portal session for managing payment methods, invoices, etc.","operationId":"create_portal_session_api_v1_billing_portal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/billing/cancel":{"post":{"tags":["billing"],"summary":"Cancel Subscription","description":"Cancel the agent's subscription at the end of the current billing period.\n\nThe subscription remains active until the period end, then the agent\nis downgraded. This is a soft cancel (cancel_at_period_end).","operationId":"cancel_subscription_api_v1_billing_cancel_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/scan/sign-in-sheet":{"post":{"tags":["scan"],"summary":"Scan Sign In Sheet Endpoint","description":"Upload a sign-in sheet image (base64) and extract contacts via GPT-4o Vision OCR.\n\nReturns extracted contacts with per-field confidence scores (high/medium/low).\nReview and correct using POST /scan/verify before importing.","operationId":"scan_sign_in_sheet_endpoint_api_v1_scan_sign_in_sheet_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanSignInRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScanSignInResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/scan/verify":{"post":{"tags":["scan"],"summary":"Verify Extracted Contacts","description":"Verify and correct extracted contacts before importing to CRM.\n\nAccepts the scanned contacts (optionally user-edited), validates fields,\nand returns issues found. Contacts marked `verified: true` are ready for import.","operationId":"verify_extracted_contacts_api_v1_scan_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/scan/import":{"post":{"tags":["scan"],"summary":"Import Contacts To Crm","description":"Import verified contacts to CRM as Contact records.\n\nDeduplicates by email (if present) — existing contacts get status 'existing'.\nNew contacts are created with lead_source and optional tags.","operationId":"import_contacts_to_crm_api_v1_scan_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketing/generate-description":{"post":{"tags":["marketing"],"summary":"Generate Description Endpoint","description":"Generate an AI-powered listing description.\n\nProvide property details and get a compelling listing description with\nheadline. Customize tone (professional/luxury/casual/energetic) and\nlength (short/medium/long).","operationId":"generate_description_endpoint_api_v1_marketing_generate_description_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateDescriptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateDescriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketing/generate-social":{"post":{"tags":["marketing"],"summary":"Generate Social Endpoint","description":"Generate a social media post for a listing.\n\nSupports Instagram, Facebook, Twitter/X, LinkedIn, and TikTok.\nEach platform gets platform-appropriate formatting, length, and hashtag count.","operationId":"generate_social_endpoint_api_v1_marketing_generate_social_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSocialRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSocialResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketing/generate-email":{"post":{"tags":["marketing"],"summary":"Generate Email Endpoint","description":"Generate email campaign content for a listing.\n\nTemplates: just_listed, open_house, price_reduction, just_sold,\nmarket_update, newsletter, follow_up.\n\nReturns HTML and plain-text versions with subject line and preview text.","operationId":"generate_email_endpoint_api_v1_marketing_generate_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateEmailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketing/suggest-hashtags":{"post":{"tags":["marketing"],"summary":"Suggest Hashtags Endpoint","description":"Suggest relevant hashtags for a property listing.\n\nReturns hashtags grouped by category (location, property_type, features,\nmarket, lifestyle). Default 30 hashtags.","operationId":"suggest_hashtags_endpoint_api_v1_marketing_suggest_hashtags_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestHashtagsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestHashtagsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/":{"get":{"tags":["listings"],"summary":"List Listings","description":"Return the authenticated agent's listings from the database.","operationId":"list_listings_api_v1_listings__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["listings"],"summary":"Create Listing","description":"Create a manual listing (not MLS-synced).","operationId":"create_listing_api_v1_listings__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listings/sync":{"post":{"tags":["listings"],"summary":"Sync Listings","description":"Trigger an MLS sync for the authenticated agent.\n\nFetches the agent's listings from Bridge Interactive using their\n``mls_id``, normalizes each record, and upserts into the ``listings``\ntable (matching on ``mls_number``).\n\nReturns counts of created and updated listings.","operationId":"sync_listings_api_v1_listings_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listings/search":{"get":{"tags":["listings"],"summary":"Search Mls","description":"Proxy a live MLS search to Bridge Interactive.\n\nReturns raw RESO data normalized to the internal schema.\nResults are NOT persisted — use ``POST /listings/sync`` to persist the\nagent's own listings.","operationId":"search_mls_api_v1_listings_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"}},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Price"}},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Price"}},{"name":"min_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Beds"}},{"name":"max_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Beds"}},{"name":"min_baths","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Baths"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"Active","title":"Status"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listings/{listing_id}":{"get":{"tags":["listings"],"summary":"Get Listing","description":"Return a single listing by ID.","operationId":"get_listing_api_v1_listings__listing_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["listings"],"summary":"Update Listing","description":"Update a listing.","operationId":"update_listing_api_v1_listings__listing_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["listings"],"summary":"Delete Listing","description":"Delete a listing.","operationId":"delete_listing_api_v1_listings__listing_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/":{"post":{"tags":["showings"],"summary":"Create Showing","description":"Create/request a new showing. Auto-generates a 6-char confirmation code.","operationId":"create_showing_api_v1_showings__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShowingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["showings"],"summary":"List Showings","description":"List showings with optional filters.","operationId":"list_showings_api_v1_showings__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/stats":{"get":{"tags":["showings"],"summary":"Get Showing Stats","description":"Aggregate showing statistics for the agent.","operationId":"get_showing_stats_api_v1_showings_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/upcoming":{"get":{"tags":["showings"],"summary":"Get Upcoming Showings","description":"Return upcoming showings for the next N days (default 7).","operationId":"get_upcoming_showings_api_v1_showings_upcoming_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/today":{"get":{"tags":["showings"],"summary":"Get Today Showings","description":"Return today's showings ordered by start time.","operationId":"get_today_showings_api_v1_showings_today_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/availability":{"get":{"tags":["showings"],"summary":"Get Availability","description":"Get agent's availability rules.","operationId":"get_availability_api_v1_showings_availability_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["showings"],"summary":"Set Availability","description":"Bulk upsert availability rules. Replaces all existing rules.","operationId":"set_availability_api_v1_showings_availability_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityBulk"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/availability/slots":{"get":{"tags":["showings"],"summary":"Get Available Slots","description":"Compute available time slots for a given date.\n\nTakes availability rules, subtracts existing bookings and blocked dates.","operationId":"get_available_slots_api_v1_showings_availability_slots_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},{"name":"duration_minutes","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Duration Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/blocked-dates":{"get":{"tags":["showings"],"summary":"List Blocked Dates","description":"List all blocked dates for the agent.","operationId":"list_blocked_dates_api_v1_showings_blocked_dates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["showings"],"summary":"Block Date","description":"Block a date from showing appointments.","operationId":"block_date_api_v1_showings_blocked_dates_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlockedDateCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/blocked-dates/{blocked_date_id}":{"delete":{"tags":["showings"],"summary":"Unblock Date","description":"Remove a blocked date.","operationId":"unblock_date_api_v1_showings_blocked_dates__blocked_date_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"blocked_date_id","in":"path","required":true,"schema":{"type":"string","title":"Blocked Date Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/sync/push":{"post":{"tags":["showings"],"summary":"Sync Push To Showingtime","description":"Push a local showing to ShowingTime (if integration is configured).\n\nThis is a stub — full implementation depends on ShowingTime API credentials.","operationId":"sync_push_to_showingtime_api_v1_showings_sync_push_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShowingTimePushBody"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/sync/pull":{"post":{"tags":["showings"],"summary":"Sync Pull From Showingtime","description":"Pull showings from ShowingTime into our database.\n\nRequires ShowingTime API credentials configured in Integration Hub.","operationId":"sync_pull_from_showingtime_api_v1_showings_sync_pull_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ShowingTimePullBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/showings/{showing_id}":{"get":{"tags":["showings"],"summary":"Get Showing","description":"Get a single showing by ID.","operationId":"get_showing_api_v1_showings__showing_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["showings"],"summary":"Update Showing","description":"Update showing fields.","operationId":"update_showing_api_v1_showings__showing_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShowingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/{showing_id}/confirm":{"post":{"tags":["showings"],"summary":"Confirm Showing","description":"Confirm a requested showing.","operationId":"confirm_showing_api_v1_showings__showing_id__confirm_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/{showing_id}/cancel":{"post":{"tags":["showings"],"summary":"Cancel Showing","description":"Cancel a showing with optional reason.","operationId":"cancel_showing_api_v1_showings__showing_id__cancel_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CancelBody"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/{showing_id}/complete":{"post":{"tags":["showings"],"summary":"Complete Showing","description":"Mark a showing as completed.","operationId":"complete_showing_api_v1_showings__showing_id__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/showings/{showing_id}/no-show":{"post":{"tags":["showings"],"summary":"Mark No Show","description":"Mark a showing as no-show.","operationId":"mark_no_show_api_v1_showings__showing_id__no_show_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"showing_id","in":"path","required":true,"schema":{"type":"string","title":"Showing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/showings/availability/{agent_id}":{"get":{"tags":["public-showings"],"summary":"Public Get Availability","description":"Public-facing endpoint to get available showing slots.\n\nNo authentication required — used by embeddable booking widgets.","operationId":"public_get_availability_api_v1_public_showings_availability__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"date","in":"query","required":true,"schema":{"type":"string","format":"date","title":"Date"}},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},{"name":"duration_minutes","in":"query","required":false,"schema":{"type":"integer","default":30,"title":"Duration Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/showings/request":{"post":{"tags":["public-showings"],"summary":"Public Request Showing","description":"Public showing request — buyer submits name/email/phone + time slot.\n\nNo authentication required. Creates a showing in \"requested\" status.","operationId":"public_request_showing_api_v1_public_showings_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicShowingRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/showings/webhooks/showingtime":{"post":{"tags":["public-showings"],"summary":"Showingtime Webhook","description":"Receive webhook events from ShowingTime.\n\nEvents: showing.created, showing.updated, showing.cancelled, etc.\nThis is a stub — full implementation depends on ShowingTime webhook format.","operationId":"showingtime_webhook_api_v1_public_showings_webhooks_showingtime_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Request Body"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/":{"get":{"tags":["offers"],"summary":"List Offers","description":"List all offers for the current agent, optionally filtered by listing or deal.","operationId":"list_offers_api_v1_offers__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Offers Api V1 Offers  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["offers"],"summary":"Create Offer","description":"Create a new offer on a listing or deal.","operationId":"create_offer_api_v1_offers__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/stats":{"get":{"tags":["offers"],"summary":"Offer Stats","description":"Get offer statistics — total, by status, average price, highest offer.","operationId":"offer_stats_api_v1_offers_stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Offer Stats Api V1 Offers Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}":{"get":{"tags":["offers"],"summary":"Get Offer","description":"Get a single offer by ID.","operationId":"get_offer_api_v1_offers__offer_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["offers"],"summary":"Update Offer","description":"Update an offer — change status, counter, notes, etc.","operationId":"update_offer_api_v1_offers__offer_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["offers"],"summary":"Delete Offer","description":"Delete an offer.","operationId":"delete_offer_api_v1_offers__offer_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/status":{"patch":{"tags":["offers"],"summary":"Update Offer Status","description":"Update an offer's status and keep accepted seller offers linked to a real deal.","operationId":"update_offer_status_api_v1_offers__offer_id__status_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferStatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/counter":{"post":{"tags":["offers"],"summary":"Counter Offer","description":"AI-assisted counter-offer — parse natural language into counter terms.\n\nExample prompt: 'counter at 450K, remove inspection contingency, close in 30 days'","operationId":"counter_offer_api_v1_offers__offer_id__counter_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__offers__CounterOfferRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__offers__CounterOfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/counter-history":{"get":{"tags":["offers"],"summary":"Get Counter History","description":"Get the full counter-offer chain for an offer.","operationId":"get_counter_history_api_v1_offers__offer_id__counter_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/app__api__v1__endpoints__offers__CounterOfferResponse"},"title":"Response Get Counter History Api V1 Offers  Offer Id  Counter History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/accept":{"post":{"tags":["offers"],"summary":"Accept Offer","description":"Accept an offer, create/link the seller deal, and reject competing offers.","operationId":"accept_offer_api_v1_offers__offer_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/reject":{"post":{"tags":["offers"],"summary":"Reject Offer","description":"Reject an offer.","operationId":"reject_offer_api_v1_offers__offer_id__reject_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/compare":{"get":{"tags":["offers"],"summary":"Compare Offers Endpoint","description":"Compare all active offers on a listing side-by-side with rankings.","operationId":"compare_offers_endpoint_api_v1_offers_compare_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Compare Offers Endpoint Api V1 Offers Compare Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/{offer_id}/net-sheet":{"post":{"tags":["offers"],"summary":"Calculate Net Sheet Endpoint","description":"Calculate seller net proceeds for a specific offer.","operationId":"calculate_net_sheet_endpoint_api_v1_offers__offer_id__net_sheet_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__offers__NetSheetRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Calculate Net Sheet Endpoint Api V1 Offers  Offer Id  Net Sheet Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/offers/presentation":{"post":{"tags":["offers"],"summary":"Generate Presentation","description":"Generate a beautiful HTML offer presentation for the seller.","operationId":"generate_presentation_api_v1_offers_presentation_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":true,"schema":{"type":"string","title":"Listing Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationRequest","default":{}}}}},"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback/":{"get":{"tags":["feedback"],"summary":"List Feedback","description":"List all feedback for the current agent.","operationId":"list_feedback_api_v1_feedback__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response List Feedback Api V1 Feedback  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["feedback"],"summary":"Create Feedback","description":"Manually create a feedback entry.","operationId":"create_feedback_api_v1_feedback__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback/summary/{listing_id}":{"get":{"tags":["feedback"],"summary":"Feedback Summary","description":"Get aggregated feedback summary for a specific listing.","operationId":"feedback_summary_api_v1_feedback_summary__listing_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackSummary"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback/{feedback_id}":{"get":{"tags":["feedback"],"summary":"Get Feedback","description":"Get a single feedback entry.","operationId":"get_feedback_api_v1_feedback__feedback_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"string","title":"Feedback Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["feedback"],"summary":"Delete Feedback","description":"Delete a feedback entry.","operationId":"delete_feedback_api_v1_feedback__feedback_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"feedback_id","in":"path","required":true,"schema":{"type":"string","title":"Feedback Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/feedback/request/{listing_id}":{"post":{"tags":["feedback"],"summary":"Request Feedback","description":"Send AI feedback requests to all buyer agents who had recent showings.\n\nQueries completed showings for this listing where feedback hasn't been\nrequested yet, sends personalized SMS/email to each buyer's agent,\nand creates pending ShowingFeedback entries.","operationId":"request_feedback_api_v1_feedback_request__listing_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Feedback Api V1 Feedback Request  Listing Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/market-reports/generate":{"post":{"tags":["market-reports"],"summary":"Generate Report","description":"Generate an AI-powered market report (CMA).\n\nUses Bridge API for comps + AI Gateway for narrative analysis.\nReturns the full report synchronously (typically 5-15s).","operationId":"generate_report_api_v1_market_reports_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarketReportRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/market-reports/quick-value":{"post":{"tags":["market-reports"],"summary":"Quick Valuation","description":"Get a quick AI-powered property valuation estimate.\n\nUses the same CMA engine but returns a minimal response.\nThe report is still persisted for history tracking.","operationId":"quick_valuation_api_v1_market_reports_quick_value_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuickValuationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/market-reports/history":{"get":{"tags":["market-reports"],"summary":"Report History","description":"List previously generated reports.","operationId":"report_history_api_v1_market_reports_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/market-reports/{report_id}":{"get":{"tags":["market-reports"],"summary":"Get Report","description":"Get a specific report by ID.","operationId":"get_report_api_v1_market_reports__report_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/market-reports/neighborhood/{zip_code}":{"get":{"tags":["market-reports"],"summary":"Neighborhood Stats","description":"Get neighborhood-level market statistics for a ZIP code.\n\nAggregates data from recent CMA reports in this ZIP code.\nFalls back to AI-generated estimates when insufficient data.","operationId":"neighborhood_stats_api_v1_market_reports_neighborhood__zip_code__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"zip_code","in":"path","required":true,"schema":{"type":"string","title":"Zip Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/accounts":{"get":{"tags":["social-media"],"summary":"List Connected Accounts","operationId":"list_connected_accounts_api_v1_social_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialAccountSummary"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/connect/facebook":{"post":{"tags":["social-media"],"summary":"Connect Facebook","operationId":"connect_facebook_api_v1_social_connect_facebook_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional post-auth redirect URL","title":"Redirect"},"description":"Optional post-auth redirect URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/connect/instagram":{"post":{"tags":["social-media"],"summary":"Connect Instagram","operationId":"connect_instagram_api_v1_social_connect_instagram_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional post-auth redirect URL","title":"Redirect"},"description":"Optional post-auth redirect URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/callback/facebook":{"get":{"tags":["social-media"],"summary":"Facebook Callback","operationId":"facebook_callback_api_v1_social_callback_facebook_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/callback/instagram":{"get":{"tags":["social-media"],"summary":"Instagram Callback","operationId":"instagram_callback_api_v1_social_callback_instagram_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/disconnect/{platform}":{"delete":{"tags":["social-media"],"summary":"Disconnect Social","operationId":"disconnect_social_api_v1_social_disconnect__platform__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"platform","in":"path","required":true,"schema":{"enum":["facebook","instagram"],"type":"string","description":"facebook or instagram","title":"Platform"},"description":"facebook or instagram"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/post":{"post":{"tags":["social-media"],"summary":"Create Post Now","operationId":"create_post_now_api_v1_social_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/post-multi":{"post":{"tags":["social-media"],"summary":"Create Multi Platform Post","description":"Post to multiple platforms with per-platform optimization and scheduling queue.","operationId":"create_multi_platform_post_api_v1_social_post_multi_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MultiPostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/engagement":{"get":{"tags":["social-media"],"summary":"Get Post Engagement","description":"Get engagement snapshots for a single post.","operationId":"get_post_engagement_api_v1_social_engagement_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"query","required":true,"schema":{"type":"string","description":"Social post id from social_posts table","title":"Post Id"},"description":"Social post id from social_posts table"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/train-voice":{"post":{"tags":["social-media"],"summary":"Train Social Voice","description":"Train and persist the agent's brand voice profile from historical posts.","operationId":"train_social_voice_api_v1_social_train_voice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainVoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/schedule":{"post":{"tags":["social-media"],"summary":"Schedule Post","operationId":"schedule_post_api_v1_social_schedule_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__social_media__ScheduleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/posts":{"get":{"tags":["social-media"],"summary":"List Posts","operationId":"list_posts_api_v1_social_posts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/posts/{post_id}":{"get":{"tags":["social-media"],"summary":"Get Post Details","operationId":"get_post_details_api_v1_social_posts__post_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["social-media"],"summary":"Delete Or Cancel Post","operationId":"delete_or_cancel_post_api_v1_social_posts__post_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/analytics":{"get":{"tags":["social-media"],"summary":"Get Social Analytics","operationId":"get_social_analytics_api_v1_social_analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"range","in":"query","required":false,"schema":{"type":"string","description":"7d | 30d | custom","default":"30d","title":"Range"},"description":"7d | 30d | custom"},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/generate":{"post":{"tags":["social-media"],"summary":"Generate Social Content","operationId":"generate_social_content_api_v1_social_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__social_media__GenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/templates":{"get":{"tags":["social-media"],"summary":"List Templates","operationId":"list_templates_api_v1_social_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/social/calendar":{"get":{"tags":["social-media"],"summary":"Get Calendar Data","description":"Return scheduled + published posts grouped by day for the content calendar.","operationId":"get_calendar_data_api_v1_social_calendar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"week_of","in":"query","required":false,"schema":{"type":"string","description":"YYYY-MM-DD, defaults to current week","title":"Week Of"},"description":"YYYY-MM-DD, defaults to current week"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/templates/{template_id}/apply":{"post":{"tags":["social-media"],"summary":"Apply Template","description":"Apply a template with listing data to generate ready-to-post content.","operationId":"apply_template_api_v1_social_templates__template_id__apply_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}},{"name":"listing_id","in":"query","required":false,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts":{"get":{"tags":["social-factory"],"summary":"List Social Posts","operationId":"list_social_posts_api_v1_social_factory_posts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["draft","approved","scheduled","published","failed"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"enum":["instagram","facebook","linkedin","tiktok","x","youtube"],"type":"string"},{"type":"null"}],"title":"Platform"}},{"name":"start","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start"}},{"name":"end","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":250,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["social-factory"],"summary":"Create Social Post","operationId":"create_social_post_api_v1_social_factory_posts_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPostCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts/{post_id}":{"get":{"tags":["social-factory"],"summary":"Get Social Post","operationId":"get_social_post_api_v1_social_factory_posts__post_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["social-factory"],"summary":"Update Social Post","operationId":"update_social_post_api_v1_social_factory_posts__post_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialPostUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["social-factory"],"summary":"Delete Social Post","operationId":"delete_social_post_api_v1_social_factory_posts__post_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts/{post_id}/approve":{"post":{"tags":["social-factory"],"summary":"Approve Social Post","operationId":"approve_social_post_api_v1_social_factory_posts__post_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts/approve-batch":{"post":{"tags":["social-factory"],"summary":"Approve Batch","operationId":"approve_batch_api_v1_social_factory_posts_approve_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveBatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social/factory/posts/{post_id}/schedule":{"post":{"tags":["social-factory"],"summary":"Schedule Social Post","operationId":"schedule_social_post_api_v1_social_factory_posts__post_id__schedule_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__social_factory__ScheduleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts/{post_id}/export":{"post":{"tags":["social-factory"],"summary":"Export Social Post","operationId":"export_social_post_api_v1_social_factory_posts__post_id__export_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/posts/{post_id}/publish":{"post":{"tags":["social-factory"],"summary":"Publish Social Post","operationId":"publish_social_post_api_v1_social_factory_posts__post_id__publish_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/process-due":{"post":{"tags":["social-factory"],"summary":"Process Due Posts","description":"Process due scheduled posts; safe for manual trigger or cron.","operationId":"process_due_posts_api_v1_social_factory_process_due_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"window_minutes","in":"query","required":false,"schema":{"type":"integer","maximum":120,"minimum":1,"default":10,"title":"Window Minutes"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social/factory/calendar":{"get":{"tags":["social-factory"],"summary":"Social Calendar","operationId":"social_calendar_api_v1_social_factory_calendar_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"view","in":"query","required":false,"schema":{"enum":["week","month"],"type":"string","default":"week","title":"View"}},{"name":"anchor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"YYYY-MM-DD","title":"Anchor"},"description":"YYYY-MM-DD"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/widget/{agent_id}":{"get":{"tags":["widget"],"summary":"Get Widget Info","description":"Return agent info + listings for the embeddable widget. No auth required.","operationId":"get_widget_info_api_v1_public_widget__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/widget/{agent_id}/slots":{"get":{"tags":["widget"],"summary":"Get Widget Slots","description":"Return available time slots for a specific date. No auth required.","operationId":"get_widget_slots_api_v1_public_widget__agent_id__slots_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"date","in":"query","required":true,"schema":{"type":"string","format":"date","description":"Date to check availability (YYYY-MM-DD)","title":"Date"},"description":"Date to check availability (YYYY-MM-DD)"},{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/widget/{agent_id}/book":{"post":{"tags":["widget"],"summary":"Book Widget Showing","description":"Book a showing through the public widget. No auth required.","operationId":"book_widget_showing_api_v1_public_widget__agent_id__book_post","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetBookingRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/":{"post":{"tags":["referrals"],"summary":"Create Referral","description":"Create a new referral (send to another agent).","operationId":"create_referral_api_v1_referrals__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["referrals"],"summary":"List Referrals","description":"List my referrals (sent + received, with filters).","operationId":"list_referrals_api_v1_referrals__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(sent|received)$"},{"type":"null"}],"title":"Direction"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(pending|accepted|rejected|closed|expired)$"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ReferralResponse"},"title":"Response List Referrals Api V1 Referrals  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/stats":{"get":{"tags":["referrals"],"summary":"Get Referral Stats","description":"Get referral statistics for the current agent.","operationId":"get_referral_stats_api_v1_referrals_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralStats"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/referrals/network":{"get":{"tags":["referrals"],"summary":"Get Referral Network","description":"List agents in your referral network.","operationId":"get_referral_network_api_v1_referrals_network_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/NetworkAgent"},"type":"array","title":"Response Get Referral Network Api V1 Referrals Network Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/referrals/network/invite":{"post":{"tags":["referrals"],"summary":"Invite To Network","description":"Invite an agent to your referral network by email.","operationId":"invite_to_network_api_v1_referrals_network_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NetworkInviteRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/referrals/search-agents":{"get":{"tags":["referrals"],"summary":"Search Agents","description":"Search for agents by location/specialty to refer clients to.","operationId":"search_agents_api_v1_referrals_search_agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"location","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}],"title":"Location"}},{"name":"specialty","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}],"title":"Specialty"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/AgentSummary"},"title":"Response Search Agents Api V1 Referrals Search Agents Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/{referral_id}":{"get":{"tags":["referrals"],"summary":"Get Referral","description":"Get referral details.","operationId":"get_referral_api_v1_referrals__referral_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["referrals"],"summary":"Update Referral","description":"Update referral (status, notes, commission).","operationId":"update_referral_api_v1_referrals__referral_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["referrals"],"summary":"Delete Referral","description":"Cancel/delete a referral. Only the referring agent can delete, and only if pending.","operationId":"delete_referral_api_v1_referrals__referral_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/{referral_id}/accept":{"post":{"tags":["referrals"],"summary":"Accept Referral","description":"Accept an incoming referral.","operationId":"accept_referral_api_v1_referrals__referral_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/{referral_id}/reject":{"post":{"tags":["referrals"],"summary":"Reject Referral","description":"Reject an incoming referral.","operationId":"reject_referral_api_v1_referrals__referral_id__reject_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/{referral_id}/close":{"post":{"tags":["referrals"],"summary":"Close Referral","description":"Mark referral as closed (deal completed).","operationId":"close_referral_api_v1_referrals__referral_id__close_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"referral_id","in":"path","required":true,"schema":{"type":"string","title":"Referral Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/network/{connection_id}/accept":{"patch":{"tags":["referrals"],"summary":"Accept Network Invite","description":"Accept a pending network invitation.","operationId":"accept_network_invite_api_v1_referrals_network__connection_id__accept_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/referrals/network/{agent_id_to_remove}":{"delete":{"tags":["referrals"],"summary":"Remove From Network","description":"Remove an agent from your referral network.","operationId":"remove_from_network_api_v1_referrals_network__agent_id_to_remove__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"agent_id_to_remove","in":"path","required":true,"schema":{"type":"string","title":"Agent Id To Remove"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/growth-referrals/program":{"get":{"tags":["growth-referrals"],"summary":"Get Growth Referral Program","operationId":"get_growth_referral_program_api_v1_growth_referrals_program_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthReferralProgramResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/growth-referrals/":{"get":{"tags":["growth-referrals"],"summary":"List Growth Referrals","operationId":"list_growth_referrals_api_v1_growth_referrals__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(agent|brokerage)$"},{"type":"null"}],"title":"Target Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(referred|signed_up|qualified|converted|disqualified)$"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GrowthReferralResponse"},"title":"Response List Growth Referrals Api V1 Growth Referrals  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/growth-referrals/brokerage-leads":{"post":{"tags":["growth-referrals"],"summary":"Create Brokerage Growth Referral","operationId":"create_brokerage_growth_referral_api_v1_growth_referrals_brokerage_leads_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageLeadCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthReferralResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/property-pages/generate":{"post":{"tags":["property-pages"],"summary":"Generate Property Page","operationId":"generate_property_page_api_v1_property_pages_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyPageGenerateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/property-pages/{slug}":{"get":{"tags":["property-pages"],"summary":"Get Public Property Page","operationId":"get_public_property_page_api_v1_property_pages__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"}}}}}}},"/api/v1/property-pages/{slug}/inquire":{"post":{"tags":["property-pages"],"summary":"Inquire Property Page","operationId":"inquire_property_page_api_v1_property_pages__slug__inquire_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyInquiryRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property-pages/{slug}/analytics":{"get":{"tags":["property-pages"],"summary":"Property Page Analytics Summary","operationId":"property_page_analytics_summary_api_v1_property_pages__slug__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property-pages/listing/{listing_id}":{"get":{"tags":["property-pages"],"summary":"Get Listing Payload","operationId":"get_listing_payload_api_v1_property_pages_listing__listing_id__get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property-pages/listing/{listing_id}/similar":{"get":{"tags":["property-pages"],"summary":"Get Similar Properties","operationId":"get_similar_properties_api_v1_property_pages_listing__listing_id__similar_get","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"string","title":"Listing Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":3,"default":6,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property-pages/listing-search":{"get":{"tags":["property-pages"],"summary":"Search Listing Payloads","operationId":"search_listing_payloads_api_v1_property_pages_listing_search_get","parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"}},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Price"}},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Price"}},{"name":"beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"}},{"name":"baths","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/checklist/generate":{"post":{"tags":["transaction-coordinator"],"summary":"Generate Deal Checklist","description":"AI-generate a full checklist from deal data and best-matching template.","operationId":"generate_deal_checklist_api_v1_deals__deal_id__checklist_generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/app__api__v1__endpoints__transaction_coordinator__GenerateChecklistRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/checklist/{item_id}":{"patch":{"tags":["transaction-coordinator"],"summary":"Update Checklist Item","description":"Update a checklist item — complete, reschedule, reassign, etc.","operationId":"update_checklist_item_api_v1_deals__deal_id__checklist__item_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistItemUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["transaction-coordinator"],"summary":"Delete Checklist Item","description":"Remove a checklist item.","operationId":"delete_checklist_item_api_v1_deals__deal_id__checklist__item_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/health":{"get":{"tags":["transaction-coordinator"],"summary":"Deal Health","description":"Get deal health score and risk summary.","operationId":"deal_health_api_v1_deals__deal_id__health_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/transaction-templates":{"get":{"tags":["transaction-coordinator"],"summary":"List Templates","description":"List available templates (system + agent custom).","operationId":"list_templates_api_v1_transaction_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"deal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agents/me/deadlines":{"get":{"tags":["transaction-coordinator"],"summary":"My Deadlines","description":"All upcoming deadlines across all deals for the morning digest.","operationId":"my_deadlines_api_v1_agents_me_deadlines_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cma/generate":{"post":{"tags":["cma"],"summary":"Generate Cma Report Endpoint","operationId":"generate_cma_report_endpoint_api_v1_cma_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMAGenerateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/pull-comps":{"post":{"tags":["cma"],"summary":"Pull Comps Endpoint","operationId":"pull_comps_endpoint_api_v1_cma_pull_comps_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMAPullCompsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/calculate-adjustments":{"post":{"tags":["cma"],"summary":"Calculate Adjustments Endpoint","operationId":"calculate_adjustments_endpoint_api_v1_cma_calculate_adjustments_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMACalculateAdjustmentsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/narrative":{"post":{"tags":["cma"],"summary":"Narrative Endpoint","operationId":"narrative_endpoint_api_v1_cma_narrative_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMANarrativeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/presentation":{"post":{"tags":["cma"],"summary":"Presentation Endpoint","operationId":"presentation_endpoint_api_v1_cma_presentation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMAPresentationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/predict-price":{"post":{"tags":["cma"],"summary":"Predict Price Endpoint","operationId":"predict_price_endpoint_api_v1_cma_predict_price_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMAPredictPriceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/investment-analysis":{"post":{"tags":["cma"],"summary":"Investment Analysis Endpoint","operationId":"investment_analysis_endpoint_api_v1_cma_investment_analysis_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CMAInvestmentAnalysisRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/cma/reports":{"get":{"tags":["cma"],"summary":"List Cma Reports","operationId":"list_cma_reports_api_v1_cma_reports_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cma/":{"get":{"tags":["cma"],"summary":"List Cma Reports","operationId":"list_cma_reports_api_v1_cma__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cma/{report_id}":{"get":{"tags":["cma"],"summary":"Get Cma Report","operationId":"get_cma_report_api_v1_cma__report_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["cma"],"summary":"Delete Cma Report","operationId":"delete_cma_report_api_v1_cma__report_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","title":"Report Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/cma/reports/{report_id}":{"get":{"tags":["cma"],"summary":"Get Cma Report","operationId":"get_cma_report_api_v1_cma_reports__report_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"string","title":"Report Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/presentations/generate":{"post":{"tags":["presentations"],"summary":"Generate Listing Presentation","description":"Generate a new listing presentation for the given address.","operationId":"generate_listing_presentation_api_v1_presentations_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationGenerateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/presentations/":{"get":{"tags":["presentations"],"summary":"List Presentations","description":"List all listing presentations for the authenticated agent.","operationId":"list_presentations_api_v1_presentations__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/presentations/{presentation_id}":{"get":{"tags":["presentations"],"summary":"Get Presentation","description":"Get a single listing presentation by ID.","operationId":"get_presentation_api_v1_presentations__presentation_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"string","title":"Presentation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["presentations"],"summary":"Delete Presentation","description":"Delete a listing presentation.","operationId":"delete_presentation_api_v1_presentations__presentation_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"string","title":"Presentation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/":{"get":{"tags":["drip-campaigns"],"summary":"List Campaigns","description":"List all drip campaigns for the authenticated agent, including system templates.","operationId":"list_campaigns_api_v1_drip__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["drip-campaigns"],"summary":"Create Campaign","description":"Create a new drip campaign.","operationId":"create_campaign_api_v1_drip__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__drip_campaigns__CampaignCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}":{"get":{"tags":["drip-campaigns"],"summary":"Get Campaign","description":"Get a campaign with its steps.","operationId":"get_campaign_api_v1_drip__campaign_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["drip-campaigns"],"summary":"Update Campaign","description":"Update a campaign's metadata.","operationId":"update_campaign_api_v1_drip__campaign_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["drip-campaigns"],"summary":"Delete Campaign","description":"Delete a campaign and all its steps/enrollments (via CASCADE).","operationId":"delete_campaign_api_v1_drip__campaign_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/steps":{"post":{"tags":["drip-campaigns"],"summary":"Create Step","description":"Add a step to a campaign.","operationId":"create_step_api_v1_drip__campaign_id__steps_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/steps/{step_id}":{"patch":{"tags":["drip-campaigns"],"summary":"Update Step","description":"Update a step in a campaign.","operationId":"update_step_api_v1_drip__campaign_id__steps__step_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"step_id","in":"path","required":true,"schema":{"type":"string","title":"Step Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["drip-campaigns"],"summary":"Delete Step","description":"Delete a step from a campaign.","operationId":"delete_step_api_v1_drip__campaign_id__steps__step_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"step_id","in":"path","required":true,"schema":{"type":"string","title":"Step Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/enroll":{"post":{"tags":["drip-campaigns"],"summary":"Enroll Contacts","description":"Enroll one or more contacts in a drip campaign.","operationId":"enroll_contacts_api_v1_drip__campaign_id__enroll_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/enrollments":{"get":{"tags":["drip-campaigns"],"summary":"List Enrollments","description":"List enrollments for a campaign.","operationId":"list_enrollments_api_v1_drip__campaign_id__enrollments_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/pause":{"post":{"tags":["drip-campaigns"],"summary":"Pause Campaign Enrollment","description":"Pause all active enrollments in a campaign.","operationId":"pause_campaign_enrollment_api_v1_drip__campaign_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/resume":{"post":{"tags":["drip-campaigns"],"summary":"Resume Campaign Enrollment","description":"Resume all paused enrollments in a campaign.","operationId":"resume_campaign_enrollment_api_v1_drip__campaign_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/drip/{campaign_id}/stats":{"get":{"tags":["drip-campaigns"],"summary":"Campaign Stats","description":"Get aggregate stats for a drip campaign.","operationId":"campaign_stats_api_v1_drip__campaign_id__stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/push/status":{"get":{"tags":["push-notifications"],"summary":"Get Push Status","description":"Return the current push delivery status for the authenticated agent.","operationId":"get_push_status_api_v1_push_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/push/register":{"post":{"tags":["push-notifications"],"summary":"Register Push Token","description":"Store an Expo push token for the current agent, deduped across devices.","operationId":"register_push_token_api_v1_push_register_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterTokenRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["push-notifications"],"summary":"Unregister Push Token","description":"Remove one Expo push token, or clear all tokens when none is provided.","operationId":"unregister_push_token_api_v1_push_register_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/push/settings":{"patch":{"tags":["push-notifications"],"summary":"Update Push Settings","description":"Update push delivery settings (enable/disable).","operationId":"update_push_settings_api_v1_push_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PushStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/resources":{"post":{"tags":["resources"],"summary":"Create Resource","description":"Create a new resource.","operationId":"create_resource_api_v1_resources_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateResourceRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["resources"],"summary":"List Resources","description":"List agent's resources with optional filters.","operationId":"list_resources_api_v1_resources_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"published","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Published"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/analytics":{"get":{"tags":["resources"],"summary":"Get Overview Analytics","description":"Get overview analytics across all resources.","operationId":"get_overview_analytics_api_v1_resources_analytics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/resources/templates":{"get":{"tags":["resources"],"summary":"Get Templates","description":"List system resource templates for quick-start creation.","operationId":"get_templates_api_v1_resources_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/resources/intelligence-dashboard":{"get":{"tags":["resources"],"summary":"Get Intelligence Dashboard","description":"Full lead magnet intelligence dashboard with attribution and ROI.","operationId":"get_intelligence_dashboard_api_v1_resources_intelligence_dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/{resource_id}":{"get":{"tags":["resources"],"summary":"Get Resource","description":"Get a single resource by ID.","operationId":"get_resource_api_v1_resources__resource_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["resources"],"summary":"Update Resource","description":"Update a resource.","operationId":"update_resource_api_v1_resources__resource_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateResourceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["resources"],"summary":"Delete Resource","description":"Delete a resource and all associated data.","operationId":"delete_resource_api_v1_resources__resource_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/{resource_id}/publish":{"post":{"tags":["resources"],"summary":"Publish Resource","description":"Publish a resource (make visible on public storefront).","operationId":"publish_resource_api_v1_resources__resource_id__publish_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/{resource_id}/unpublish":{"post":{"tags":["resources"],"summary":"Unpublish Resource","description":"Unpublish a resource (hide from public storefront).","operationId":"unpublish_resource_api_v1_resources__resource_id__unpublish_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/{resource_id}/generate":{"post":{"tags":["resources"],"summary":"Generate Resource Content","description":"AI-generate content for a resource. Creates a new resource with generated content.","operationId":"generate_resource_content_api_v1_resources__resource_id__generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateResourceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/{resource_id}/analytics":{"get":{"tags":["resources"],"summary":"Get Resource Analytics","description":"Get analytics for a specific resource.","operationId":"get_resource_analytics_api_v1_resources__resource_id__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/resources/courses":{"post":{"tags":["resources"],"summary":"Create Course","description":"Create a new course with modules.","operationId":"create_course_api_v1_resources_courses_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCourseRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/resources/courses/ai-generate":{"post":{"tags":["resources"],"summary":"Ai Generate Course","description":"AI generates a complete course with modules and quizzes.","operationId":"ai_generate_course_api_v1_resources_courses_ai_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIGenerateCourseRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/resources/courses/{resource_id}/modules":{"get":{"tags":["resources"],"summary":"Get Course Modules","description":"Get all modules for a course.","operationId":"get_course_modules_api_v1_resources_courses__resource_id__modules_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{agent_slug}/resources":{"get":{"tags":["public-resources"],"summary":"List Public Resources","description":"List published resources for an agent (public, no auth).","operationId":"list_public_resources_api_v1_public_agents__agent_slug__resources_get","parameters":[{"name":"agent_slug","in":"path","required":true,"schema":{"type":"string","title":"Agent Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{agent_slug}/resources/{resource_slug}":{"get":{"tags":["public-resources"],"summary":"Get Public Resource","description":"Get a published resource detail (public, no auth).","operationId":"get_public_resource_api_v1_public_agents__agent_slug__resources__resource_slug__get","parameters":[{"name":"agent_slug","in":"path","required":true,"schema":{"type":"string","title":"Agent Slug"}},{"name":"resource_slug","in":"path","required":true,"schema":{"type":"string","title":"Resource Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{agent_slug}/resources/{resource_slug}/capture":{"post":{"tags":["public-resources"],"summary":"Capture Lead","description":"Submit a lead capture form for a resource (public, no auth).","operationId":"capture_lead_api_v1_public_agents__agent_slug__resources__resource_slug__capture_post","parameters":[{"name":"agent_slug","in":"path","required":true,"schema":{"type":"string","title":"Agent Slug"}},{"name":"resource_slug","in":"path","required":true,"schema":{"type":"string","title":"Resource Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadCaptureRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/agents/{agent_slug}/resources/{resource_slug}/view":{"post":{"tags":["public-resources"],"summary":"Track View","description":"Track a page view for a resource (public, no auth).","operationId":"track_view_api_v1_public_agents__agent_slug__resources__resource_slug__view_post","parameters":[{"name":"agent_slug","in":"path","required":true,"schema":{"type":"string","title":"Agent Slug"}},{"name":"resource_slug","in":"path","required":true,"schema":{"type":"string","title":"Resource Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackViewRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/courses/{resource_id}/complete-module":{"post":{"tags":["public-resources"],"summary":"Complete Module","description":"Record module completion for a lead (public endpoint).","operationId":"complete_module_api_v1_public_courses__resource_id__complete_module_post","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModuleCompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/courses/{resource_id}/progress":{"post":{"tags":["public-resources"],"summary":"Get Course Progress","description":"Get a contact's course progress (public endpoint).","operationId":"get_course_progress_api_v1_public_courses__resource_id__progress_post","parameters":[{"name":"resource_id","in":"path","required":true,"schema":{"type":"string","title":"Resource Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CourseProgressRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/sessions":{"post":{"tags":["client-portal"],"summary":"Create Session","description":"Create a portal session for a client.","operationId":"create_session_api_v1_portal_sessions_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePortalRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["client-portal"],"summary":"List Sessions","description":"List all portal sessions for this agent.","operationId":"list_sessions_api_v1_portal_sessions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/sessions/{session_id}":{"delete":{"tags":["client-portal"],"summary":"Deactivate Session","description":"Deactivate a portal session.","operationId":"deactivate_session_api_v1_portal_sessions__session_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"string","title":"Session Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}":{"get":{"tags":["client-portal"],"summary":"Public Deal Portal","description":"Standalone no-login deal portal authenticated by the deal's portal token.","operationId":"public_deal_portal_api_v1_portal__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/documents":{"post":{"tags":["client-portal"],"summary":"Upload Portal Document","description":"Upload a supporting document to a deal from the standalone public portal.","operationId":"upload_portal_document_api_v1_portal__token__documents_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_portal_document_api_v1_portal__token__documents_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["client-portal"],"summary":"Portal Documents","description":"Documents shared with this client.","operationId":"portal_documents_api_v1_portal__token__documents_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/dashboard":{"get":{"tags":["client-portal"],"summary":"Portal Dashboard","description":"Client's personalized dashboard.","operationId":"portal_dashboard_api_v1_portal__token__dashboard_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/showings":{"get":{"tags":["client-portal"],"summary":"Portal Showings","description":"All showings for this client.","operationId":"portal_showings_api_v1_portal__token__showings_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/favorites":{"get":{"tags":["client-portal"],"summary":"Portal Favorites","description":"Saved/favorited properties.","operationId":"portal_favorites_api_v1_portal__token__favorites_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["client-portal"],"summary":"Add Favorite","description":"Add a property to favorites.","operationId":"add_favorite_api_v1_portal__token__favorites_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddFavoriteRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/favorites/{favorite_id}":{"delete":{"tags":["client-portal"],"summary":"Remove Favorite","description":"Remove a property from favorites.","operationId":"remove_favorite_api_v1_portal__token__favorites__favorite_id__delete","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"favorite_id","in":"path","required":true,"schema":{"type":"string","title":"Favorite Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/messages":{"get":{"tags":["client-portal"],"summary":"Portal Messages","description":"Communication thread with agent.","operationId":"portal_messages_api_v1_portal__token__messages_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["client-portal"],"summary":"Send Message","description":"Send a message to the agent.","operationId":"send_message_api_v1_portal__token__messages_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__client_portal__SendMessageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portal/{token}/deal":{"get":{"tags":["client-portal"],"summary":"Portal Deal","description":"Deal status with timeline + checklist progress.","operationId":"portal_deal_api_v1_portal__token__deal_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kiosk/checkin":{"post":{"tags":["kiosk"],"summary":"Kiosk Checkin","description":"Public kiosk check-in — creates a CRM contact and increments visitor count.\n\nNo JWT required: kiosk devices call this endpoint directly.\nThe open_house record determines the owning agent.","operationId":"kiosk_checkin_api_v1_kiosk_checkin_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/KioskCheckinRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/kiosk/{open_house_id}/stats":{"get":{"tags":["kiosk"],"summary":"Kiosk Stats","description":"Get visitor stats for an open house (agent-authenticated).","operationId":"kiosk_stats_api_v1_kiosk__open_house_id__stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"open_house_id","in":"path","required":true,"schema":{"type":"string","title":"Open House Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/video-messages/":{"post":{"tags":["video-messages"],"summary":"Create Video Message","description":"Create a video message (upload URL + optional recipient).","operationId":"create_video_message_api_v1_video_messages__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVideoMessageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["video-messages"],"summary":"List Video Messages","description":"List all video messages for this agent.","operationId":"list_video_messages_api_v1_video_messages__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/video-messages/{video_id}":{"get":{"tags":["video-messages"],"summary":"Get Video Message","description":"Get a single video message.","operationId":"get_video_message_api_v1_video_messages__video_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"string","title":"Video Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["video-messages"],"summary":"Update Video Message","description":"Update a video message (subject, message, recipient).","operationId":"update_video_message_api_v1_video_messages__video_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"string","title":"Video Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateVideoMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["video-messages"],"summary":"Delete Video Message","description":"Delete a video message.","operationId":"delete_video_message_api_v1_video_messages__video_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"string","title":"Video Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/video-messages/{video_id}/send":{"post":{"tags":["video-messages"],"summary":"Send Video Message","description":"Send a video message via email with thumbnail + play link.","operationId":"send_video_message_api_v1_video_messages__video_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"string","title":"Video Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/video-messages/public/{video_id}":{"get":{"tags":["video-messages"],"summary":"Public Video Playback","description":"Public video playback page — tracks views.\n\nNo authentication required. Each visit increments the view count.","operationId":"public_video_playback_api_v1_video_messages_public__video_id__get","parameters":[{"name":"video_id","in":"path","required":true,"schema":{"type":"string","title":"Video Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/coaching/daily-plan":{"get":{"tags":["coaching"],"summary":"Get Daily Plan","description":"Generate personalized daily action plan based on agent's current state.","operationId":"get_daily_plan_api_v1_coaching_daily_plan_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/coaching/activities":{"post":{"tags":["coaching"],"summary":"Create Activity","description":"Log a completed activity.","operationId":"create_activity_api_v1_coaching_activities_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogActivityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/coaching/streak":{"get":{"tags":["coaching"],"summary":"Get Streak","description":"Get current streak and weekly activity summary.","operationId":"get_streak_api_v1_coaching_streak_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/coaching/scripts":{"get":{"tags":["coaching"],"summary":"List Scripts","description":"List all scripts with optional filters.","operationId":"list_scripts_api_v1_coaching_scripts_get","parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"difficulty","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Difficulty"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/coaching/scripts/{script_id}":{"get":{"tags":["coaching"],"summary":"Get Script Detail","description":"Get full script detail including text and tips.","operationId":"get_script_detail_api_v1_coaching_scripts__script_id__get","parameters":[{"name":"script_id","in":"path","required":true,"schema":{"type":"string","title":"Script Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/coaching/scripts/{script_id}/personalize":{"post":{"tags":["coaching"],"summary":"Personalize Script Endpoint","description":"Personalize a script with contact and agent data.","operationId":"personalize_script_endpoint_api_v1_coaching_scripts__script_id__personalize_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"script_id","in":"path","required":true,"schema":{"type":"string","title":"Script Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PersonalizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/coaching/scripts/{script_id}/role-play":{"post":{"tags":["coaching"],"summary":"Role Play Endpoint","description":"AI role-play practice session for a script.","operationId":"role_play_endpoint_api_v1_coaching_scripts__script_id__role_play_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"script_id","in":"path","required":true,"schema":{"type":"string","title":"Script Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RolePlayRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/home-value/estimate":{"post":{"tags":["home-value"],"summary":"Get Home Value Estimate","description":"Public endpoint — generate instant home value estimate and capture lead.","operationId":"get_home_value_estimate_api_v1_public_home_value_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HomeValueRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/home-value/{agent_slug}/stats":{"get":{"tags":["home-value"],"summary":"Get Home Value Stats","description":"Public stats for social proof on the home value page.","operationId":"get_home_value_stats_api_v1_public_home_value__agent_slug__stats_get","parameters":[{"name":"agent_slug","in":"path","required":true,"schema":{"type":"string","title":"Agent Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prospecting/search":{"get":{"tags":["prospecting"],"summary":"Search","description":"Search for FSBO or expired listings in an area.","operationId":"search_api_v1_prospecting_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"type":"string","description":"fsbo or expired","default":"fsbo","title":"Type"},"description":"fsbo or expired"},{"name":"zip","in":"query","required":true,"schema":{"type":"string","description":"ZIP code to search","title":"Zip"},"description":"ZIP code to search"},{"name":"radius","in":"query","required":false,"schema":{"type":"integer","description":"Radius in miles","default":10,"title":"Radius"},"description":"Radius in miles"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prospecting/pipeline":{"post":{"tags":["prospecting"],"summary":"Add Prospect","description":"Add a prospect to the agent's pipeline.","operationId":"add_prospect_api_v1_prospecting_pipeline_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddToPipelineRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["prospecting"],"summary":"List Pipeline","description":"Get agent's prospect pipeline.","operationId":"list_pipeline_api_v1_prospecting_pipeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prospecting/generate-outreach":{"post":{"tags":["prospecting"],"summary":"Gen Outreach","description":"AI-generate personalized outreach for a prospect.","operationId":"gen_outreach_api_v1_prospecting_generate_outreach_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutreachRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/prospecting/log-outreach":{"post":{"tags":["prospecting"],"summary":"Log Attempt","description":"Log an outreach attempt on a prospect.","operationId":"log_attempt_api_v1_prospecting_log_outreach_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogOutreachRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/prospecting/pipeline/{prospect_id}/status":{"patch":{"tags":["prospecting"],"summary":"Update Status","description":"Update a prospect's status.","operationId":"update_status_api_v1_prospecting_pipeline__prospect_id__status_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"prospect_id","in":"path","required":true,"schema":{"type":"string","title":"Prospect Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/revenue/dashboard":{"get":{"tags":["revenue"],"summary":"Revenue Dashboard","description":"Full revenue intelligence dashboard.","operationId":"revenue_dashboard_api_v1_revenue_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/revenue/lead-sources":{"get":{"tags":["revenue"],"summary":"Lead Sources","description":"Lead source ROI breakdown.","operationId":"lead_sources_api_v1_revenue_lead_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/revenue/activities":{"get":{"tags":["revenue"],"summary":"Activities","description":"Activity metrics for the last N days.","operationId":"activities_api_v1_revenue_activities_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/revenue/forecast":{"get":{"tags":["revenue"],"summary":"Forecast","description":"Monthly income forecast based on pipeline.","operationId":"forecast_api_v1_revenue_forecast_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":1,"default":3,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/revenue/annual-goal":{"post":{"tags":["revenue"],"summary":"Create Goal","description":"Set or update annual GCI goal.","operationId":"create_goal_api_v1_revenue_annual_goal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoalRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/listing-automation/launch/{deal_id}":{"post":{"tags":["listing-automation"],"summary":"Launch Listing","description":"Trigger full listing marketing cascade — generates everything.","operationId":"launch_listing_api_v1_listing_automation_launch__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listing-automation/price-reduction/{deal_id}":{"post":{"tags":["listing-automation"],"summary":"Price Reduction","description":"Generate price reduction marketing content.","operationId":"price_reduction_api_v1_listing_automation_price_reduction__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PriceReductionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listing-automation/just-sold/{deal_id}":{"post":{"tags":["listing-automation"],"summary":"Just Sold","description":"Generate Just Sold marketing content.","operationId":"just_sold_api_v1_listing_automation_just_sold__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JustSoldRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/listing-automation/cascade/{deal_id}":{"get":{"tags":["listing-automation"],"summary":"Get Listing Cascade","description":"Get existing marketing cascade for a deal.","operationId":"get_listing_cascade_api_v1_listing_automation_cascade__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/social-content/calendar":{"get":{"tags":["social-content"],"summary":"Get Calendar","description":"Get the weekly content calendar template.","operationId":"get_calendar_api_v1_social_content_calendar_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/social-content/generate-weekly":{"post":{"tags":["social-content"],"summary":"Gen Weekly","description":"Generate 7 days of social media content for the agent.","operationId":"gen_weekly_api_v1_social_content_generate_weekly_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social-content/generate-listing":{"post":{"tags":["social-content"],"summary":"Gen Listing","description":"Generate social content for a specific listing.","operationId":"gen_listing_api_v1_social_content_generate_listing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingContentRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social-content/train-voice":{"post":{"tags":["social-content"],"summary":"Train Voice","description":"Analyze existing social posts and persist the agent's brand voice profile.","operationId":"train_voice_api_v1_social_content_train_voice_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrainVoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/social-content/voice-profile":{"get":{"tags":["social-content"],"summary":"Get Voice Profile","description":"Return the saved brand voice profile for the current agent.","operationId":"get_voice_profile_api_v1_social_content_voice_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/state":{"get":{"tags":["onboarding"],"summary":"Get State","description":"Get current onboarding progress.","operationId":"get_state_api_v1_onboarding_state_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/conversation":{"post":{"tags":["onboarding"],"summary":"Converse","description":"Process an onboarding conversation message. Returns AI response + UI actions.","operationId":"converse_api_v1_onboarding_conversation_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/import-csv":{"post":{"tags":["onboarding"],"summary":"Import Csv","description":"Import contacts from a CSV file during onboarding.","operationId":"import_csv_api_v1_onboarding_import_csv_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_import_csv_api_v1_onboarding_import_csv_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/connections":{"get":{"tags":["onboarding"],"summary":"List Connections","description":"List available account connections for onboarding.","operationId":"list_connections_api_v1_onboarding_connections_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/onboarding/migration-sources":{"get":{"tags":["onboarding"],"summary":"List Migration Sources","description":"List available CRM migration sources.","operationId":"list_migration_sources_api_v1_onboarding_migration_sources_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/onboarding/profile":{"patch":{"tags":["onboarding"],"summary":"Update Profile","description":"Update agent profile information during onboarding.","operationId":"update_profile_api_v1_onboarding_profile_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/complete":{"post":{"tags":["onboarding"],"summary":"Complete Onboarding","description":"Mark onboarding as complete and optionally seed demo data.","operationId":"complete_onboarding_api_v1_onboarding_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OnboardingComplete"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/skip":{"post":{"tags":["onboarding"],"summary":"Skip To Complete","description":"Skip remaining onboarding steps and go to dashboard.","operationId":"skip_to_complete_api_v1_onboarding_skip_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/feed":{"post":{"tags":["network-feed"],"summary":"Create Post","operationId":"create_post_api_v1_network_feed_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__network_feed__CreatePostRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["network-feed"],"summary":"Get Feed","operationId":"get_feed_api_v1_network_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/search":{"get":{"tags":["network-feed"],"summary":"Search Feed","operationId":"search_feed_api_v1_network_feed_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","title":"Q"}},{"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/v1/network/feed/trending":{"get":{"tags":["network-feed"],"summary":"Get Trending","operationId":"get_trending_api_v1_network_feed_trending_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/{post_id}":{"get":{"tags":["network-feed"],"summary":"Get Post","operationId":"get_post_api_v1_network_feed__post_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["network-feed"],"summary":"Update Post","operationId":"update_post_api_v1_network_feed__post_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__network_feed__CreatePostRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["network-feed"],"summary":"Delete Post","operationId":"delete_post_api_v1_network_feed__post_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/{post_id}/like":{"post":{"tags":["network-feed"],"summary":"Like Post","operationId":"like_post_api_v1_network_feed__post_id__like_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["network-feed"],"summary":"Unlike Post","operationId":"unlike_post_api_v1_network_feed__post_id__like_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/{post_id}/comments":{"post":{"tags":["network-feed"],"summary":"Comment On Post","operationId":"comment_on_post_api_v1_network_feed__post_id__comments_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__network_feed__CommentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["network-feed"],"summary":"Get Comments","operationId":"get_comments_api_v1_network_feed__post_id__comments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/{post_id}/share":{"post":{"tags":["network-feed"],"summary":"Share Post","operationId":"share_post_api_v1_network_feed__post_id__share_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/feed/from-deal/{deal_id}":{"post":{"tags":["network-feed"],"summary":"Create From Deal","operationId":"create_from_deal_api_v1_network_feed_from_deal__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs":{"post":{"tags":["network-gigs"],"summary":"Create Gig","operationId":"create_gig_api_v1_network_gigs_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["network-gigs"],"summary":"Get Available Gigs","operationId":"get_available_gigs_api_v1_network_gigs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"min_budget","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Budget"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/my/posted":{"get":{"tags":["network-gigs"],"summary":"Get My Posted","operationId":"get_my_posted_api_v1_network_gigs_my_posted_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/my/working":{"get":{"tags":["network-gigs"],"summary":"Get My Working","operationId":"get_my_working_api_v1_network_gigs_my_working_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/my/bids":{"get":{"tags":["network-gigs"],"summary":"Get My Bids","operationId":"get_my_bids_api_v1_network_gigs_my_bids_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/gigs/suggested":{"get":{"tags":["network-gigs"],"summary":"Get Suggested","operationId":"get_suggested_api_v1_network_gigs_suggested_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/gigs/price-suggestion":{"get":{"tags":["network-gigs"],"summary":"Get Price Suggestion","operationId":"get_price_suggestion_api_v1_network_gigs_price_suggestion_get","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string","title":"Type"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"duration","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}":{"get":{"tags":["network-gigs"],"summary":"Get Gig","operationId":"get_gig_api_v1_network_gigs__gig_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/bid":{"post":{"tags":["network-gigs"],"summary":"Place Bid","operationId":"place_bid_api_v1_network_gigs__gig_id__bid_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BidRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/accept/{bid_id}":{"post":{"tags":["network-gigs"],"summary":"Accept Bid","operationId":"accept_bid_api_v1_network_gigs__gig_id__accept__bid_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}},{"name":"bid_id","in":"path","required":true,"schema":{"type":"string","title":"Bid Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/complete":{"post":{"tags":["network-gigs"],"summary":"Complete Gig","operationId":"complete_gig_api_v1_network_gigs__gig_id__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompletionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/cancel":{"post":{"tags":["network-gigs"],"summary":"Cancel Gig","operationId":"cancel_gig_api_v1_network_gigs__gig_id__cancel_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/dispute":{"post":{"tags":["network-gigs"],"summary":"Dispute Gig","operationId":"dispute_gig_api_v1_network_gigs__gig_id__dispute_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/gigs/{gig_id}/rate":{"post":{"tags":["network-gigs"],"summary":"Rate Gig","operationId":"rate_gig_api_v1_network_gigs__gig_id__rate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"gig_id","in":"path","required":true,"schema":{"type":"string","title":"Gig Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/chat/channels":{"get":{"tags":["network-chat"],"summary":"Get Channels","operationId":"get_channels_api_v1_network_chat_channels_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/chat/dm/{target_id}":{"post":{"tags":["network-chat"],"summary":"Get Or Create Dm","operationId":"get_or_create_dm_api_v1_network_chat_dm__target_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_id","in":"path","required":true,"schema":{"type":"string","title":"Target Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/chat/group":{"post":{"tags":["network-chat"],"summary":"Create Group","operationId":"create_group_api_v1_network_chat_group_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateGroupRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/chat/{channel_id}/messages":{"get":{"tags":["network-chat"],"summary":"Get Messages","operationId":"get_messages_api_v1_network_chat__channel_id__messages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}},{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["network-chat"],"summary":"Send Message","operationId":"send_message_api_v1_network_chat__channel_id__messages_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__network_chat__SendMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/chat/{channel_id}/read":{"post":{"tags":["network-chat"],"summary":"Mark Read","operationId":"mark_read_api_v1_network_chat__channel_id__read_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"channel_id","in":"path","required":true,"schema":{"type":"string","title":"Channel Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/chat/messages/{message_id}/react":{"post":{"tags":["network-chat"],"summary":"Add Reaction","operationId":"add_reaction_api_v1_network_chat_messages__message_id__react_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"message_id","in":"path","required":true,"schema":{"type":"string","title":"Message Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/chat/unread":{"get":{"tags":["network-chat"],"summary":"Get Unread","operationId":"get_unread_api_v1_network_chat_unread_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/connections":{"get":{"tags":["network-connections"],"summary":"Get Connections","operationId":"get_connections_api_v1_network_connections_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/request/{target_id}":{"post":{"tags":["network-connections"],"summary":"Send Request","operationId":"send_request_api_v1_network_connections_request__target_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_id","in":"path","required":true,"schema":{"type":"string","title":"Target Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/{connection_id}/accept":{"post":{"tags":["network-connections"],"summary":"Accept Request","operationId":"accept_request_api_v1_network_connections__connection_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/{connection_id}/decline":{"post":{"tags":["network-connections"],"summary":"Decline Request","operationId":"decline_request_api_v1_network_connections__connection_id__decline_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/{connection_id}":{"delete":{"tags":["network-connections"],"summary":"Remove Connection","operationId":"remove_connection_api_v1_network_connections__connection_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connection_id","in":"path","required":true,"schema":{"type":"string","title":"Connection Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/suggestions":{"get":{"tags":["network-connections"],"summary":"Get Suggestions","operationId":"get_suggestions_api_v1_network_connections_suggestions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/connections/mutual/{other_id}":{"get":{"tags":["network-connections"],"summary":"Get Mutual","operationId":"get_mutual_api_v1_network_connections_mutual__other_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"other_id","in":"path","required":true,"schema":{"type":"string","title":"Other Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/connections/agents/search":{"get":{"tags":["network-connections"],"summary":"Search Agents","operationId":"search_agents_api_v1_network_connections_agents_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","title":"Q"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/pricing/suggest":{"get":{"tags":["network-pricing"],"summary":"Get Pricing Suggestion","description":"Get a suggested rate for a DockNetwork task.\n\nReturns base rate, applied multipliers, final suggested rate, and a range.","operationId":"get_pricing_suggestion_api_v1_network_pricing_suggest_get","parameters":[{"name":"task_type","in":"query","required":true,"schema":{"type":"string","description":"Task type: showing, open_house, inspection_attendance, photography, lockbox_check, sign_install, document_delivery, comp_research","title":"Task Type"},"description":"Task type: showing, open_house, inspection_attendance, photography, lockbox_check, sign_install, document_delivery, comp_research"},{"name":"urgency","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Urgency: same_day, within_24h, standard","title":"Urgency"},"description":"Urgency: same_day, within_24h, standard"},{"name":"metro_area","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Metro area slug: san_francisco, new_york, etc.","title":"Metro Area"},"description":"Metro area slug: san_francisco, new_york, etc."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/reputation/me":{"get":{"tags":["network-reputation"],"summary":"Get My Reputation","operationId":"get_my_reputation_api_v1_network_reputation_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/reputation/leaderboard":{"get":{"tags":["network-reputation"],"summary":"Get Leaderboard","operationId":"get_leaderboard_api_v1_network_reputation_leaderboard_get","parameters":[{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},{"name":"metric","in":"query","required":false,"schema":{"type":"string","default":"gigs_completed","title":"Metric"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/reputation/{agent_id}":{"get":{"tags":["network-reputation"],"summary":"Get Reputation","operationId":"get_reputation_api_v1_network_reputation__agent_id__get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/pre-listing-kit":{"post":{"tags":["zero-to-domination"],"summary":"Create Pre Listing Kit","operationId":"create_pre_listing_kit_api_v1_tools_pre_listing_kit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreListingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/seller-net-sheet":{"post":{"tags":["zero-to-domination"],"summary":"Calculate Seller Net Sheet","operationId":"calculate_seller_net_sheet_api_v1_tools_seller_net_sheet_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__pre_listing__NetSheetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/soi/analyze":{"post":{"tags":["zero-to-domination"],"summary":"Analyze Soi","operationId":"analyze_soi_api_v1_tools_soi_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SOIAnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/soi/touch-suggestions":{"post":{"tags":["zero-to-domination"],"summary":"Get Touch Suggestions","operationId":"get_touch_suggestions_api_v1_tools_soi_touch_suggestions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TouchSuggestionsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/soi/referral-score":{"post":{"tags":["zero-to-domination"],"summary":"Score Referral","operationId":"score_referral_api_v1_tools_soi_referral_score_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralScoreRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/buyer-kit":{"post":{"tags":["zero-to-domination"],"summary":"Create Buyer Kit","operationId":"create_buyer_kit_api_v1_tools_buyer_kit_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyerKitRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/offer-strategy":{"post":{"tags":["zero-to-domination"],"summary":"Generate Offer Strategy","operationId":"generate_offer_strategy_api_v1_tools_offer_strategy_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferStrategyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/connect":{"get":{"tags":["canva"],"summary":"Connect Canva","description":"Start Canva OAuth flow — returns authorization URL.","operationId":"connect_canva_api_v1_canva_connect_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/test-connect":{"get":{"tags":["canva"],"summary":"Test Connect Canva","description":"Unauthenticated OAuth test endpoint for Canva submission verification.\n\nOnly available in non-production environments.","operationId":"test_connect_canva_api_v1_canva_test_connect_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/canva/callback":{"get":{"tags":["canva"],"summary":"Canva Callback","description":"Handle Canva OAuth callback — exchange code for tokens.","operationId":"canva_callback_api_v1_canva_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/status":{"get":{"tags":["canva"],"summary":"Canva Status","description":"Check if agent has connected Canva account.","operationId":"canva_status_api_v1_canva_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/disconnect":{"post":{"tags":["canva"],"summary":"Disconnect Canva","description":"Disconnect agent's Canva account.","operationId":"disconnect_canva_api_v1_canva_disconnect_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/templates":{"get":{"tags":["canva"],"summary":"List Templates","description":"List brand templates from agent's Canva account.","operationId":"list_templates_api_v1_canva_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"continuation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Continuation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/templates/{template_id}/dataset":{"get":{"tags":["canva"],"summary":"Get Template Dataset","description":"Get autofillable fields for a brand template.","operationId":"get_template_dataset_api_v1_canva_templates__template_id__dataset_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/autofill":{"post":{"tags":["canva"],"summary":"Create Autofill","description":"Create a design by autofilling a brand template with data.","operationId":"create_autofill_api_v1_canva_autofill_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutofillRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/autofill/{job_id}":{"get":{"tags":["canva"],"summary":"Check Autofill","description":"Check autofill job status.","operationId":"check_autofill_api_v1_canva_autofill__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/design-from-listing":{"post":{"tags":["canva"],"summary":"Design From Listing","description":"One-click: Generate a Canva design from listing data + template.","operationId":"design_from_listing_api_v1_canva_design_from_listing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingDesignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/bulk-create":{"post":{"tags":["canva"],"summary":"Bulk Create","description":"Generate multiple designs from a template, one per listing.","operationId":"bulk_create_api_v1_canva_bulk_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/assets/upload":{"post":{"tags":["canva"],"summary":"Upload Asset","description":"Upload an image to Canva from a URL.","operationId":"upload_asset_api_v1_canva_assets_upload_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/assets/upload/{job_id}":{"get":{"tags":["canva"],"summary":"Check Asset Upload","description":"Check asset upload job status.","operationId":"check_asset_upload_api_v1_canva_assets_upload__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/designs":{"get":{"tags":["canva"],"summary":"List Designs","description":"List agent's Canva designs.","operationId":"list_designs_api_v1_canva_designs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"continuation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Continuation"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/designs/{design_id}":{"get":{"tags":["canva"],"summary":"Get Design","description":"Get design details.","operationId":"get_design_api_v1_canva_designs__design_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"design_id","in":"path","required":true,"schema":{"type":"string","title":"Design Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/canva/export":{"post":{"tags":["canva"],"summary":"Export Design","description":"Export a Canva design to downloadable file.","operationId":"export_design_api_v1_canva_export_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/canva/export/{job_id}":{"get":{"tags":["canva"],"summary":"Check Export","description":"Check export job status.","operationId":"check_export_api_v1_canva_export__job_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/creative/brand-dna":{"get":{"tags":["creative-suite"],"summary":"Get Brand Dna","operationId":"get_brand_dna_api_v1_creative_brand_dna_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["creative-suite"],"summary":"Update Brand Dna","operationId":"update_brand_dna_api_v1_creative_brand_dna_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandDNAUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/brand-dna/voice-profile":{"post":{"tags":["creative-suite"],"summary":"Analyze Voice Profile","operationId":"analyze_voice_profile_api_v1_creative_brand_dna_voice_profile_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceProfileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/photo-studio/analyze":{"post":{"tags":["creative-suite"],"summary":"Analyze Photo","operationId":"analyze_photo_api_v1_creative_photo_studio_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoAnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/photo-studio/enhance":{"post":{"tags":["creative-suite"],"summary":"Enhance Photo","operationId":"enhance_photo_api_v1_creative_photo_studio_enhance_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoEnhanceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/photo-studio/virtual-stage":{"post":{"tags":["creative-suite"],"summary":"Virtual Stage","operationId":"virtual_stage_api_v1_creative_photo_studio_virtual_stage_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VirtualStageRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/photo-studio/batch":{"post":{"tags":["creative-suite"],"summary":"Batch Enhance","operationId":"batch_enhance_api_v1_creative_photo_studio_batch_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPhotoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/photo-studio/descriptions":{"post":{"tags":["creative-suite"],"summary":"Generate Descriptions","operationId":"generate_descriptions_api_v1_creative_photo_studio_descriptions_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PhotoDescriptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/campaign-factory/generate":{"post":{"tags":["creative-suite"],"summary":"Generate Campaign","operationId":"generate_campaign_api_v1_creative_campaign_factory_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CampaignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/campaign-factory/content-calendar":{"post":{"tags":["creative-suite"],"summary":"Create Content Calendar","operationId":"create_content_calendar_api_v1_creative_campaign_factory_content_calendar_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentCalendarRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/campaign-factory/listing-description":{"post":{"tags":["creative-suite"],"summary":"Create Listing Description","operationId":"create_listing_description_api_v1_creative_campaign_factory_listing_description_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingDescriptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/creative-auto/new-listing":{"post":{"tags":["creative-suite"],"summary":"Auto New Listing","description":"One-click: Full creative automation for a new listing.","operationId":"auto_new_listing_api_v1_creative_creative_auto_new_listing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewListingAutoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/creative-auto/status-change":{"post":{"tags":["creative-suite"],"summary":"Auto Status Change","description":"Auto-generate campaign on listing status change.","operationId":"auto_status_change_api_v1_creative_creative_auto_status_change_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusChangeAutoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/creative/creative-auto/open-house":{"post":{"tags":["creative-suite"],"summary":"Auto Open House","description":"Auto-generate open house marketing suite.","operationId":"auto_open_house_api_v1_creative_creative_auto_open_house_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenHouseAutoRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/unsubscribe":{"get":{"tags":["email-lifecycle"],"summary":"Unsubscribe","description":"One-click unsubscribe from email category.","operationId":"unsubscribe_api_v1_email_unsubscribe_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"Signed unsubscribe token","title":"Token"},"description":"Signed unsubscribe token"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/email/webhook/sendgrid":{"post":{"tags":["email-lifecycle"],"summary":"Sendgrid Webhook","description":"Handle SendGrid event webhooks (open, click, bounce, etc.).","operationId":"sendgrid_webhook_api_v1_email_webhook_sendgrid_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/email/preferences":{"get":{"tags":["email-lifecycle"],"summary":"Get Preferences","description":"Get email notification preferences.","operationId":"get_preferences_api_v1_email_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesResponse"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["email-lifecycle"],"summary":"Update Preferences","description":"Update email notification preferences.","operationId":"update_preferences_api_v1_email_preferences_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreferencesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/history":{"get":{"tags":["email-lifecycle"],"summary":"Get Email History","description":"Get sent email history.","operationId":"get_email_history_api_v1_email_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/EmailHistoryItem"},"title":"Response Get Email History Api V1 Email History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/email/scheduled":{"get":{"tags":["email-lifecycle"],"summary":"Get Scheduled Emails","description":"Get pending scheduled emails.","operationId":"get_scheduled_emails_api_v1_email_scheduled_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ScheduledEmailItem"},"type":"array","title":"Response Get Scheduled Emails Api V1 Email Scheduled Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/process-queue":{"post":{"tags":["email-lifecycle"],"summary":"Process Queue","description":"Process the scheduled email queue. Call periodically (cron).","operationId":"process_queue_api_v1_email_process_queue_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueueResult"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/send-test":{"post":{"tags":["email-lifecycle"],"summary":"Send Test Email","description":"Send a test lifecycle email to yourself (or override address).","operationId":"send_test_email_api_v1_email_send_test_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__email_lifecycle__TestEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/campaigns/create":{"post":{"tags":["email-campaigns"],"summary":"Create Campaign","description":"Create a visual email campaign from a brief with smart segmentation + A/B subjects.","operationId":"create_campaign_api_v1_email_campaigns_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCampaignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/email/campaigns/{campaign_id}/send":{"post":{"tags":["email-campaigns"],"summary":"Send Campaign","description":"Send campaign with A/B test then winner rollout to remaining recipients.","operationId":"send_campaign_api_v1_email_campaigns__campaign_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/email/campaigns/{campaign_id}/analytics":{"get":{"tags":["email-campaigns"],"summary":"Campaign Analytics","description":"Get open/click analytics for a campaign.","operationId":"campaign_analytics_api_v1_email_campaigns__campaign_id__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/email/market-reports/generate":{"post":{"tags":["email-campaigns"],"summary":"Generate Market Report Emails","description":"Generate monthly market report emails grouped by ZIP for SOI contacts.","operationId":"generate_market_report_emails_api_v1_email_market_reports_generate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/admin/stats":{"get":{"tags":["admin"],"summary":"Get Platform Stats","description":"Comprehensive platform statistics — agents, listings, deals, contacts.","operationId":"get_platform_stats_api_v1_admin_stats_get","parameters":[{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Platform Stats Api V1 Admin Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/health/deep":{"get":{"tags":["admin"],"summary":"Deep Health Check","description":"Deep health check — DB, Redis, table counts, migration status.","operationId":"deep_health_check_api_v1_admin_health_deep_get","parameters":[{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Deep Health Check Api V1 Admin Health Deep Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/query":{"get":{"tags":["admin"],"summary":"Run Read Query","description":"Run a read-only SQL query. Only SELECT statements allowed.","operationId":"run_read_query_api_v1_admin_query_get","parameters":[{"name":"sql","in":"query","required":false,"schema":{"type":"string","default":"","title":"Sql"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Run Read Query Api V1 Admin Query Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/fix-prices":{"post":{"tags":["admin"],"summary":"Fix Prices","description":"One-time migration: detect deals with prices in cents and convert to dollars.\n\nIdempotent — safe to run multiple times.\nPass ?dry_run=true to preview changes without writing.","operationId":"fix_prices_api_v1_admin_fix_prices_post","parameters":[{"name":"dry_run","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Dry Run"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Fix Prices Api V1 Admin Fix Prices Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/growth-referrals":{"get":{"tags":["admin"],"summary":"Get Growth Referrals","description":"Read-only admin visibility into the platform growth referral pipeline.","operationId":"get_growth_referrals_api_v1_admin_growth_referrals_get","parameters":[{"name":"target_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Type"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Growth Referrals Api V1 Admin Growth Referrals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mls/connect":{"post":{"tags":["mls"],"summary":"Connect Mls","description":"Connect agent's MLS account via Bridge API.\n\nValidates the API key, checks the MLS ID, and stores the connection.","operationId":"connect_mls_api_v1_mls_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectMLSRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Connect Mls Api V1 Mls Connect Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/disconnect":{"delete":{"tags":["mls"],"summary":"Disconnect Mls","description":"Disconnect agent's MLS integration.","operationId":"disconnect_mls_api_v1_mls_disconnect_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Disconnect Mls Api V1 Mls Disconnect Delete"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/status":{"get":{"tags":["mls"],"summary":"Mls Status","description":"Get current MLS connection status and sync history.","operationId":"mls_status_api_v1_mls_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Mls Status Api V1 Mls Status Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/sync":{"post":{"tags":["mls"],"summary":"Sync My Listings","description":"Trigger a manual sync of the agent's MLS listings.\n\nFetches all listings from Bridge API where the agent's MLS ID is the\nlisting agent, normalizes them, and upserts into the database.","operationId":"sync_my_listings_api_v1_mls_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Sync My Listings Api V1 Mls Sync Post"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/auto-import":{"post":{"tags":["mls"],"summary":"Auto Import Listings","description":"Save hot sheet criteria and run auto-import for the current agent.","operationId":"auto_import_listings_api_v1_mls_auto_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoImportMLSRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Auto Import Listings Api V1 Mls Auto Import Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/search":{"get":{"tags":["mls"],"summary":"Search Mls Listings","description":"Search MLS listings via Bridge API.\n\nUses the agent's stored Bridge API credentials to search the MLS.\nResults are normalized to RealtorDock format but not saved to DB.","operationId":"search_mls_listings_api_v1_mls_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"}},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Price"}},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Price"}},{"name":"min_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Beds"}},{"name":"max_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Beds"}},{"name":"min_baths","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Baths"}},{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"Active","title":"Status"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Search Mls Listings Api V1 Mls Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mls/listing/{listing_key}":{"get":{"tags":["mls"],"summary":"Get Mls Listing Detail","description":"Get full detail for a single MLS listing.\n\nFetches the complete RESO property record including expanded media.","operationId":"get_mls_listing_detail_api_v1_mls_listing__listing_key__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_key","in":"path","required":true,"schema":{"type":"string","title":"Listing Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Mls Listing Detail Api V1 Mls Listing  Listing Key  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mls/webhook":{"post":{"tags":["mls"],"summary":"Bridge Mls Webhook","description":"Incoming webhook endpoint from Bridge MLS.","operationId":"bridge_mls_webhook_api_v1_mls_webhook_post","requestBody":{"content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Payload"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Bridge Mls Webhook Api V1 Mls Webhook Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/mls/hot-sheet":{"get":{"tags":["mls"],"summary":"Get Hot Sheet","description":"Get daily hot sheet listings matching agent's saved MLS criteria.","operationId":"get_hot_sheet_api_v1_mls_hot_sheet_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Hot Sheet Api V1 Mls Hot Sheet Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mls/sync-all":{"post":{"tags":["mls"],"summary":"Sync All Agents","description":"Cron endpoint: sync MLS listings for all connected agents.\n\nProtected by X-Cron-Secret header (must match SECRET_KEY).\nRun every 6 hours via cron job or Fly machine scheduled task.","operationId":"sync_all_agents_api_v1_mls_sync_all_post","parameters":[{"name":"X-Cron-Secret","in":"header","required":true,"schema":{"type":"string","title":"X-Cron-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Sync All Agents Api V1 Mls Sync All Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/finance/expenses":{"get":{"tags":["finance"],"summary":"List Expenses","operationId":"list_expenses_api_v1_finance_expenses_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":300,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["finance"],"summary":"Create Expense","operationId":"create_expense_api_v1_finance_expenses_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpenseCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/finance/expenses/{expense_id}":{"get":{"tags":["finance"],"summary":"Get Expense","operationId":"get_expense_api_v1_finance_expenses__expense_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"string","title":"Expense Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["finance"],"summary":"Update Expense","operationId":"update_expense_api_v1_finance_expenses__expense_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"string","title":"Expense Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpenseUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["finance"],"summary":"Delete Expense","operationId":"delete_expense_api_v1_finance_expenses__expense_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"expense_id","in":"path","required":true,"schema":{"type":"string","title":"Expense Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/payments/escrow/create":{"post":{"tags":["payments"],"summary":"Create Escrow","operationId":"create_escrow_api_v1_payments_escrow_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateEscrowRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/payments/escrow/{escrow_id}/fund":{"post":{"tags":["payments"],"summary":"Fund Escrow","operationId":"fund_escrow_api_v1_payments_escrow__escrow_id__fund_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","title":"Escrow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FundEscrowRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/payments/escrow/{escrow_id}/release":{"post":{"tags":["payments"],"summary":"Release Escrow","operationId":"release_escrow_api_v1_payments_escrow__escrow_id__release_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"escrow_id","in":"path","required":true,"schema":{"type":"string","title":"Escrow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReleaseEscrowRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/payments/escrow/{deal_id}":{"get":{"tags":["payments"],"summary":"Get Escrow By Deal","operationId":"get_escrow_by_deal_api_v1_payments_escrow__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idx/search":{"get":{"tags":["idx"],"summary":"Idx Search","operationId":"idx_search_api_v1_idx_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"minPrice","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minprice"}},{"name":"maxPrice","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxprice"}},{"name":"beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"}},{"name":"baths","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"}},{"name":"minSqft","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minsqft"}},{"name":"maxSqft","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Maxsqft"}},{"name":"propertyType","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Propertytype"}},{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"pageSize","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":24,"title":"Pagesize"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/idx/listing/{mls_id}":{"get":{"tags":["idx"],"summary":"Idx Listing Detail","operationId":"idx_listing_detail_api_v1_idx_listing__mls_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"mls_id","in":"path","required":true,"schema":{"type":"string","title":"Mls Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/poster/platforms":{"get":{"tags":["social-poster"],"summary":"Get Connected Platforms","description":"Check which social platforms are connected.","operationId":"get_connected_platforms_api_v1_poster_platforms_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Connected Platforms Api V1 Poster Platforms Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/publish":{"post":{"tags":["social-poster"],"summary":"Publish Post","description":"Publish content to one or more social platforms immediately.","operationId":"publish_post_api_v1_poster_publish_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublishRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Publish Post Api V1 Poster Publish Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/generate-and-post":{"post":{"tags":["social-poster"],"summary":"Generate And Post","description":"AI-generate listing content and publish to connected platforms.","operationId":"generate_and_post_api_v1_poster_generate_and_post_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAndPostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Generate And Post Api V1 Poster Generate And Post Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/listing-event":{"post":{"tags":["social-poster"],"summary":"Handle Listing Event","description":"Handle a listing lifecycle event for social content.\n\nIf auto_post=true, publishes immediately to all connected platforms.\nOtherwise returns generated content for agent review.","operationId":"handle_listing_event_api_v1_poster_listing_event_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListingEventRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Handle Listing Event Api V1 Poster Listing Event Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/schedule-weekly":{"post":{"tags":["social-poster"],"summary":"Schedule Weekly","description":"Generate a week of AI social content and schedule it.\n\nCreates 7 days of platform-optimized content with recommended\nposting times.","operationId":"schedule_weekly_api_v1_poster_schedule_weekly_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleWeeklyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Schedule Weekly Api V1 Poster Schedule Weekly Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/linkedin/connect":{"post":{"tags":["social-poster"],"summary":"Connect Linkedin","description":"Start LinkedIn OAuth authorization flow.","operationId":"connect_linkedin_api_v1_poster_linkedin_connect_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional post-auth redirect URL","title":"Redirect"},"description":"Optional post-auth redirect URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Connect Linkedin Api V1 Poster Linkedin Connect Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/poster/linkedin/callback":{"get":{"tags":["social-poster"],"summary":"Linkedin Callback","description":"LinkedIn OAuth callback — exchange code for tokens.","operationId":"linkedin_callback_api_v1_poster_linkedin_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"title":"Response Linkedin Callback Api V1 Poster Linkedin Callback Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/poster/linkedin/disconnect":{"delete":{"tags":["social-poster"],"summary":"Disconnect Linkedin","description":"Disconnect LinkedIn integration.","operationId":"disconnect_linkedin_api_v1_poster_linkedin_disconnect_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Disconnect Linkedin Api V1 Poster Linkedin Disconnect Delete"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/poster/linkedin/profile":{"get":{"tags":["social-poster"],"summary":"Get Linkedin Profile","description":"Get the connected LinkedIn profile info.","operationId":"get_linkedin_profile_api_v1_poster_linkedin_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Linkedin Profile Api V1 Poster Linkedin Profile Get"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/demo/status":{"get":{"tags":["demo"],"summary":"Demo Status","description":"Check if demo mode is active for the current agent.","operationId":"demo_status_api_v1_demo_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoStatusResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/demo/activate":{"post":{"tags":["demo"],"summary":"Demo Activate","description":"Populate demo data alongside real data (non-destructive).\n\nAll demo rows are tagged with ``is_demo=true`` for clean removal.","operationId":"demo_activate_api_v1_demo_activate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoActivateResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/demo/deactivate":{"post":{"tags":["demo"],"summary":"Demo Deactivate","description":"Remove all demo data for the current agent.","operationId":"demo_deactivate_api_v1_demo_deactivate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemoDeactivateResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/sites/templates":{"get":{"tags":["agent-sites"],"summary":"List Templates","description":"List available page templates.","operationId":"list_templates_api_v1_sites_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sites":{"post":{"tags":["agent-sites"],"summary":"Create Site","description":"Create a new landing page site.","operationId":"create_site_api_v1_sites_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["agent-sites"],"summary":"List Sites","description":"List agent's landing pages.","operationId":"list_sites_api_v1_sites_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}":{"get":{"tags":["agent-sites"],"summary":"Get Site","description":"Get full site details including content.","operationId":"get_site_api_v1_sites__site_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["agent-sites"],"summary":"Update Site","description":"Update site content and settings.","operationId":"update_site_api_v1_sites__site_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-sites"],"summary":"Delete Site","description":"Delete a site.","operationId":"delete_site_api_v1_sites__site_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/generate":{"post":{"tags":["agent-sites"],"summary":"Ai Generate Content","description":"Generate or regenerate page content using AI.","operationId":"ai_generate_content_api_v1_sites__site_id__generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteAIGenerate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/publish":{"post":{"tags":["agent-sites"],"summary":"Publish Site","description":"Publish a site (makes it publicly accessible).","operationId":"publish_site_api_v1_sites__site_id__publish_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/unpublish":{"post":{"tags":["agent-sites"],"summary":"Unpublish Site","description":"Unpublish a site.","operationId":"unpublish_site_api_v1_sites__site_id__unpublish_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/domain":{"post":{"tags":["agent-sites"],"summary":"Add Custom Domain","description":"Add a custom domain to a site. Returns DNS records to configure.","operationId":"add_custom_domain_api_v1_sites__site_id__domain_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainAdd"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent-sites"],"summary":"Remove Custom Domain","description":"Remove custom domain from a site.","operationId":"remove_custom_domain_api_v1_sites__site_id__domain_delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/domain/verify":{"get":{"tags":["agent-sites"],"summary":"Verify Domain","description":"Check if the custom domain DNS is properly configured.\n\nUses DNS-over-HTTPS (Cloudflare) to avoid extra DNS dependencies in the API image.","operationId":"verify_domain_api_v1_sites__site_id__domain_verify_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sites/{site_id}/analytics":{"get":{"tags":["agent-sites"],"summary":"Get Site Analytics","description":"Get analytics for a site.","operationId":"get_site_analytics_api_v1_sites__site_id__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"site_id","in":"path","required":true,"schema":{"type":"string","title":"Site Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/sites/{slug}":{"get":{"tags":["public-sites"],"summary":"Get Public Site","description":"Serve a published landing page by slug.","operationId":"get_public_site_api_v1_public_sites__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/sites/by-domain":{"get":{"tags":["public-sites"],"summary":"Get Public Site By Domain","description":"Serve a published landing page by custom domain.\n\nUsed when a customer points their domain to RealtorDock.","operationId":"get_public_site_by_domain_api_v1_public_sites_by_domain_get","parameters":[{"name":"domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional override. Defaults to Host header.","title":"Domain"},"description":"Optional override. Defaults to Host header."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/sites/{slug}/capture":{"post":{"tags":["public-sites"],"summary":"Capture Lead","description":"Capture a lead from a public site form submission.","operationId":"capture_lead_api_v1_public_sites__slug__capture_post","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadCapture"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-team/overview":{"get":{"tags":["ai-team"],"summary":"Get Team Overview","description":"Get the full AI team status — six agents, pipeline, activity.","operationId":"get_team_overview_api_v1_ai_team_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamOverview"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai-team/toggle":{"post":{"tags":["ai-team"],"summary":"Toggle Agent","description":"Toggle an AI sub-agent on or off.","operationId":"toggle_agent_api_v1_ai_team_toggle_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/usage":{"get":{"tags":["ai-usage"],"summary":"Current Usage","description":"Current month usage summary with remaining quota.","operationId":"current_usage_api_v1_ai_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/usage/history":{"get":{"tags":["ai-usage"],"summary":"Usage History","description":"Historical usage aggregated by month.","operationId":"usage_history_api_v1_ai_usage_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":1,"default":6,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/usage/breakdown":{"get":{"tags":["ai-usage"],"summary":"Usage Breakdown","description":"Breakdown of current month usage by action type.","operationId":"usage_breakdown_api_v1_ai_usage_breakdown_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"mtd|last_month","default":"mtd","title":"Period"},"description":"mtd|last_month"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads/":{"post":{"tags":["ai-threads"],"summary":"Create Thread","operationId":"create_thread_api_v1_ai_threads__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__ai_threads__CreateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["ai-threads"],"summary":"List Threads","operationId":"list_threads_api_v1_ai_threads__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads":{"post":{"tags":["ai-threads"],"summary":"Create Thread","operationId":"create_thread_api_v1_ai_threads_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__ai_threads__CreateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["ai-threads"],"summary":"List Threads","operationId":"list_threads_api_v1_ai_threads_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads/{thread_id}/":{"get":{"tags":["ai-threads"],"summary":"Get Thread","operationId":"get_thread_api_v1_ai_threads__thread_id___get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["ai-threads"],"summary":"Update Thread","operationId":"update_thread_api_v1_ai_threads__thread_id___patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ai-threads"],"summary":"Delete Thread","operationId":"delete_thread_api_v1_ai_threads__thread_id___delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads/{thread_id}":{"get":{"tags":["ai-threads"],"summary":"Get Thread","operationId":"get_thread_api_v1_ai_threads__thread_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["ai-threads"],"summary":"Update Thread","operationId":"update_thread_api_v1_ai_threads__thread_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["ai-threads"],"summary":"Delete Thread","operationId":"delete_thread_api_v1_ai_threads__thread_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads/{thread_id}/messages/":{"get":{"tags":["ai-threads"],"summary":"List Thread Messages","operationId":"list_thread_messages_api_v1_ai_threads__thread_id__messages__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["ai-threads"],"summary":"Append Thread Message","operationId":"append_thread_message_api_v1_ai_threads__thread_id__messages__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/threads/{thread_id}/messages":{"get":{"tags":["ai-threads"],"summary":"List Thread Messages","operationId":"list_thread_messages_api_v1_ai_threads__thread_id__messages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["ai-threads"],"summary":"Append Thread Message","operationId":"append_thread_message_api_v1_ai_threads__thread_id__messages_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/custom":{"get":{"tags":["custom-playbooks"],"summary":"List Custom Playbooks Route","operationId":"list_custom_playbooks_route_api_v1_playbooks_custom_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["custom-playbooks"],"summary":"Create Custom Playbook Route","operationId":"create_custom_playbook_route_api_v1_playbooks_custom_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__custom_playbooks__CreatePlaybookRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playbooks/custom/{playbook_id}":{"get":{"tags":["custom-playbooks"],"summary":"Get Custom Playbook Route","operationId":"get_custom_playbook_route_api_v1_playbooks_custom__playbook_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["custom-playbooks"],"summary":"Update Custom Playbook Route","operationId":"update_custom_playbook_route_api_v1_playbooks_custom__playbook_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__custom_playbooks__UpdatePlaybookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["custom-playbooks"],"summary":"Delete Custom Playbook Route","operationId":"delete_custom_playbook_route_api_v1_playbooks_custom__playbook_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/custom/{playbook_id}/execute":{"post":{"tags":["custom-playbooks"],"summary":"Execute Custom Playbook Route","operationId":"execute_custom_playbook_route_api_v1_playbooks_custom__playbook_id__execute_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/custom/{playbook_id}/runs":{"get":{"tags":["custom-playbooks"],"summary":"List Custom Playbook Runs Route","operationId":"list_custom_playbook_runs_route_api_v1_playbooks_custom__playbook_id__runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/":{"get":{"tags":["playbooks"],"summary":"List All Playbooks","operationId":"list_all_playbooks_api_v1_playbooks__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/PlaybookResponse"},"type":"array","title":"Response List All Playbooks Api V1 Playbooks  Get"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["playbooks"],"summary":"Create Playbook","operationId":"create_playbook_api_v1_playbooks__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__playbooks__CreatePlaybookRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/playbooks/history":{"get":{"tags":["playbooks"],"summary":"Get Playbook History","operationId":"get_playbook_history_api_v1_playbooks_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybookRunResponse"},"title":"Response Get Playbook History Api V1 Playbooks History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/{playbook_id}/active":{"patch":{"tags":["playbooks"],"summary":"Set Playbook Active State","operationId":"set_playbook_active_state_api_v1_playbooks__playbook_id__active_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TogglePlaybookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/{playbook_id}/trigger":{"post":{"tags":["playbooks"],"summary":"Trigger Playbook By Id","operationId":"trigger_playbook_by_id_api_v1_playbooks__playbook_id__trigger_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerPlaybookRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/{playbook_id}/runs":{"get":{"tags":["playbooks"],"summary":"Get Playbook Runs","operationId":"get_playbook_runs_api_v1_playbooks__playbook_id__runs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaybookRunResponse"},"title":"Response Get Playbook Runs Api V1 Playbooks  Playbook Id  Runs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/{playbook_id}":{"get":{"tags":["playbooks"],"summary":"Get Playbook By Id","operationId":"get_playbook_by_id_api_v1_playbooks__playbook_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["playbooks"],"summary":"Update Playbook By Id","operationId":"update_playbook_by_id_api_v1_playbooks__playbook_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__playbooks__UpdatePlaybookRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlaybookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["playbooks"],"summary":"Delete Playbook By Id","operationId":"delete_playbook_by_id_api_v1_playbooks__playbook_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/":{"get":{"tags":["review-queue"],"summary":"List Review Queue","description":"List review queue items for the agent.","operationId":"list_review_queue_api_v1_review_queue__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","description":"Filter: pending, snoozed, approved, dismissed, all","default":"pending","title":"Status"},"description":"Filter: pending, snoozed, approved, dismissed, all"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewQueueResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/stats":{"get":{"tags":["review-queue"],"summary":"Review Queue Stats","description":"Quick stats for the review queue badge.","operationId":"review_queue_stats_api_v1_review_queue_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/review-queue/{item_id}/approve":{"post":{"tags":["review-queue"],"summary":"Approve Item","description":"Approve (send) a review queue item.","operationId":"approve_item_api_v1_review_queue__item_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/app__api__v1__endpoints__review_queue__ApproveRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/{item_id}/dismiss":{"post":{"tags":["review-queue"],"summary":"Dismiss Item","description":"Dismiss/skip a review queue item.","operationId":"dismiss_item_api_v1_review_queue__item_id__dismiss_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/{item_id}/snooze":{"post":{"tags":["review-queue"],"summary":"Snooze Item","description":"Snooze a review queue item for later.","operationId":"snooze_item_api_v1_review_queue__item_id__snooze_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SnoozeRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/{item_id}/edit":{"post":{"tags":["review-queue"],"summary":"Edit Item","description":"Edit the draft without sending yet.","operationId":"edit_item_api_v1_review_queue__item_id__edit_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__review_queue__ApproveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review-queue/bulk":{"post":{"tags":["review-queue"],"summary":"Bulk Action","description":"Bulk approve/dismiss/snooze items.","operationId":"bulk_action_api_v1_review_queue_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/review-queue/generate":{"post":{"tags":["review-queue"],"summary":"Generate Review Items","description":"Manually trigger AI to generate review queue items.","operationId":"generate_review_items_api_v1_review_queue_generate_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/app__api__v1__endpoints__review_queue__GenerateRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/search/":{"get":{"tags":["search"],"summary":"Universal Search","description":"Search across contacts, deals, listings, documents, and communications.\nReturns grouped results by category for the command bar.","operationId":"universal_search_api_v1_search__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":200,"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search/actions/":{"get":{"tags":["search"],"summary":"List Quick Actions","description":"Return quick actions, optionally filtered by query.","operationId":"list_quick_actions_api_v1_search_actions__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"type":"string","maxLength":200,"default":"","title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/":{"get":{"tags":["notifications"],"summary":"List Notifications","description":"List notifications for the current agent.","operationId":"list_notifications_api_v1_notifications__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"unread_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Unread Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/unread-count":{"get":{"tags":["notifications"],"summary":"Unread Count","description":"Get just the unread notification count (for badge display).","operationId":"unread_count_api_v1_notifications_unread_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/notifications/{notification_id}/read":{"patch":{"tags":["notifications"],"summary":"Mark Notification Read","description":"Mark a single notification as read.","operationId":"mark_notification_read_api_v1_notifications__notification_id__read_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/mark-all-read":{"post":{"tags":["notifications"],"summary":"Mark All Read","description":"Mark all notifications as read.","operationId":"mark_all_read_api_v1_notifications_mark_all_read_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/notifications/preferences":{"get":{"tags":["notifications"],"summary":"Get Preferences","description":"Get notification preferences for all types.","operationId":"get_preferences_api_v1_notifications_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["notifications"],"summary":"Update Preferences","description":"Update notification preferences.","operationId":"update_preferences_api_v1_notifications_preferences_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePreferencesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/sphere/":{"get":{"tags":["sphere"],"summary":"List Sphere Contacts","description":"Sphere contacts with their next scheduled touchpoint.","operationId":"list_sphere_contacts_api_v1_sphere__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/sphere/upcoming/":{"get":{"tags":["sphere"],"summary":"List Upcoming Touchpoints","description":"Upcoming touchpoints in the next N days.","operationId":"list_upcoming_touchpoints_api_v1_sphere_upcoming__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sphere/generate/":{"post":{"tags":["sphere"],"summary":"Generate Sphere Touchpoints","description":"Generate touchpoints for a sphere contact.","operationId":"generate_sphere_touchpoints_api_v1_sphere_generate__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__sphere__GenerateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/sphere/{touchpoint_id}/approve/":{"patch":{"tags":["sphere"],"summary":"Approve Touchpoint","description":"Approve, edit, or skip a touchpoint.","operationId":"approve_touchpoint_api_v1_sphere__touchpoint_id__approve__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"touchpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Touchpoint Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__sphere__ApproveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/respond/":{"post":{"tags":["leads"],"summary":"Instant Respond","description":"Trigger instant AI response for a new lead.","operationId":"instant_respond_api_v1_leads_respond__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespondRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/leads/responses/":{"get":{"tags":["leads"],"summary":"Get Responses","description":"List lead responses with optional status filter.","operationId":"get_responses_api_v1_leads_responses__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/responses/{response_id}/approve/":{"patch":{"tags":["leads"],"summary":"Approve Lead Response","description":"Approve, edit, or reject a lead response.","operationId":"approve_lead_response_api_v1_leads_responses__response_id__approve__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"response_id","in":"path","required":true,"schema":{"type":"string","title":"Response Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__leads__ApproveRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/scores":{"get":{"tags":["lead-scores"],"summary":"List Lead Scores","description":"All contacts with lead scores, sorted by score descending.","operationId":"list_lead_scores_api_v1_leads_scores_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/scores/{contact_id}":{"get":{"tags":["lead-scores"],"summary":"Get Lead Score","description":"Individual contact score with full breakdown.","operationId":"get_lead_score_api_v1_leads_scores__contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/hot":{"get":{"tags":["lead-scores"],"summary":"Hot Leads","description":"Hot leads only — contacts scoring >= min_score (default 70).","operationId":"hot_leads_api_v1_leads_hot_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"min_score","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":0,"default":70,"title":"Min Score"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/leads/refresh":{"post":{"tags":["lead-scores"],"summary":"Refresh Scores","description":"Force re-score all contacts for the current agent.","operationId":"refresh_scores_api_v1_leads_refresh_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"description":"Max contacts to rescore","default":500,"title":"Limit"},"description":"Max contacts to rescore"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/timeline/{entity_type}/{entity_id}/":{"get":{"tags":["timeline"],"summary":"Get Timeline","description":"Return a unified, chronologically-sorted activity timeline.\n\nentity_type: 'contact' or 'deal'","operationId":"get_timeline_api_v1_timeline__entity_type___entity_id___get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_type","in":"path","required":true,"schema":{"type":"string","title":"Entity Type"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team-inbox/":{"get":{"tags":["team-inbox"],"summary":"List Team Leads","description":"List team leads (filterable by status, assigned_agent_id).","operationId":"list_team_leads_api_v1_team_inbox__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"assigned_agent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["team-inbox"],"summary":"Create Team Lead","description":"Create team lead (from webhook or manual).","operationId":"create_team_lead_api_v1_team_inbox__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTeamLeadRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team-inbox/{lead_id}/assign":{"patch":{"tags":["team-inbox"],"summary":"Assign Lead","description":"Assign to agent (manual override).","operationId":"assign_lead_api_v1_team_inbox__lead_id__assign_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lead_id","in":"path","required":true,"schema":{"type":"string","title":"Lead Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignLeadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team-inbox/rules":{"get":{"tags":["team-inbox"],"summary":"List Routing Rules","description":"List routing rules.","operationId":"list_routing_rules_api_v1_team_inbox_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["team-inbox"],"summary":"Create Routing Rule","description":"Create routing rule.","operationId":"create_routing_rule_api_v1_team_inbox_rules_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateRoutingRuleRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team-inbox/rules/{rule_id}":{"delete":{"tags":["team-inbox"],"summary":"Delete Routing Rule","description":"Delete rule.","operationId":"delete_routing_rule_api_v1_team_inbox_rules__rule_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team-inbox/route":{"post":{"tags":["team-inbox"],"summary":"Route Leads","description":"Trigger auto-routing for unassigned leads.","operationId":"route_leads_api_v1_team_inbox_route_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RouteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/inbox":{"get":{"tags":["team-inbox"],"summary":"List Brokerage Team Inbox","description":"List unassigned leads for the admin's brokerage inbox.","operationId":"list_brokerage_team_inbox_api_v1_team_inbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/inbox/{lead_id}/assign":{"post":{"tags":["team-inbox"],"summary":"Manually Assign Brokerage Lead","description":"Assign a brokerage lead to a teammate.","operationId":"manually_assign_brokerage_lead_api_v1_team_inbox__lead_id__assign_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lead_id","in":"path","required":true,"schema":{"type":"string","title":"Lead Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ManualLeadAssignmentRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/inbox/auto-assign":{"post":{"tags":["team-inbox"],"summary":"Auto Assign Brokerage Leads","description":"Round-robin assign all currently unassigned brokerage leads.","operationId":"auto_assign_brokerage_leads_api_v1_team_inbox_auto_assign_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/roster":{"get":{"tags":["team-inbox"],"summary":"List Brokerage Team Roster","description":"List brokerage agents with their current assigned lead counts.","operationId":"list_brokerage_team_roster_api_v1_team_roster_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/deal/{deal_id}":{"get":{"tags":["compliance"],"summary":"Get Deal Compliance","description":"Get compliance checklist for deal (auto-generated from template if none exists).\n\nSolo agents (no brokerage_id) receive a state-specific checklist generated\nfrom the agent's license_state and TC state checklists.","operationId":"get_deal_compliance_api_v1_compliance_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/deal/{deal_id}/item":{"patch":{"tags":["compliance"],"summary":"Toggle Checklist Item","description":"Toggle item completion.","operationId":"toggle_checklist_item_api_v1_compliance_deal__deal_id__item_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ToggleItemRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/templates":{"get":{"tags":["compliance"],"summary":"List Compliance Templates","description":"List templates for brokerage.","operationId":"list_compliance_templates_api_v1_compliance_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["compliance"],"summary":"Create Compliance Template","description":"Create template.","operationId":"create_compliance_template_api_v1_compliance_templates_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTemplateRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/dashboard":{"get":{"tags":["compliance"],"summary":"Get Compliance Dashboard","description":"Compliance overview — brokerage-wide or solo-agent deal list.","operationId":"get_compliance_dashboard_api_v1_compliance_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/deals/{deal_id}/gaps":{"get":{"tags":["tc-expert"],"summary":"Get Deal Gaps","description":"Scan a deal's checklist for compliance gaps against state requirements.","operationId":"get_deal_gaps_api_v1_tc_deals__deal_id__gaps_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/deals/{deal_id}/gaps/auto-fix":{"post":{"tags":["tc-expert"],"summary":"Auto Fix Deal Gaps","description":"Scan for gaps and automatically add missing state-required items.","operationId":"auto_fix_deal_gaps_api_v1_tc_deals__deal_id__gaps_auto_fix_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/nudges":{"get":{"tags":["tc-expert"],"summary":"Get Nudges","description":"Get deadline nudges across all active deals.","operationId":"get_nudges_api_v1_tc_nudges_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lookahead_days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Lookahead Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/briefing":{"get":{"tags":["tc-expert"],"summary":"Get Tc Briefing","description":"Get the daily TC briefing — all active deal deadlines summarized.","operationId":"get_tc_briefing_api_v1_tc_briefing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/title/search":{"post":{"tags":["title-advisor"],"summary":"Run Title Search","description":"Simulate a title search and return risk assessment.\n\nNote: This is for planning purposes only. Always obtain an actual\ntitle search from a licensed title company.","operationId":"run_title_search_api_v1_title_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleSearchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/title/escrow-estimate":{"post":{"tags":["title-advisor"],"summary":"Get Escrow Estimate","description":"Estimate closing/escrow costs for a transaction.","operationId":"get_escrow_estimate_api_v1_title_escrow_estimate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EscrowCalcRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/title/transfer-tax":{"get":{"tags":["title-advisor"],"summary":"Get Transfer Tax","description":"Calculate transfer tax for a state and sale price.","operationId":"get_transfer_tax_api_v1_title_transfer_tax_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":2,"title":"State"}},{"name":"sale_price","in":"query","required":true,"schema":{"type":"integer","exclusiveMinimum":0,"title":"Sale Price"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title/closing-type/{state}":{"get":{"tags":["title-advisor"],"summary":"Get State Closing Type","description":"Get closing type (attorney/title company/escrow) for a state.","operationId":"get_state_closing_type_api_v1_title_closing_type__state__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title/issue-types":{"get":{"tags":["title-advisor"],"summary":"List Title Issue Types","description":"List all recognized title issue types and their severity.","operationId":"list_title_issue_types_api_v1_title_issue_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/title/states-map":{"get":{"tags":["title-advisor"],"summary":"Get States Closing Map","description":"Get the full 50-state map of closing types.","operationId":"get_states_closing_map_api_v1_title_states_map_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/loan-match":{"post":{"tags":["mortgage-advisor"],"summary":"Match Loans","description":"Match buyer profile to eligible loan products, ranked by fit.","operationId":"match_loans_api_v1_mortgage_loan_match_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoanMatchRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/affordability":{"post":{"tags":["mortgage-advisor"],"summary":"Calc Affordability","description":"Calculate how much house a buyer can afford.","operationId":"calc_affordability_api_v1_mortgage_affordability_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AffordabilityRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/payment":{"post":{"tags":["mortgage-advisor"],"summary":"Calc Payment","description":"Calculate monthly principal & interest payment.","operationId":"calc_payment_api_v1_mortgage_payment_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentCalcRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/creative-financing":{"post":{"tags":["mortgage-advisor"],"summary":"Analyze Creative","description":"Analyze creative financing options for a deal.","operationId":"analyze_creative_api_v1_mortgage_creative_financing_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreativeFinancingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/preapproval-checklist":{"get":{"tags":["mortgage-advisor"],"summary":"Get Preapproval Checklist","description":"Get the standard pre-approval document checklist.","operationId":"get_preapproval_checklist_api_v1_mortgage_preapproval_checklist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/mortgage/products":{"get":{"tags":["mortgage-advisor"],"summary":"List Loan Products","description":"List all known loan products with details.","operationId":"list_loan_products_api_v1_mortgage_products_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/routing-rules":{"get":{"tags":["team-lead"],"summary":"List Routing Rules","description":"List all routing rules for the agent's brokerage.","operationId":"list_routing_rules_api_v1_team_routing_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["team-lead"],"summary":"Create Routing Rule","description":"Create a new routing rule.","operationId":"create_routing_rule_api_v1_team_routing_rules_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingRuleCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/routing-rules/{rule_id}":{"patch":{"tags":["team-lead"],"summary":"Update Routing Rule","description":"Update a routing rule.","operationId":"update_routing_rule_api_v1_team_routing_rules__rule_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingRuleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["team-lead"],"summary":"Delete Routing Rule","description":"Delete a routing rule.","operationId":"delete_routing_rule_api_v1_team_routing_rules__rule_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"rule_id","in":"path","required":true,"schema":{"type":"string","title":"Rule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/sla/dashboard":{"get":{"tags":["team-lead"],"summary":"Sla Dashboard","description":"Get SLA dashboard with per-agent response metrics.","operationId":"sla_dashboard_api_v1_team_sla_dashboard_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/team/sla/breaches":{"get":{"tags":["team-lead"],"summary":"Sla Breaches","description":"Get current SLA breaches that need attention.","operationId":"sla_breaches_api_v1_team_sla_breaches_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/sla/notify":{"post":{"tags":["team-lead"],"summary":"Trigger Sla Notifications","description":"Manually trigger SLA breach notifications.\n\nChecks all active breaches, sends push + email to agents and team leads,\nand marks breaches as notified (dedup).","operationId":"trigger_sla_notifications_api_v1_team_sla_notify_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/agents":{"get":{"tags":["team-lead"],"summary":"List Team Agents","description":"List all agents in the team lead's brokerage.","operationId":"list_team_agents_api_v1_team_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/team/agents/{target_agent_id}/role":{"patch":{"tags":["team-lead"],"summary":"Update Agent Role","description":"Update an agent's brokerage role. Requires brokerage management.","operationId":"update_agent_role_api_v1_team_agents__target_agent_id__role_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}},{"name":"role","in":"query","required":true,"schema":{"type":"string","pattern":"^(solo|admin|broker|managing_broker|owner|team_lead|agent)$","title":"Role"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/gateway/usage":{"get":{"tags":["ai-gateway"],"summary":"Get My Usage","description":"Get AI usage summary for the authenticated agent.","operationId":"get_my_usage_api_v1_ai_gateway_usage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Number of days to summarize","default":30,"title":"Days"},"description":"Number of days to summarize"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/gateway/usage/today":{"get":{"tags":["ai-gateway"],"summary":"Get Today Usage","description":"Get today's AI usage + remaining budget.","operationId":"get_today_usage_api_v1_ai_gateway_usage_today_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/gateway/limits":{"get":{"tags":["ai-gateway"],"summary":"Get My Limits","description":"Get the agent's current rate limits and daily budget.","operationId":"get_my_limits_api_v1_ai_gateway_limits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/gateway/admin/usage":{"get":{"tags":["ai-gateway"],"summary":"Get Admin Platform Usage","description":"Admin-only: platform-wide AI usage stats.\n\nRequires admin role (level 3+).","operationId":"get_admin_platform_usage_api_v1_ai_gateway_admin_usage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ai/list":{"get":{"tags":["ai-tools"],"summary":"List Tools","description":"List all available AI tools.","operationId":"list_tools_api_v1_tools_ai_list_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ai/invoke":{"post":{"tags":["ai-tools"],"summary":"Invoke Tool","description":"Invoke an AI tool. May execute immediately or queue for approval.","operationId":"invoke_tool_api_v1_tools_ai_invoke_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvokeToolRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/ai/approve/{execution_id}":{"post":{"tags":["ai-tools"],"summary":"Approve Tool Execution","description":"Approve a pending tool execution.","operationId":"approve_tool_execution_api_v1_tools_ai_approve__execution_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ai/reject/{execution_id}":{"post":{"tags":["ai-tools"],"summary":"Reject Tool Execution","description":"Reject a pending tool execution.","operationId":"reject_tool_execution_api_v1_tools_ai_reject__execution_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ai/pending":{"get":{"tags":["ai-tools"],"summary":"List Pending Approvals","description":"List all pending tool executions needing approval.","operationId":"list_pending_approvals_api_v1_tools_ai_pending_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tools/ai/history":{"get":{"tags":["ai-tools"],"summary":"List Execution History","description":"List tool execution history.","operationId":"list_execution_history_api_v1_tools_ai_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":7,"title":"Days"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ai/stats":{"get":{"tags":["ai-tools"],"summary":"Get Tool Stats","description":"Get tool execution stats — totals by category and status.","operationId":"get_tool_stats_api_v1_tools_ai_stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/skills/list":{"get":{"tags":["ai-skills"],"summary":"List Available Skills","description":"List all preloaded AI skills.","operationId":"list_available_skills_api_v1_skills_list_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/skills/categories":{"get":{"tags":["ai-skills"],"summary":"Get Skill Categories","description":"List skill categories.","operationId":"get_skill_categories_api_v1_skills_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/skills/{slug}":{"get":{"tags":["ai-skills"],"summary":"Get Skill Detail","description":"Get details for a specific skill.","operationId":"get_skill_detail_api_v1_skills__slug__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/skills/invoke":{"post":{"tags":["ai-skills"],"summary":"Invoke Skill","description":"Invoke a preloaded skill. Chains multiple actions together.","operationId":"invoke_skill_api_v1_skills_invoke_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvokeSkillRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/hub/available":{"get":{"tags":["integration-hub"],"summary":"List Available Integrations","description":"List all available integrations and their connection status.","operationId":"list_available_integrations_api_v1_integrations_hub_available_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/hub/connected":{"get":{"tags":["integration-hub"],"summary":"List Connected Integrations","description":"List only connected integrations.","operationId":"list_connected_integrations_api_v1_integrations_hub_connected_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/hub/types":{"get":{"tags":["integration-hub"],"summary":"List Integration Types","description":"List all supported integration types.","operationId":"list_integration_types_api_v1_integrations_hub_types_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/hub/{connector_type}/status":{"get":{"tags":["integration-hub"],"summary":"Get Integration Status","description":"Get the status of a specific integration.","operationId":"get_integration_status_api_v1_integrations_hub__connector_type__status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connector_type","in":"path","required":true,"schema":{"type":"string","title":"Connector Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/hub/{connector_type}/sync-history":{"get":{"tags":["integration-hub"],"summary":"Get Connector Sync History","description":"Get sync history for a specific integration.","operationId":"get_connector_sync_history_api_v1_integrations_hub__connector_type__sync_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"connector_type","in":"path","required":true,"schema":{"type":"string","title":"Connector Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/hub/sync-history":{"get":{"tags":["integration-hub"],"summary":"Get All Sync History","description":"Get sync history across all integrations.","operationId":"get_all_sync_history_api_v1_integrations_hub_sync_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/stats":{"get":{"tags":["dashboard-v2"],"summary":"Dashboard Stats","description":"Scoped dashboard stats for Me, Team, or Brokerage views.","operationId":"dashboard_stats_api_v1_dashboard_stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"scope","in":"query","required":false,"schema":{"type":"string","description":"me|team|brokerage","default":"me","title":"Scope"},"description":"me|team|brokerage"},{"name":"period_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Period Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/dashboard/v2/overview":{"get":{"tags":["dashboard-v2"],"summary":"Dashboard Overview","description":"Unified dashboard overview — what needs attention right now.\n\ncontext=me (default): only caller's data\ncontext=team: all agents in caller's brokerage (requires team_lead+)\ncontext=brokerage: same as team (requires admin)","operationId":"dashboard_overview_api_v1_dashboard_v2_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"context","in":"query","required":false,"schema":{"type":"string","description":"me|team|brokerage","default":"me","title":"Context"},"description":"me|team|brokerage"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/context/capabilities":{"get":{"tags":["context-switcher"],"summary":"Get Context Capabilities","description":"Return what view contexts this agent can access.","operationId":"get_context_capabilities_api_v1_context_capabilities_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/inbox":{"get":{"tags":["tc-inbox"],"summary":"Tc Inbox","description":"Get TC inbox — all deals assigned to the current agent as TC.","operationId":"tc_inbox_api_v1_tc_inbox_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TCInboxResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/assign":{"post":{"tags":["tc-inbox"],"summary":"Assign Tc","description":"Assign a TC to a deal. Requires team_lead or admin role.","operationId":"assign_tc_api_v1_tc_assign_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TCAssignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/deals/{deal_id}/checklist":{"get":{"tags":["tc-inbox"],"summary":"Tc Deal Checklist","description":"Get deal checklist with gap analysis for TC.","operationId":"tc_deal_checklist_api_v1_tc_deals__deal_id__checklist_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/deals/{deal_id}/timeline":{"get":{"tags":["tc-inbox"],"summary":"Tc Deal Timeline","description":"Get deal deadline timeline for TC.","operationId":"tc_deal_timeline_api_v1_tc_deals__deal_id__timeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/admin/overview":{"get":{"tags":["brokerage-admin"],"summary":"Brokerage Overview","description":"Brokerage-level dashboard overview. Requires admin role.","operationId":"brokerage_overview_api_v1_brokerage_admin_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageOverview"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/admin/agents":{"get":{"tags":["brokerage-admin"],"summary":"List Brokerage Agents","description":"List all agents in the brokerage. Requires admin.","operationId":"list_brokerage_agents_api_v1_brokerage_admin_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/admin/agents/{target_agent_id}/role":{"post":{"tags":["brokerage-admin"],"summary":"Update Agent Role","description":"Update an agent's brokerage role. Requires admin.","operationId":"update_agent_role_api_v1_brokerage_admin_agents__target_agent_id__role_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__brokerage_admin__RoleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/admin/routing/rules":{"get":{"tags":["brokerage-admin"],"summary":"List Brokerage Routing Rules","description":"List brokerage-wide routing rules. Requires admin.","operationId":"list_brokerage_routing_rules_api_v1_brokerage_admin_routing_rules_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/admin/compliance/summary":{"get":{"tags":["brokerage-admin"],"summary":"Compliance Summary","description":"High-level compliance status for the brokerage. Requires admin.","operationId":"compliance_summary_api_v1_brokerage_admin_compliance_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/team":{"get":{"tags":["brokerage-team"],"summary":"List Team Members","description":"List all agents in the brokerage with deal counts, revenue, and ratings.","operationId":"list_team_members_api_v1_brokerage_team_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/team/invite":{"post":{"tags":["brokerage-team"],"summary":"Invite Agent","description":"Invite an agent to join the brokerage. Requires management role.","operationId":"invite_agent_api_v1_brokerage_team_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__brokerage_team__InviteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/team/invite/{token}/accept":{"post":{"tags":["brokerage-team"],"summary":"Accept Invitation","description":"Accept a brokerage invitation.","operationId":"accept_invitation_api_v1_brokerage_team_invite__token__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/team/invitations":{"get":{"tags":["brokerage-team"],"summary":"List Pending Invitations","description":"List all pending invitations. Requires management role.","operationId":"list_pending_invitations_api_v1_brokerage_team_invitations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/team/{target_agent_id}":{"delete":{"tags":["brokerage-team"],"summary":"Remove Agent","description":"Remove an agent from the brokerage. Requires management role.","operationId":"remove_agent_api_v1_brokerage_team__target_agent_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/team/{target_agent_id}/role":{"patch":{"tags":["brokerage-team"],"summary":"Update Agent Role","description":"Update an agent's role. Requires management role.","operationId":"update_agent_role_api_v1_brokerage_team__target_agent_id__role_patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__brokerage_team__RoleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/team/stats":{"get":{"tags":["brokerage-team"],"summary":"Team Stats","description":"Aggregate team performance stats: deals, revenue, top performers.","operationId":"team_stats_api_v1_brokerage_team_stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"week | month | quarter | year | all","default":"month","title":"Period"},"description":"week | month | quarter | year | all"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/team/pipeline":{"get":{"tags":["brokerage-team"],"summary":"Team Pipeline","description":"All deals across the team with agent attribution.","operationId":"team_pipeline_api_v1_brokerage_team_pipeline_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by stage: lead | active | under_contract | closing | closed","title":"Stage"},"description":"Filter by stage: lead | active | under_contract | closing | closed"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/team/{target_agent_id}/commission":{"put":{"tags":["brokerage-team"],"summary":"Set Commission Split","description":"Set per-agent commission split configuration. Requires management role.","operationId":"set_commission_split_api_v1_brokerage_team__target_agent_id__commission_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommissionSplitRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/autopilot/licenses":{"get":{"tags":["compliance-autopilot"],"summary":"List Licenses","description":"List all licenses for the current agent.","operationId":"list_licenses_api_v1_compliance_autopilot_licenses_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["compliance-autopilot"],"summary":"Register License","description":"Register a real estate license. Triggers background verification.","operationId":"register_license_api_v1_compliance_autopilot_licenses_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterLicenseRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/autopilot/licenses/{license_id}/verify":{"post":{"tags":["compliance-autopilot"],"summary":"Force Verify License","description":"Force re-verify a license.","operationId":"force_verify_license_api_v1_compliance_autopilot_licenses__license_id__verify_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"license_id","in":"path","required":true,"schema":{"type":"string","title":"License Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/autopilot/licenses/expiring":{"get":{"tags":["compliance-autopilot"],"summary":"Expiring Licenses","description":"List licenses expiring within N days (team scope).","operationId":"expiring_licenses_api_v1_compliance_autopilot_licenses_expiring_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"default":90,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/autopilot/dashboard":{"get":{"tags":["compliance-autopilot"],"summary":"Compliance Dashboard","description":"Compliance KPI dashboard (team scope).","operationId":"compliance_dashboard_api_v1_compliance_autopilot_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/autopilot/licenses/{license_id}":{"put":{"tags":["compliance-autopilot"],"summary":"Update License","description":"Manual override (admin) — update any license in the brokerage.","operationId":"update_license_api_v1_compliance_autopilot_licenses__license_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"license_id","in":"path","required":true,"schema":{"type":"string","title":"License Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateLicenseRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/autopilot/licenses/{license_id}/ce":{"post":{"tags":["compliance-autopilot"],"summary":"Log Ce Credits","description":"Log CE credits for your own license.","operationId":"log_ce_credits_api_v1_compliance_autopilot_licenses__license_id__ce_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"license_id","in":"path","required":true,"schema":{"type":"string","title":"License Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogCECreditsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/overview":{"get":{"tags":["brokerage-reporting"],"summary":"Brokerage Overview","operationId":"brokerage_overview_api_v1_brokerage_reports_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","description":"mtd|qtd|ytd|last_month|last_quarter|last_year","default":"ytd","title":"Period"},"description":"mtd|qtd|ytd|last_month|last_quarter|last_year"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/agents":{"get":{"tags":["brokerage-reporting"],"summary":"Agent Leaderboard","operationId":"agent_leaderboard_api_v1_brokerage_reports_agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"ytd","title":"Period"}},{"name":"sort_by","in":"query","required":false,"schema":{"type":"string","description":"gci_cents|deals_closed|volume_cents","default":"gci_cents","title":"Sort By"},"description":"gci_cents|deals_closed|volume_cents"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/deals":{"get":{"tags":["brokerage-reporting"],"summary":"Deal Volume Report","operationId":"deal_volume_report_api_v1_brokerage_reports_deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"ytd","title":"Period"}},{"name":"group_by","in":"query","required":false,"schema":{"type":"string","description":"week|month|quarter","default":"month","title":"Group By"},"description":"week|month|quarter"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/revenue":{"get":{"tags":["brokerage-reporting"],"summary":"Revenue Report","operationId":"revenue_report_api_v1_brokerage_reports_revenue_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"ytd","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/pipeline":{"get":{"tags":["brokerage-reporting"],"summary":"Pipeline Report","operationId":"pipeline_report_api_v1_brokerage_reports_pipeline_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/reports/agent-retention":{"get":{"tags":["brokerage-reporting"],"summary":"Agent Retention Report","description":"Agent churn, retention rate, and LTV for the brokerage.\n\nComputes:\n- active_agents: currently active agent count\n- churned_agents: agents deactivated in the period\n- retention_rate: (active / (active + churned)) * 100\n- avg_tenure_months: average agent tenure\n- avg_ltv_cents: avg GCI per agent over their tenure\n- monthly_churn_rate: churned / total per month average","operationId":"agent_retention_report_api_v1_brokerage_reports_agent_retention_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":36,"minimum":1,"default":12,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/acquisition":{"get":{"tags":["brokerage-reporting"],"summary":"Agent Acquisition Report","description":"Agent acquisition and onboarding metrics for the brokerage.\n\nComputes:\n- new_agents: agents joined in the period\n- by_month: monthly breakdown of new agents\n- avg_time_to_first_deal_days: average days from signup to first closed deal\n- onboarding_completion_rate: % who completed onboarding","operationId":"agent_acquisition_report_api_v1_brokerage_reports_acquisition_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":6,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/reports/ai-usage":{"get":{"tags":["brokerage-reporting"],"summary":"Brokerage Ai Usage","description":"Aggregate AI usage across all brokerage agents.\n\nReturns:\n- Brokerage-wide totals (requests, tokens, cost)\n- Per-agent breakdown with ranking\n- Top consumers and trend data","operationId":"brokerage_ai_usage_api_v1_brokerage_reports_ai_usage_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":12,"minimum":1,"default":1,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/settings":{"get":{"tags":["brokerage-settings"],"summary":"Get Brokerage Settings","description":"Get all brokerage settings.","operationId":"get_brokerage_settings_api_v1_brokerage_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["brokerage-settings"],"summary":"Update Brokerage Settings","description":"Update brokerage settings.","operationId":"update_brokerage_settings_api_v1_brokerage_settings_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateSettingsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/settings/branding":{"get":{"tags":["brokerage-settings"],"summary":"Get Branding","description":"Get brand kit.","operationId":"get_branding_api_v1_brokerage_settings_branding_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["brokerage-settings"],"summary":"Update Branding","description":"Update brand kit.","operationId":"update_branding_api_v1_brokerage_settings_branding_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingSettings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/settings/defaults":{"get":{"tags":["brokerage-settings"],"summary":"Get Defaults","description":"Get default settings.","operationId":"get_defaults_api_v1_brokerage_settings_defaults_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["brokerage-settings"],"summary":"Update Defaults","description":"Update default settings.","operationId":"update_defaults_api_v1_brokerage_settings_defaults_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DefaultSettings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/settings/billing":{"get":{"tags":["brokerage-settings"],"summary":"Get Billing","description":"Get billing & subscription info.","operationId":"get_billing_api_v1_brokerage_settings_billing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/workspace/dashboard":{"get":{"tags":["tc-workspace"],"summary":"Tc Dashboard","description":"TC-specific dashboard — active deal pipeline with completion metrics.","operationId":"tc_dashboard_api_v1_tc_workspace_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/workspace/deals":{"get":{"tags":["tc-workspace"],"summary":"Tc Deals","description":"All deals assigned to this TC, with checklist status.","operationId":"tc_deals_api_v1_tc_workspace_deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status (maps to deal.stage)","title":"Status"},"description":"Filter by status (maps to deal.stage)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/workspace/deals/{deal_id}/assign":{"post":{"tags":["tc-workspace"],"summary":"Assign Tc","description":"Assign a TC to a deal and auto-populate the state-aware checklist.","operationId":"assign_tc_api_v1_tc_workspace_deals__deal_id__assign_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssignTCRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/workspace/deals/{deal_id}/checklist/generate":{"post":{"tags":["tc-workspace"],"summary":"Generate Deal Checklist","description":"Generate (or regenerate) a state-aware checklist for a deal.","operationId":"generate_deal_checklist_api_v1_tc_workspace_deals__deal_id__checklist_generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__tc_workspace__GenerateChecklistRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/workspace/deadlines":{"get":{"tags":["tc-workspace"],"summary":"Tc Deadlines","description":"Upcoming deadlines across all TC deals.","operationId":"tc_deadlines_api_v1_tc_workspace_deadlines_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days_ahead","in":"query","required":false,"schema":{"type":"integer","maximum":90,"default":14,"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/v1/tc/workspace/deals/{deal_id}/handoff":{"post":{"tags":["tc-workspace"],"summary":"Tc Handoff","description":"TC ↔ Agent handoff — transfer responsibility for a deal.","operationId":"tc_handoff_api_v1_tc_workspace_deals__deal_id__handoff_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HandoffRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/workspace/stats":{"get":{"tags":["tc-workspace"],"summary":"Tc Stats","description":"TC performance metrics — deals managed, completion rates, avg time to close.","operationId":"tc_stats_api_v1_tc_workspace_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/deals":{"get":{"tags":["tc-suite"],"summary":"List Tc Deals","description":"List deals visible to the transaction coordinator view.","operationId":"list_tc_deals_api_v1_tc_deals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/timeline/generate":{"post":{"tags":["tc-suite"],"summary":"Tc Generate Timeline","description":"Generate timeline milestones for a deal and persist in deal metadata.","operationId":"tc_generate_timeline_api_v1_tc_timeline_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimelineGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/timeline/{deal_id}":{"get":{"tags":["tc-suite"],"summary":"Tc Get Timeline","description":"Read a deal timeline from stored metadata, or generate one when dates exist.","operationId":"tc_get_timeline_api_v1_tc_timeline__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"deal_type","in":"query","required":false,"schema":{"type":"string","pattern":"^(residential|commercial)$","default":"residential","title":"Deal Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/deadlines/{deal_id}":{"get":{"tags":["tc-suite"],"summary":"Tc Get Deadlines","description":"Get all stored deadlines for a deal with countdown + escalation levels.","operationId":"tc_get_deadlines_api_v1_tc_deadlines__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/deadlines/{deadline_id}/complete":{"put":{"tags":["tc-suite"],"summary":"Tc Complete Deadline","description":"Mark a deadline as completed.","operationId":"tc_complete_deadline_api_v1_tc_deadlines__deadline_id__complete_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deadline_id","in":"path","required":true,"schema":{"type":"string","title":"Deadline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/deadlines/{deadline_id}/waive":{"put":{"tags":["tc-suite"],"summary":"Tc Waive Deadline","description":"Waive a deadline.","operationId":"tc_waive_deadline_api_v1_tc_deadlines__deadline_id__waive_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deadline_id","in":"path","required":true,"schema":{"type":"string","title":"Deadline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/parties/{deal_id}":{"get":{"tags":["tc-suite"],"summary":"Tc List Parties","description":"List parties for a deal and auto-populate from known contacts when empty.","operationId":"tc_list_parties_api_v1_tc_parties__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"auto_populate","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Auto Populate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tc-suite"],"summary":"Tc Create Party","description":"Create a party record for a deal.","operationId":"tc_create_party_api_v1_tc_parties__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/parties/{deal_id}/{party_id}":{"put":{"tags":["tc-suite"],"summary":"Tc Update Party","description":"Update a party record.","operationId":"tc_update_party_api_v1_tc_parties__deal_id___party_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"party_id","in":"path","required":true,"schema":{"type":"string","title":"Party Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tc-suite"],"summary":"Tc Delete Party","description":"Delete a party record.","operationId":"tc_delete_party_api_v1_tc_parties__deal_id___party_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"party_id","in":"path","required":true,"schema":{"type":"string","title":"Party Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc/review-cd":{"post":{"tags":["tc-suite"],"summary":"Tc Review Cd","description":"Upload and analyze a Closing Disclosure against contract terms.","operationId":"tc_review_cd_api_v1_tc_review_cd_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tc_review_cd_api_v1_tc_review_cd_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc/commission/calculate":{"post":{"tags":["tc-suite"],"summary":"Tc Calculate Commission","description":"Calculate gross/net commission with percentage, flat fee, or tiered rules.","operationId":"tc_calculate_commission_api_v1_tc_commission_calculate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommissionCalculationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/deals":{"get":{"tags":["tc-suite-alias"],"summary":"List Tc Deals","description":"List deals visible to the transaction coordinator view.","operationId":"list_tc_deals_api_v1_tc_suite_deals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc-suite/timeline/generate":{"post":{"tags":["tc-suite-alias"],"summary":"Tc Generate Timeline","description":"Generate timeline milestones for a deal and persist in deal metadata.","operationId":"tc_generate_timeline_api_v1_tc_suite_timeline_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TimelineGenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc-suite/timeline/{deal_id}":{"get":{"tags":["tc-suite-alias"],"summary":"Tc Get Timeline","description":"Read a deal timeline from stored metadata, or generate one when dates exist.","operationId":"tc_get_timeline_api_v1_tc_suite_timeline__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"deal_type","in":"query","required":false,"schema":{"type":"string","pattern":"^(residential|commercial)$","default":"residential","title":"Deal Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/deadlines/{deal_id}":{"get":{"tags":["tc-suite-alias"],"summary":"Tc Get Deadlines","description":"Get all stored deadlines for a deal with countdown + escalation levels.","operationId":"tc_get_deadlines_api_v1_tc_suite_deadlines__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/deadlines/{deadline_id}/complete":{"put":{"tags":["tc-suite-alias"],"summary":"Tc Complete Deadline","description":"Mark a deadline as completed.","operationId":"tc_complete_deadline_api_v1_tc_suite_deadlines__deadline_id__complete_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deadline_id","in":"path","required":true,"schema":{"type":"string","title":"Deadline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/deadlines/{deadline_id}/waive":{"put":{"tags":["tc-suite-alias"],"summary":"Tc Waive Deadline","description":"Waive a deadline.","operationId":"tc_waive_deadline_api_v1_tc_suite_deadlines__deadline_id__waive_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deadline_id","in":"path","required":true,"schema":{"type":"string","title":"Deadline Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/parties/{deal_id}":{"get":{"tags":["tc-suite-alias"],"summary":"Tc List Parties","description":"List parties for a deal and auto-populate from known contacts when empty.","operationId":"tc_list_parties_api_v1_tc_suite_parties__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"auto_populate","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Auto Populate"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["tc-suite-alias"],"summary":"Tc Create Party","description":"Create a party record for a deal.","operationId":"tc_create_party_api_v1_tc_suite_parties__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/parties/{deal_id}/{party_id}":{"put":{"tags":["tc-suite-alias"],"summary":"Tc Update Party","description":"Update a party record.","operationId":"tc_update_party_api_v1_tc_suite_parties__deal_id___party_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"party_id","in":"path","required":true,"schema":{"type":"string","title":"Party Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartyUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["tc-suite-alias"],"summary":"Tc Delete Party","description":"Delete a party record.","operationId":"tc_delete_party_api_v1_tc_suite_parties__deal_id___party_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"party_id","in":"path","required":true,"schema":{"type":"string","title":"Party Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tc-suite/review-cd":{"post":{"tags":["tc-suite-alias"],"summary":"Tc Review Cd","description":"Upload and analyze a Closing Disclosure against contract terms.","operationId":"tc_review_cd_api_v1_tc_suite_review_cd_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_tc_review_cd_api_v1_tc_suite_review_cd_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/tc-suite/commission/calculate":{"post":{"tags":["tc-suite-alias"],"summary":"Tc Calculate Commission","description":"Calculate gross/net commission with percentage, flat fee, or tiered rules.","operationId":"tc_calculate_commission_api_v1_tc_suite_commission_calculate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommissionCalculationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/threads":{"post":{"tags":["intel-board"],"summary":"Create Thread","description":"Create a new intel thread.","operationId":"create_thread_api_v1_network_intel_threads_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__intel_board__CreateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["intel-board"],"summary":"Get Threads","description":"Get intel threads.","operationId":"get_threads_api_v1_network_intel_threads_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"hot","title":"Sort"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/trending":{"get":{"tags":["intel-board"],"summary":"Get Trending","description":"Get trending topics.","operationId":"get_trending_api_v1_network_intel_trending_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/threads/{thread_id}":{"get":{"tags":["intel-board"],"summary":"Get Thread","description":"Get thread with all comments.","operationId":"get_thread_api_v1_network_intel_threads__thread_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["intel-board"],"summary":"Update Thread","description":"Update own thread.","operationId":"update_thread_api_v1_network_intel_threads__thread_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__intel_board__CreateThreadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["intel-board"],"summary":"Delete Thread","description":"Delete own thread.","operationId":"delete_thread_api_v1_network_intel_threads__thread_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/threads/{thread_id}/comments":{"post":{"tags":["intel-board"],"summary":"Add Comment","description":"Add a comment to a thread.","operationId":"add_comment_api_v1_network_intel_threads__thread_id__comments_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__intel_board__CommentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/threads/{thread_id}/comments/{comment_id}/accept":{"post":{"tags":["intel-board"],"summary":"Accept Answer","description":"Mark a comment as accepted answer (OP only).","operationId":"accept_answer_api_v1_network_intel_threads__thread_id__comments__comment_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/intel/vote":{"post":{"tags":["intel-board"],"summary":"Vote","description":"Vote on a thread or comment (+1 or -1).","operationId":"vote_api_v1_network_intel_vote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/intel/threads/{thread_id}/summarize":{"post":{"tags":["intel-board"],"summary":"Summarize Thread","description":"AI summarizes a thread.","operationId":"summarize_thread_api_v1_network_intel_threads__thread_id__summarize_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"thread_id","in":"path","required":true,"schema":{"type":"string","title":"Thread Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/posts":{"post":{"tags":["marketplace"],"summary":"Create Post","description":"Create a marketplace post.","operationId":"create_post_api_v1_network_marketplace_posts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__marketplace__CreatePostRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/marketplace/feed":{"get":{"tags":["marketplace"],"summary":"Get Feed","description":"Get marketplace feed.","operationId":"get_feed_api_v1_network_marketplace_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Type"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/posts/{post_id}":{"get":{"tags":["marketplace"],"summary":"Get Post","description":"Get post with full details, comments, and matches.","operationId":"get_post_api_v1_network_marketplace_posts__post_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["marketplace"],"summary":"Update Post","description":"Update own post.","operationId":"update_post_api_v1_network_marketplace_posts__post_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__marketplace__CreatePostRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["marketplace"],"summary":"Delete Post","description":"Delete own post.","operationId":"delete_post_api_v1_network_marketplace_posts__post_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/posts/{post_id}/react":{"post":{"tags":["marketplace"],"summary":"React To Post","description":"React to a post (like, interested, comment).","operationId":"react_to_post_api_v1_network_marketplace_posts__post_id__react_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/matches":{"get":{"tags":["marketplace"],"summary":"Get My Matches","description":"Get AI-matched posts for this agent.","operationId":"get_my_matches_api_v1_network_marketplace_matches_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/matches/{match_id}":{"patch":{"tags":["marketplace"],"summary":"Update Match","description":"Update match status.","operationId":"update_match_api_v1_network_marketplace_matches__match_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","title":"Match Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/posts/{post_id}/message":{"post":{"tags":["marketplace"],"summary":"Send Message","description":"Send a private message about a post.","operationId":"send_message_api_v1_network_marketplace_posts__post_id__message_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/messages":{"get":{"tags":["marketplace"],"summary":"Get Messages","description":"Get private messages.","operationId":"get_messages_api_v1_network_marketplace_messages_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"post_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/marketplace/suggest":{"get":{"tags":["marketplace"],"summary":"Get Post Suggestion","description":"AI suggests what to post.","operationId":"get_post_suggestion_api_v1_network_marketplace_suggest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commissions/overview":{"get":{"tags":["commissions"],"summary":"Commission Overview","description":"Full commission dashboard: earned, pending, projected, tax estimate.","operationId":"commission_overview_api_v1_commissions_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commissions/deals":{"get":{"tags":["commissions"],"summary":"Commission Deals","description":"List deals with commission details.","operationId":"commission_deals_api_v1_commissions_deals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Status"}},{"name":"year","in":"query","required":false,"schema":{"type":"integer","title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commissions/deals/{deal_id}":{"patch":{"tags":["commissions"],"summary":"Update Deal Commission","description":"Update commission details on a deal.","operationId":"update_deal_commission_api_v1_commissions_deals__deal_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCommissionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commission/calculate":{"post":{"tags":["commission-tracker"],"summary":"Api Calculate Commission","description":"Ad-hoc commission calculator — no auth required for quick calculations.","operationId":"api_calculate_commission_api_v1_commission_calculate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__commission_tracker__CalculateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CalculateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commission/summary":{"get":{"tags":["commission-tracker"],"summary":"Api Ytd Summary","description":"YTD commission summary for the authenticated agent.","operationId":"api_ytd_summary_api_v1_commission_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/YTDSummaryResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commission/monthly":{"get":{"tags":["commission-tracker"],"summary":"Api Monthly Breakdown","description":"Monthly commission breakdown for charting.","operationId":"api_monthly_breakdown_api_v1_commission_monthly_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"year","in":"query","required":false,"schema":{"type":"integer","title":"Year"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commission/projection":{"get":{"tags":["commission-tracker"],"summary":"Api Projection","description":"Annual earnings projection based on YTD pace.","operationId":"api_projection_api_v1_commission_projection_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectionResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commission/deals":{"get":{"tags":["commission-tracker"],"summary":"Api Commission Deals","description":"List all deals with commission status and breakdown.","operationId":"api_commission_deals_api_v1_commission_deals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/neighborhood-guides/generate":{"post":{"tags":["neighborhood-guides"],"summary":"Generate Guide","operationId":"generate_guide_api_v1_neighborhood_guides_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateGuideRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/neighborhood-guides/":{"get":{"tags":["neighborhood-guides"],"summary":"List Guides","operationId":"list_guides_api_v1_neighborhood_guides__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/neighborhood-guides/{guide_id}":{"get":{"tags":["neighborhood-guides"],"summary":"Get Guide","operationId":"get_guide_api_v1_neighborhood_guides__guide_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"guide_id","in":"path","required":true,"schema":{"type":"string","title":"Guide Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["neighborhood-guides"],"summary":"Update Guide","operationId":"update_guide_api_v1_neighborhood_guides__guide_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"guide_id","in":"path","required":true,"schema":{"type":"string","title":"Guide Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["neighborhood-guides"],"summary":"Delete Guide","operationId":"delete_guide_api_v1_neighborhood_guides__guide_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"guide_id","in":"path","required":true,"schema":{"type":"string","title":"Guide Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/neighborhood-guides/public/{slug}":{"get":{"tags":["neighborhood-guides"],"summary":"Get Public Guide","operationId":"get_public_guide_api_v1_neighborhood_guides_public__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/command-center/":{"get":{"tags":["command-center"],"summary":"Command Center","description":"The brain: What should I do next? Top 3 actions + 1 risk + 1 revenue move.","operationId":"command_center_api_v1_command_center__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommandCenterResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/negotiation/analyze":{"post":{"tags":["negotiation"],"summary":"Analyze Deal","description":"Full negotiation analysis: comps + strategy + recommendation.","operationId":"analyze_deal_api_v1_negotiation_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/negotiation/counter-offer":{"post":{"tags":["negotiation"],"summary":"Generate Counter Offer","description":"Generate counter-offer language and strategy.","operationId":"generate_counter_offer_api_v1_negotiation_counter_offer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__negotiation__CounterOfferRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/negotiation/predict":{"post":{"tags":["negotiation"],"summary":"Predict Response","description":"Predict seller response to an offer price.","operationId":"predict_response_api_v1_negotiation_predict_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/negotiation/comps/{deal_id}":{"get":{"tags":["negotiation"],"summary":"Get Deal Comps","description":"Pull comparable sales for a deal.","operationId":"get_deal_comps_api_v1_negotiation_comps__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/hot-list":{"get":{"tags":["predictive"],"summary":"Get Hot List","description":"Top contacts most likely to transact in 90 days.","operationId":"get_hot_list_api_v1_predictive_hot_list_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/scores":{"get":{"tags":["predictive"],"summary":"Get All Scores","description":"All contacts with prediction scores.","operationId":"get_all_scores_api_v1_predictive_scores_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"tier","in":"query","required":false,"schema":{"type":"string","title":"Tier"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/contact/{contact_id}/signals":{"get":{"tags":["predictive"],"summary":"Get Contact Signals","description":"Detailed signal breakdown for one contact.","operationId":"get_contact_signals_api_v1_predictive_contact__contact_id__signals_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/score-lead":{"post":{"tags":["predictive"],"summary":"Score Lead","description":"Lead scoring v2: returns score 0-100 + hot/warm/cold bucket.","operationId":"score_lead_api_v1_predictive_score_lead_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeadScoreV2Request"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/predictive/likely-to-sell":{"get":{"tags":["predictive"],"summary":"Likely To Sell","description":"Predict SOI homeowners likely to sell in the next 6-12 months.","operationId":"likely_to_sell_api_v1_predictive_likely_to_sell_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/market-timing-alerts":{"get":{"tags":["predictive"],"summary":"Market Timing Alerts","description":"Market timing alerts for buyer/seller market conditions by ZIP.","operationId":"market_timing_alerts_api_v1_predictive_market_timing_alerts_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":180,"minimum":1,"default":30,"title":"Days"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Refresh"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/churn-risk":{"get":{"tags":["predictive"],"summary":"Churn Risk","description":"Predict relationship churn risk for contacts.","operationId":"churn_risk_api_v1_predictive_churn_risk_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/predictive/pipeline-forecast":{"get":{"tags":["predictive"],"summary":"Pipeline Forecast","description":"Forecast monthly closings and revenue from active pipeline.","operationId":"pipeline_forecast_api_v1_predictive_pipeline_forecast_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":6,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/agents":{"get":{"tags":["agent-directory"],"summary":"Search Agents","description":"Browse/search agents for referrals and networking.","operationId":"search_agents_api_v1_marketplace_agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"}},{"name":"specialty","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Specialty"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/agents/{slug}/reviews":{"get":{"tags":["agent-directory"],"summary":"Get Agent Reviews","description":"Get reviews for an agent.","operationId":"get_agent_reviews_api_v1_marketplace_agents__slug__reviews_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/agents/{slug}/review":{"post":{"tags":["agent-directory"],"summary":"Leave Review","description":"Leave a review for another agent.","operationId":"leave_review_api_v1_marketplace_agents__slug__review_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReviewRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketplace/referral-request":{"post":{"tags":["agent-directory"],"summary":"Request Referral","description":"Post a referral request to the marketplace.","operationId":"request_referral_api_v1_marketplace_referral_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/scan/scan/{deal_id}":{"post":{"tags":["compliance-scanner"],"summary":"Scan Deal","description":"Run full compliance scan on a deal.","operationId":"scan_deal_api_v1_compliance_scan_scan__deal_id__post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/scan/dashboard":{"get":{"tags":["compliance-scanner"],"summary":"Compliance Dashboard","description":"Brokerage-wide compliance health dashboard (admin/broker/owner only).","operationId":"compliance_dashboard_api_v1_compliance_scan_dashboard_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/scan/disclosures/{deal_id}":{"get":{"tags":["compliance-scanner"],"summary":"Get Deal Disclosures","description":"Disclosure tracker for a deal — which are required, signed, missing.","operationId":"get_deal_disclosures_api_v1_compliance_scan_disclosures__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/scan/fair-housing/check":{"post":{"tags":["compliance-scanner"],"summary":"Fair Housing Check","description":"Check text for potential Fair Housing violations.","operationId":"fair_housing_check_api_v1_compliance_scan_fair_housing_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FairHousingCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/scan/deadlines":{"get":{"tags":["compliance-scanner"],"summary":"Upcoming Deadlines","description":"All upcoming compliance deadlines across all deals.","operationId":"upcoming_deadlines_api_v1_compliance_scan_deadlines_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":1,"default":14,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review/analyze":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Analyze Contract","description":"Upload a contract PDF or reference a stored document ID for AI analysis.","operationId":"api_analyze_contract_api_v1_review_analyze_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_analyze_contract_api_v1_review_analyze_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractReviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contract-review/analyze":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Full Contract Analyze","description":"Full contract analysis for risks, missing clauses, and unusual terms.","operationId":"api_full_contract_analyze_api_v1_contract_review_analyze_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_full_contract_analyze_api_v1_contract_review_analyze_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FullAnalysisResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contract-review/compliance-check":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Compliance Check","description":"Check state-specific contract compliance requirements.","operationId":"api_compliance_check_api_v1_contract_review_compliance_check_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_compliance_check_api_v1_contract_review_compliance_check_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contract-review/suggest-clauses":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Suggest Clauses","description":"Recommend protective clause language for the specific deal context.","operationId":"api_suggest_clauses_api_v1_contract_review_suggest_clauses_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_suggest_clauses_api_v1_contract_review_suggest_clauses_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseSuggestionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contract-review/generate-redline":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Generate Redline","description":"Generate AI redline suggestions and persist to contract_redlines.","operationId":"api_generate_redline_api_v1_contract_review_generate_redline_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_api_generate_redline_api_v1_contract_review_generate_redline_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RedlineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/contract-review/clauses":{"get":{"tags":["dockpremium-contract-review"],"summary":"Api Clause Library Pro","description":"Search Clause Library Pro by state, clause type, and risk level.","operationId":"api_clause_library_pro_api_v1_contract_review_clauses_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State"}},{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"deal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"residential_purchase","title":"Deal Type"}},{"name":"risk_level","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseLibraryProResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contract-review/draft-amendment":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Draft Amendment","description":"Draft formatted amendment language from natural language instructions.","operationId":"api_draft_amendment_api_v1_contract_review_draft_amendment_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmendmentDraftRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AmendmentDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/review/deal/{deal_id}":{"get":{"tags":["dockpremium-contract-review"],"summary":"Api List Reviews For Deal","description":"List all contract reviews for a deal.","operationId":"api_list_reviews_for_deal_api_v1_review_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealReviewsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review/{review_id}":{"get":{"tags":["dockpremium-contract-review"],"summary":"Api Get Review","description":"Get contract review results by review ID.","operationId":"api_get_review_api_v1_review__review_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"review_id","in":"path","required":true,"schema":{"type":"string","title":"Review Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContractReviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/review/{review_id}/suggestions":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Suggest Amendments","description":"Generate AI-suggested amendment language for a review.","operationId":"api_suggest_amendments_api_v1_review__review_id__suggestions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"review_id","in":"path","required":true,"schema":{"type":"string","title":"Review Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/clauses":{"get":{"tags":["dockpremium-contract-review"],"summary":"Api List Clauses","description":"Browse clause library by state/deal type with optional category filter.","operationId":"api_list_clauses_api_v1_clauses_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":2,"title":"State"}},{"name":"deal_type","in":"query","required":false,"schema":{"type":"string","default":"residential_purchase","title":"Deal Type"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseLibraryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/clauses/{clause_id}":{"get":{"tags":["dockpremium-contract-review"],"summary":"Api Get Clause","description":"Get clause details including standard language.","operationId":"api_get_clause_api_v1_clauses__clause_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"clause_id","in":"path","required":true,"schema":{"type":"string","title":"Clause Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClauseLibraryItemResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/negotiate/analyze":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Negotiate Analyze","description":"Analyze negotiation position from contract text and market context.","operationId":"api_negotiate_analyze_api_v1_negotiate_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationAnalyzeRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NegotiationAnalyzeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/negotiate/counter":{"post":{"tags":["dockpremium-contract-review"],"summary":"Api Negotiate Counter","description":"Generate counter-offer strategy suggestions.","operationId":"api_negotiate_counter_api_v1_negotiate_counter_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__contract_review__CounterOfferRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__contract_review__CounterOfferResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/":{"get":{"tags":["brokerage-branding"],"summary":"Get Branding","description":"Get current brokerage branding settings.","operationId":"get_branding_api_v1_brokerage_branding__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/branding":{"post":{"tags":["brokerage-branding"],"summary":"Update Branding","description":"Update brokerage branding (logo, colors, tagline).","operationId":"update_branding_api_v1_brokerage_branding_branding_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/domain":{"get":{"tags":["brokerage-branding"],"summary":"Check Domain Status","description":"Check custom domain DNS verification status.","operationId":"check_domain_status_api_v1_brokerage_branding_domain_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["brokerage-branding"],"summary":"Set Custom Domain","description":"Register a custom domain for the brokerage.","operationId":"set_custom_domain_api_v1_brokerage_branding_domain_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/email-template":{"post":{"tags":["brokerage-branding"],"summary":"Set Email Template","description":"Set custom email header/footer for brokerage communications.","operationId":"set_email_template_api_v1_brokerage_branding_email_template_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailTemplateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/invite":{"post":{"tags":["brokerage-branding"],"summary":"Invite Agent","description":"Invite an agent to join the brokerage.","operationId":"invite_agent_api_v1_brokerage_branding_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__brokerage_branding__InviteRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/agents":{"get":{"tags":["brokerage-branding"],"summary":"List Brokerage Agents","description":"List all agents in the brokerage.","operationId":"list_brokerage_agents_api_v1_brokerage_branding_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/branding/theme":{"get":{"tags":["brokerage-branding"],"summary":"Get Brokerage Theme","description":"Get brokerage theme for frontend injection. Used by ThemeProvider.","operationId":"get_brokerage_theme_api_v1_brokerage_branding_theme_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/create":{"post":{"tags":["brokerage-v2"],"summary":"Create Brokerage","description":"Create a brokerage. Creator becomes the owner with an active membership.","operationId":"create_brokerage_api_v1_brokerage_v2_create_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/v2/mine":{"get":{"tags":["brokerage-v2"],"summary":"List My Brokerages","description":"List all brokerages the current agent is a member of.","operationId":"list_my_brokerages_api_v1_brokerage_v2_mine_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageListResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/brokerage/v2/{brokerage_id}":{"get":{"tags":["brokerage-v2"],"summary":"Get Brokerage","description":"Get brokerage details. Requires active membership.","operationId":"get_brokerage_api_v1_brokerage_v2__brokerage_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["brokerage-v2"],"summary":"Update Brokerage","description":"Update brokerage settings. Requires admin or owner role.","operationId":"update_brokerage_api_v1_brokerage_v2__brokerage_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/invite":{"post":{"tags":["brokerage-v2"],"summary":"Invite Member","description":"Invite someone to join the brokerage. Requires admin+ role.","operationId":"invite_member_api_v1_brokerage_v2__brokerage_id__invite_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/invites/{token}/accept":{"post":{"tags":["brokerage-v2"],"summary":"Accept Invite Endpoint","description":"Accept a brokerage invitation.","operationId":"accept_invite_endpoint_api_v1_brokerage_v2_invites__token__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAcceptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/invites/{token}/decline":{"post":{"tags":["brokerage-v2"],"summary":"Decline Invite Endpoint","description":"Decline a brokerage invitation.","operationId":"decline_invite_endpoint_api_v1_brokerage_v2_invites__token__decline_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteDeclineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/members":{"get":{"tags":["brokerage-v2"],"summary":"List Members","description":"List members of a brokerage. Requires membership.","operationId":"list_members_api_v1_brokerage_v2__brokerage_id__members_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(invited|active|suspended|left)$"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/members/{target_agent_id}/role":{"put":{"tags":["brokerage-v2"],"summary":"Update Member Role","description":"Change a member's role. Requires admin+ (owner to promote to admin).","operationId":"update_member_role_api_v1_brokerage_v2__brokerage_id__members__target_agent_id__role_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__schemas__brokerage__RoleUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoleUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/members/{target_agent_id}":{"delete":{"tags":["brokerage-v2"],"summary":"Remove Member Endpoint","description":"Remove a member from the brokerage. Agent keeps all their data.","operationId":"remove_member_endpoint_api_v1_brokerage_v2__brokerage_id__members__target_agent_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberRemoveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/members/{target_agent_id}/suspend":{"post":{"tags":["brokerage-v2"],"summary":"Suspend Member Endpoint","description":"Suspend a brokerage member. They lose access but keep their data.","operationId":"suspend_member_endpoint_api_v1_brokerage_v2__brokerage_id__members__target_agent_id__suspend_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberSuspendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/leave":{"post":{"tags":["brokerage-v2"],"summary":"Leave Brokerage Endpoint","description":"Voluntarily leave a brokerage. Agent keeps all their data.","operationId":"leave_brokerage_endpoint_api_v1_brokerage_v2__brokerage_id__leave_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LeaveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/analytics":{"get":{"tags":["brokerage-v2"],"summary":"Brokerage Analytics","description":"Aggregate pipeline, revenue, and deal stats across brokerage members.\nRequires admin+ role. Shows aggregate only — no individual agent data exposed.","operationId":"brokerage_analytics_api_v1_brokerage_v2__brokerage_id__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/billing":{"get":{"tags":["brokerage-v2"],"summary":"Brokerage Billing","description":"Billing summary: seat count, active/billable seats, MRR.\nRequires admin+ role.","operationId":"brokerage_billing_api_v1_brokerage_v2__brokerage_id__billing_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrokerageBillingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/chat":{"post":{"tags":["brokerage-v2"],"summary":"Post Chat Message","description":"Post a message to the brokerage internal chat. Requires active membership.","operationId":"post_chat_message_api_v1_brokerage_v2__brokerage_id__chat_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatMessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["brokerage-v2"],"summary":"List Chat Messages","description":"List brokerage chat messages, newest first. Requires membership.","operationId":"list_chat_messages_api_v1_brokerage_v2__brokerage_id__chat_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brokerage/v2/{brokerage_id}/bulletin":{"post":{"tags":["brokerage-v2"],"summary":"Post Bulletin Endpoint","description":"Post a bulletin to the brokerage board. Requires admin+ role.","operationId":"post_bulletin_endpoint_api_v1_brokerage_v2__brokerage_id__bulletin_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinCreateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["brokerage-v2"],"summary":"List Bulletins Endpoint","description":"List brokerage bulletins — pinned first, then newest. Requires membership.","operationId":"list_bulletins_endpoint_api_v1_brokerage_v2__brokerage_id__bulletin_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"path","required":true,"schema":{"type":"string","title":"Brokerage Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulletinListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v2/settings":{"get":{"tags":["voice-v2"],"summary":"Get Voice V2 Settings","description":"Get extended Voice AI v2 settings.","operationId":"get_voice_v2_settings_api_v1_voice_v2_settings_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"patch":{"tags":["voice-v2"],"summary":"Update Voice V2 Settings","description":"Update Voice AI v2 settings.","operationId":"update_voice_v2_settings_api_v1_voice_v2_settings_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceV2Settings"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/v2/transcripts":{"get":{"tags":["voice-v2"],"summary":"Get Call Transcripts","description":"Get call transcripts with AI summaries.","operationId":"get_call_transcripts_api_v1_voice_v2_transcripts_get","security":[{"HTTPBearer":[]}],"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/v1/voice/v2/qualified-leads":{"get":{"tags":["voice-v2"],"summary":"Get Qualified Leads","description":"Get leads that were qualified via Voice AI.","operationId":"get_qualified_leads_api_v1_voice_v2_qualified_leads_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/v2/test-call":{"post":{"tags":["voice-v2"],"summary":"Trigger Test Call","description":"Trigger a test call to verify voice settings.","operationId":"trigger_test_call_api_v1_voice_v2_test_call_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/v3/calls":{"get":{"tags":["voice-v3"],"summary":"List Call Logs","description":"List call logs with optional filters.","operationId":"list_call_logs_api_v1_voice_v3_calls_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}},{"name":"direction","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Direction"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"contact_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/calls/{id}":{"get":{"tags":["voice-v3"],"summary":"Get Call Log","description":"Get call details with transcription and AI summary.","operationId":"get_call_log_api_v1_voice_v3_calls__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallLogItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/calls/{id}/callback":{"post":{"tags":["voice-v3"],"summary":"Schedule Callback","description":"Schedule callback task/alert for this call.","operationId":"schedule_callback_api_v1_voice_v3_calls__id__callback_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/sms":{"get":{"tags":["voice-v3"],"summary":"List Sms Conversations","description":"List SMS conversations.","operationId":"list_sms_conversations_api_v1_voice_v3_sms_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"contact_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSConversationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/sms/{id}":{"get":{"tags":["voice-v3"],"summary":"Get Sms Conversation","description":"Get one SMS thread.","operationId":"get_sms_conversation_api_v1_voice_v3_sms__id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSConversationItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/sms/{id}/reply":{"post":{"tags":["voice-v3"],"summary":"Reply Sms Conversation","description":"Agent manual SMS reply in a conversation.","operationId":"reply_sms_conversation_api_v1_voice_v3_sms__id__reply_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSReplyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSReplyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/sms/{id}/handoff":{"post":{"tags":["voice-v3"],"summary":"Set Sms Handoff","description":"Toggle AI handling for the conversation.","operationId":"set_sms_handoff_api_v1_voice_v3_sms__id__handoff_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSHandoffRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SMSHandoffResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/routing/config":{"get":{"tags":["voice-v3"],"summary":"Get Routing Config","description":"Get Voice v3 routing config for the current agent.","operationId":"get_routing_config_api_v1_voice_v3_routing_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingConfigResponse"}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["voice-v3"],"summary":"Update Routing Config","description":"Update Voice v3 routing rules.","operationId":"update_routing_config_api_v1_voice_v3_routing_config_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingConfigUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/voice/v3/routing/decision":{"get":{"tags":["voice-v3"],"summary":"Preview Routing Decision","description":"Preview route decision for a caller/time.","operationId":"preview_routing_decision_api_v1_voice_v3_routing_decision_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"caller_number","in":"query","required":true,"schema":{"type":"string","title":"Caller Number"}},{"name":"at","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoutingDecisionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/analytics":{"get":{"tags":["voice-v3"],"summary":"Get Voice Analytics","description":"Voice/SMS analytics overview.","operationId":"get_voice_analytics_api_v1_voice_v3_analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/v3/webhooks/twilio/call-status":{"post":{"tags":["voice-v3"],"summary":"Twilio Call Status Webhook","description":"Twilio call status callback.","operationId":"twilio_call_status_webhook_api_v1_voice_v3_webhooks_twilio_call_status_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/voice/v3/webhooks/twilio/recording-ready":{"post":{"tags":["voice-v3"],"summary":"Twilio Recording Ready Webhook","description":"Twilio recording callback with voicemail transcription.","operationId":"twilio_recording_ready_webhook_api_v1_voice_v3_webhooks_twilio_recording_ready_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/voice/v3/webhooks/twilio/sms-inbound":{"post":{"tags":["voice-v3"],"summary":"Twilio Sms Inbound Webhook","description":"Twilio inbound SMS webhook for Voice v3 threaded handling.","operationId":"twilio_sms_inbound_webhook_api_v1_voice_v3_webhooks_twilio_sms_inbound_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/docksign/templates":{"post":{"tags":["docksign"],"summary":"Create Template","description":"Upload a PDF and create a reusable document template.","operationId":"create_template_api_v1_docksign_templates_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Template name","title":"Name"},"description":"Template name"},{"name":"description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_template_api_v1_docksign_templates_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["docksign"],"summary":"List Templates","description":"List the agent's document templates.","operationId":"list_templates_api_v1_docksign_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/{template_id}":{"get":{"tags":["signing-templates"],"summary":"Get Template","description":"Get a signing template by ID.","operationId":"get_template_api_v1_docksign_templates__template_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["signing-templates"],"summary":"Update Template","description":"Update a signing template.","operationId":"update_template_api_v1_docksign_templates__template_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__signing_templates__TemplateUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["signing-templates"],"summary":"Delete Template","description":"Delete a signing template.","operationId":"delete_template_api_v1_docksign_templates__template_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/{template_id}/fields":{"post":{"tags":["docksign"],"summary":"Batch Upsert Fields","description":"Add or update fields on a template (batch upsert).\n\nFields with an `id` are updated; fields without are created.","operationId":"batch_upsert_fields_api_v1_docksign_templates__template_id__fields_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateFieldsBatchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests":{"post":{"tags":["docksign"],"summary":"Create Sign Request","description":"Create a new sign request with signers.\n\nLinks a template to signers and optionally to a deal/contact.\nStatus starts as 'draft' until explicitly sent.","operationId":"create_sign_request_api_v1_docksign_requests_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignRequestCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["docksign"],"summary":"List Sign Requests","description":"List sign requests with optional filters.","operationId":"list_sign_requests_api_v1_docksign_requests_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/envelopes":{"get":{"tags":["docksign"],"summary":"List Envelopes","description":"List signing envelopes. Alias for sign requests in envelope-style API.","operationId":"list_envelopes_api_v1_docksign_envelopes_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/docksign/send-bulk":{"post":{"tags":["docksign"],"summary":"Send Bulk Sign Requests","description":"Bulk-send the same template to many recipients with personalization.","operationId":"send_bulk_sign_requests_api_v1_docksign_send_bulk_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSendRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/docksign/requests/{request_id}":{"get":{"tags":["docksign"],"summary":"Get Sign Request","description":"Get a sign request with signers and template info.","operationId":"get_sign_request_api_v1_docksign_requests__request_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/send":{"post":{"tags":["docksign"],"summary":"Send Sign Request","description":"Send the sign request to signers (triggers email notifications).\n\nTransitions status from 'draft' to 'sent'.","operationId":"send_sign_request_api_v1_docksign_requests__request_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/void":{"post":{"tags":["docksign"],"summary":"Void Sign Request","description":"Void/cancel a sign request. Cannot be undone.","operationId":"void_sign_request_api_v1_docksign_requests__request_id__void_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoidRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/remind":{"post":{"tags":["docksign"],"summary":"Remind Signers","description":"Send reminders to pending/sent signers who haven't completed.","operationId":"remind_signers_api_v1_docksign_requests__request_id__remind_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/workflow":{"put":{"tags":["docksign"],"summary":"Update Request Workflow","description":"Update signing order/workflow mode/conditional routing rules.","operationId":"update_request_workflow_api_v1_docksign_requests__request_id__workflow_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkflowUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}":{"get":{"tags":["docksign"],"summary":"Get Signing Session","description":"Get the signing session for a signer (public, no auth).\n\nReturns PDF URL, fields assigned to this signer's role, and consent status.","operationId":"get_signing_session_api_v1_docksign_sign__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/nutrient-session":{"get":{"tags":["docksign"],"summary":"Get Nutrient Signing Session","description":"Create a Nutrient Viewer signing session for an external signer.\n\nMVP bridge:\n- token identifies signer + sign_request\n- per-sign_request Nutrient document is created (template upload) if needed\n- returns a short-lived Nutrient viewer session token\n\nSequential routing placeholder: only the lowest outstanding signing_order may sign.","operationId":"get_nutrient_signing_session_api_v1_docksign_sign__token__nutrient_session_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/consent":{"post":{"tags":["docksign"],"summary":"Record Esign Consent","description":"Record ESIGN Act / UETA consent for this signer.\n\nCaptures IP address, timestamp, and user agent for compliance.\nMust be completed before any field values or signatures are accepted.","operationId":"record_esign_consent_api_v1_docksign_sign__token__consent_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/fields":{"post":{"tags":["docksign"],"summary":"Submit Field Values","description":"Submit field values (text, dates, checkboxes) for this signer.\n\nESIGN consent must be given before submitting fields.","operationId":"submit_field_values_api_v1_docksign_sign__token__fields_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldValuesRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/signature":{"post":{"tags":["docksign"],"summary":"Upload Signature","description":"Upload a signature or initials image (base64-encoded).\n\nESIGN consent must be given before uploading signatures.","operationId":"upload_signature_api_v1_docksign_sign__token__signature_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SignatureUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/complete":{"post":{"tags":["docksign"],"summary":"Complete Signing","description":"Finalize this signer's submission.\n\nValidates that all required fields are filled, marks signer as 'signed',\nand checks if the overall request is now complete.","operationId":"complete_signing_api_v1_docksign_sign__token__complete_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/download":{"get":{"tags":["docksign"],"summary":"Download Signed Pdf","description":"Download the final signed PDF (auth required).\n\nReturns the URL to the signed document. In production, this would\ngenerate a pre-signed S3 URL.","operationId":"download_signed_pdf_api_v1_docksign_requests__request_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/audit":{"get":{"tags":["docksign"],"summary":"Download Audit Trail","description":"Download the full audit trail for a sign request (auth required).\n\nReturns a chronological list of every event — from creation through\ncompletion — for ESIGN/UETA compliance.","operationId":"download_audit_trail_api_v1_docksign_requests__request_id__audit_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/requests/{request_id}/audit-trail":{"get":{"tags":["docksign"],"summary":"Download Audit Trail Pdf","description":"Download an audit-trail certificate PDF.","operationId":"download_audit_trail_pdf_api_v1_docksign_requests__request_id__audit_trail_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/sign/{token}/download":{"get":{"tags":["docksign"],"summary":"Signer Download","description":"Signer downloads their copy of the signed document (token-based, no auth).\n\nOnly available after the signer has completed signing.","operationId":"signer_download_api_v1_docksign_sign__token__download_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/library":{"get":{"tags":["docksign"],"summary":"List Library Templates","description":"List all pre-built contract templates from the library.\n\nSupports filtering by category, state, search text, and tag.","operationId":"list_library_templates_api_v1_docksign_templates_library_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by state (e.g. CA, TX, all)","title":"State"},"description":"Filter by state (e.g. CA, TX, all)"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search name and description","title":"Search"},"description":"Search name and description"},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by tag","title":"Tag"},"description":"Filter by tag"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/library/{template_id}":{"get":{"tags":["docksign"],"summary":"Get Library Template","description":"Get a single pre-built library template by ID.","operationId":"get_library_template_api_v1_docksign_templates_library__template_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/library/{template_id}/use":{"post":{"tags":["docksign"],"summary":"Use Library Template","description":"Create a signing template from a pre-built library template.\n\nOptionally auto-fills fields from deal/contact data when deal_id is provided.","operationId":"use_library_template_api_v1_docksign_templates_library__template_id__use_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Optional deal ID to auto-fill fields from","title":"Deal Id"},"description":"Optional deal ID to auto-fill fields from"}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/upload":{"post":{"tags":["document-viewer","Document Viewer"],"summary":"Upload Document","description":"Upload a document for in-browser viewing (standalone, no deal link).","operationId":"upload_document_api_v1_documents_viewer_upload_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"title","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_api_v1_documents_viewer_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/session":{"post":{"tags":["document-viewer","Document Viewer"],"summary":"Create Viewer Session","description":"Generate a viewer session token for the frontend.\n\nModes:\n- full: view, annotate, fill, sign, download\n- read_only: view and download only\n- signing: view, fill forms, sign\n- review: view, annotate, download","operationId":"create_viewer_session_api_v1_documents_viewer_session_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/viewer/documents":{"get":{"tags":["document-viewer","Document Viewer"],"summary":"List Documents","description":"List all uploaded documents (standalone Nutrient docs).","operationId":"list_documents_api_v1_documents_viewer_documents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentListResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/documents/viewer/documents/{document_id}/download":{"get":{"tags":["document-viewer","Document Viewer"],"summary":"Download Document","description":"Download the current version of a document (with all annotations/edits).","operationId":"download_document_api_v1_documents_viewer_documents__document_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/documents/{document_id}":{"delete":{"tags":["document-viewer","Document Viewer"],"summary":"Delete Document","description":"Delete a document from the viewer storage.","operationId":"delete_document_api_v1_documents_viewer_documents__document_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/deal/{deal_id}/upload":{"post":{"tags":["document-viewer","Document Viewer"],"summary":"Upload Deal Document","description":"Upload a document linked to a specific deal.\n\nStores in S3 and optionally uploads to Nutrient for in-browser viewing.\nAccepted file types: PDF, DOCX, DOC, JPG, JPEG, PNG, TIFF.\nMax size: 50MB.","operationId":"upload_deal_document_api_v1_documents_viewer_deal__deal_id__upload_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_deal_document_api_v1_documents_viewer_deal__deal_id__upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/deal/{deal_id}":{"get":{"tags":["document-viewer","Document Viewer"],"summary":"List Deal Documents","description":"List all documents for a deal.\n\nOptional filter by document_type (contract, disclosure, etc.).","operationId":"list_deal_documents_api_v1_documents_viewer_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/documents/{document_id}/metadata":{"put":{"tags":["document-viewer","Document Viewer"],"summary":"Update Deal Document","description":"Update document metadata (type, tags, notes).","operationId":"update_deal_document_api_v1_documents_viewer_documents__document_id__metadata_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentOut"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/documents/{document_id}/session":{"post":{"tags":["document-viewer","Document Viewer"],"summary":"Create Deal Document Session","description":"Create a Nutrient viewer session for a specific deal document.\n\nThe document must have a nutrient_document_id (i.e., was uploaded to Nutrient).\nIf it wasn't (e.g., non-PDF), returns 422 with instructions to download instead.","operationId":"create_deal_document_session_api_v1_documents_viewer_documents__document_id__session_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentSessionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/vault/{document_id}/session":{"post":{"tags":["document-viewer","Document Viewer"],"summary":"Create Vault Document Session","description":"Create a Nutrient viewer session for a vault document.\n\nExisting vault PDFs are backfilled into Nutrient the first time a user opens them.\nNon-PDF files currently fall back to download-only behavior.","operationId":"create_vault_document_session_api_v1_documents_viewer_vault__document_id__session_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentSessionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/documents/viewer/documents/{document_id}/file":{"get":{"tags":["document-viewer","Document Viewer"],"summary":"Download Deal Document File","description":"Download the original file for a deal document from S3.","operationId":"download_deal_document_file_api_v1_documents_viewer_documents__document_id__file_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/esign/docusign/connect":{"post":{"tags":["esign-integrations"],"summary":"Connect Docusign","operationId":"connect_docusign_api_v1_integrations_esign_docusign_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/docusign/status":{"get":{"tags":["esign-integrations"],"summary":"Docusign Status","operationId":"docusign_status_api_v1_integrations_esign_docusign_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/docusign/sync":{"post":{"tags":["esign-integrations"],"summary":"Sync Docusign","operationId":"sync_docusign_api_v1_integrations_esign_docusign_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/docusign/disconnect":{"delete":{"tags":["esign-integrations"],"summary":"Disconnect Docusign","operationId":"disconnect_docusign_api_v1_integrations_esign_docusign_disconnect_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/dotloop/connect":{"post":{"tags":["esign-integrations"],"summary":"Connect Dotloop","operationId":"connect_dotloop_api_v1_integrations_esign_dotloop_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/dotloop/status":{"get":{"tags":["esign-integrations"],"summary":"Dotloop Status","operationId":"dotloop_status_api_v1_integrations_esign_dotloop_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/dotloop/sync":{"post":{"tags":["esign-integrations"],"summary":"Sync Dotloop","operationId":"sync_dotloop_api_v1_integrations_esign_dotloop_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/esign/dotloop/disconnect":{"delete":{"tags":["esign-integrations"],"summary":"Disconnect Dotloop","operationId":"disconnect_dotloop_api_v1_integrations_esign_dotloop_disconnect_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/templates":{"post":{"tags":["dockdocs-templates"],"summary":"Create Template","description":"Upload a template file and create a reusable template.\n\nSupports PDF forms (fillable fields auto-detected), HTML (Jinja2\nvariables detected), and DOCX ({{placeholder}} patterns detected).\n\nReturns the template with a list of detected fields for mapping.","operationId":"create_template_api_v1_templates_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_template_api_v1_templates_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["dockdocs-templates"],"summary":"List Templates","description":"List templates — own templates, system templates, and brokerage templates.\n\nFilters:\n- state: 2-letter code (also includes state-agnostic templates)\n- category: purchase_agreement, disclosure, addendum, etc.\n- system_only: only platform-provided templates","operationId":"list_templates_api_v1_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State"}},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"system_only","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"System Only"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/system":{"get":{"tags":["dockdocs-templates"],"summary":"Get System Templates","description":"Get all system (platform-provided) templates.","operationId":"get_system_templates_api_v1_templates_system_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TemplateResponse"},"title":"Response Get System Templates Api V1 Templates System Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/generated":{"get":{"tags":["dockdocs-templates"],"summary":"List Generated Documents","description":"List generated documents with optional filters.","operationId":"list_generated_documents_api_v1_templates_generated_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/generated/{generated_id}":{"get":{"tags":["dockdocs-templates"],"summary":"Get Generated Document","description":"Get a generated document with viewer session token.","operationId":"get_generated_document_api_v1_templates_generated__generated_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"generated_id","in":"path","required":true,"schema":{"type":"string","title":"Generated Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/generated/{generated_id}/finalize":{"post":{"tags":["dockdocs-templates"],"summary":"Finalize Generated Document","description":"Mark a generated document as final (no further edits).","operationId":"finalize_generated_document_api_v1_templates_generated__generated_id__finalize_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"generated_id","in":"path","required":true,"schema":{"type":"string","title":"Generated Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/generated/{generated_id}/send-to-sign":{"post":{"tags":["dockdocs-templates"],"summary":"Send To Sign","description":"Send a generated document to the DockSign signing flow.","operationId":"send_to_sign_api_v1_templates_generated__generated_id__send_to_sign_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"generated_id","in":"path","required":true,"schema":{"type":"string","title":"Generated Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}":{"get":{"tags":["dockdocs-templates"],"summary":"Get Template","description":"Get template details including detected fields.","operationId":"get_template_api_v1_templates__template_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}/mappings":{"put":{"tags":["dockdocs-templates"],"summary":"Update Field Mappings","description":"Update field mappings on a template.\n\nMaps template field names to data paths using dot notation:\n```json\n{\n  \"mappings\": {\n    \"buyer_name\": \"deal.contacts[role=buyer].full_name\",\n    \"purchase_price\": \"deal.price\",\n    \"closing_date\": \"deal.closing_date\",\n    \"agent_license\": \"agent.license_number\"\n  }\n}\n```","operationId":"update_field_mappings_api_v1_templates__template_id__mappings_put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FieldMappingsUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TemplateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}/preview":{"post":{"tags":["dockdocs-templates"],"summary":"Preview Template","description":"Preview a template with sample data (no deal required).\n\nProvide sample_data to fill specific fields, or leave empty\nto get placeholder text for all mapped fields.","operationId":"preview_template_api_v1_templates__template_id__preview_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PreviewRequest"},{"type":"null"}],"title":"Body"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/templates/{template_id}/generate":{"post":{"tags":["dockdocs-templates"],"summary":"Generate Document","description":"Generate a filled document from a template + deal data.\n\nThis is the main auto-fill endpoint. It:\n1. Loads the template and its field mappings\n2. Loads the deal + contacts + agent data\n3. Resolves all mappings to actual values\n4. Fills the template (PDF form fill / HTML render / DOCX replace)\n5. Converts to PDF via Nutrient Processor\n6. Stores the output in S3\n7. Returns the generated document with a viewer session token","operationId":"generate_document_api_v1_templates__template_id__generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__schemas__templates__GenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeneratedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/zapier/events":{"get":{"tags":["zapier"],"summary":"List Supported Events","description":"List the Zapier trigger events supported by RealtorDock.","operationId":"list_supported_events_api_v1_zapier_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/zapier/subscriptions":{"get":{"tags":["zapier"],"summary":"List Subscriptions","description":"List active Zapier webhook subscriptions for the current agent.","operationId":"list_subscriptions_api_v1_zapier_subscriptions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/zapier/subscribe":{"post":{"tags":["zapier"],"summary":"Subscribe Webhook","description":"Register a Zapier webhook URL for one or more RealtorDock trigger events.\n\nEach subscription receives signed POST requests whenever the selected events\noccur for the authenticated agent.","operationId":"subscribe_webhook_api_v1_zapier_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/zapier/subscribe/{subscription_id}":{"delete":{"tags":["zapier"],"summary":"Unsubscribe Webhook","description":"Delete a Zapier webhook subscription by id.","operationId":"unsubscribe_webhook_api_v1_zapier_subscribe__subscription_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/zapier/triggers/samples":{"get":{"tags":["zapier"],"summary":"Get Trigger Samples","description":"Return sample payloads for common Zapier trigger events.","operationId":"get_trigger_samples_api_v1_zapier_triggers_samples_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type","in":"query","required":false,"schema":{"type":"string","default":"contact.created","title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/zapier/actions/create-contact":{"post":{"tags":["zapier"],"summary":"Create Contact From Zapier","description":"Create a CRM contact from a Zapier action step.","operationId":"create_contact_from_zapier_api_v1_zapier_actions_create_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactActionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/zapier/actions/create-deal":{"post":{"tags":["zapier"],"summary":"Create Deal From Zapier","description":"Create a pipeline deal from a Zapier action step.","operationId":"create_deal_from_zapier_api_v1_zapier_actions_create_deal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDealActionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/zapier/actions/send-dock-message":{"post":{"tags":["zapier"],"summary":"Send Dock Message From Zapier","description":"Send a natural-language command to Dock AI from Zapier and return the AI response.","operationId":"send_dock_message_from_zapier_api_v1_zapier_actions_send_dock_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendDockMessageActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/events":{"get":{"tags":["zapier"],"summary":"List Supported Events","description":"List the Zapier trigger events supported by RealtorDock.","operationId":"list_supported_events_api_v1_webhooks_zapier_events_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/subscriptions":{"get":{"tags":["zapier"],"summary":"List Subscriptions","description":"List active Zapier webhook subscriptions for the current agent.","operationId":"list_subscriptions_api_v1_webhooks_zapier_subscriptions_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/subscribe":{"post":{"tags":["zapier"],"summary":"Subscribe Webhook","description":"Register a Zapier webhook URL for one or more RealtorDock trigger events.\n\nEach subscription receives signed POST requests whenever the selected events\noccur for the authenticated agent.","operationId":"subscribe_webhook_api_v1_webhooks_zapier_subscribe_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscribeRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/subscribe/{subscription_id}":{"delete":{"tags":["zapier"],"summary":"Unsubscribe Webhook","description":"Delete a Zapier webhook subscription by id.","operationId":"unsubscribe_webhook_api_v1_webhooks_zapier_subscribe__subscription_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/zapier/triggers/samples":{"get":{"tags":["zapier"],"summary":"Get Trigger Samples","description":"Return sample payloads for common Zapier trigger events.","operationId":"get_trigger_samples_api_v1_webhooks_zapier_triggers_samples_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"event_type","in":"query","required":false,"schema":{"type":"string","default":"contact.created","title":"Event Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/webhooks/zapier/actions/create-contact":{"post":{"tags":["zapier"],"summary":"Create Contact From Zapier","description":"Create a CRM contact from a Zapier action step.","operationId":"create_contact_from_zapier_api_v1_webhooks_zapier_actions_create_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContactActionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/actions/create-deal":{"post":{"tags":["zapier"],"summary":"Create Deal From Zapier","description":"Create a pipeline deal from a Zapier action step.","operationId":"create_deal_from_zapier_api_v1_webhooks_zapier_actions_create_deal_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDealActionRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/webhooks/zapier/actions/send-dock-message":{"post":{"tags":["zapier"],"summary":"Send Dock Message From Zapier","description":"Send a natural-language command to Dock AI from Zapier and return the AI response.","operationId":"send_dock_message_from_zapier_api_v1_webhooks_zapier_actions_send_dock_message_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendDockMessageActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/openclaw/provision":{"post":{"tags":["openclaw"],"summary":"Provision Openclaw Agent","description":"Provision an OpenClaw agent for a realtor. Admin only.","operationId":"provision_openclaw_agent_api_v1_openclaw_provision_post","parameters":[{"name":"agent_id","in":"query","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Provision Openclaw Agent Api V1 Openclaw Provision Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/openclaw/{agent_id}/deprovision":{"delete":{"tags":["openclaw"],"summary":"Deprovision Openclaw Agent","description":"Remove an OpenClaw agent and clean up workspace. Admin only.","operationId":"deprovision_openclaw_agent_api_v1_openclaw__agent_id__deprovision_delete","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Deprovision Openclaw Agent Api V1 Openclaw  Agent Id  Deprovision Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/openclaw/{agent_id}/status":{"get":{"tags":["openclaw"],"summary":"Get Openclaw Agent Status","description":"Check if an OpenClaw agent is healthy.","operationId":"get_openclaw_agent_status_api_v1_openclaw__agent_id__status_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Openclaw Agent Status Api V1 Openclaw  Agent Id  Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/openclaw/{agent_id}/model":{"patch":{"tags":["openclaw"],"summary":"Set Model Override","description":"Set AI model override for an agent. Admin only.","operationId":"set_model_override_api_v1_openclaw__agent_id__model_patch","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModelOverrideRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Set Model Override Api V1 Openclaw  Agent Id  Model Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/openclaw/{agent_id}/config":{"get":{"tags":["openclaw"],"summary":"Get Ai Config","description":"Get current AI config for an agent. Admin only.","operationId":"get_ai_config_api_v1_openclaw__agent_id__config_get","parameters":[{"name":"agent_id","in":"path","required":true,"schema":{"type":"string","title":"Agent Id"}},{"name":"x-admin-secret","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Ai Config Api V1 Openclaw  Agent Id  Config Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/requirements":{"get":{"tags":["dockcomply"],"summary":"Get Requirements","operationId":"get_requirements_api_v1_compliance_v2_requirements_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State"}},{"name":"deal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequirementsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/deal/{deal_id}":{"get":{"tags":["dockcomply"],"summary":"Get Deal Checklist","operationId":"get_deal_checklist_api_v1_compliance_v2_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceChecklistResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/deal/{deal_id}/generate":{"post":{"tags":["dockcomply"],"summary":"Generate Deal Checklist","operationId":"generate_deal_checklist_api_v1_compliance_v2_deal__deal_id__generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceChecklistResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/deal/{deal_id}/items/{item_id}/complete":{"post":{"tags":["dockcomply"],"summary":"Complete Item","operationId":"complete_item_api_v1_compliance_v2_deal__deal_id__items__item_id__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkCompleteRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceItemResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/deal/{deal_id}/items/{item_id}/waive":{"post":{"tags":["dockcomply"],"summary":"Waive Deal Item","operationId":"waive_deal_item_api_v1_compliance_v2_deal__deal_id__items__item_id__waive_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaiveItemRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceItemResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/deal/{deal_id}/score":{"get":{"tags":["dockcomply"],"summary":"Get Score","operationId":"get_score_api_v1_compliance_v2_deal__deal_id__score_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/v2/alerts":{"get":{"tags":["dockcomply"],"summary":"Get Alerts","operationId":"get_alerts_api_v1_compliance_v2_alerts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ComplianceAlertsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/compliance/v2/state/{state}":{"get":{"tags":["dockcomply"],"summary":"Get State Requirements","operationId":"get_state_requirements_api_v1_compliance_v2_state__state__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"state","in":"path","required":true,"schema":{"type":"string","title":"State"}},{"name":"deal_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequirementsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/upload":{"post":{"tags":["dockvault"],"summary":"Upload Document","description":"Upload a document into DockVault.\n\nStores the file, associates it with a deal or folder when provided, and\nemits a Zapier `document.uploaded` trigger for downstream automation.","operationId":"upload_document_api_v1_vault_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_api_v1_vault_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/documents":{"get":{"tags":["dockvault"],"summary":"List Documents","operationId":"list_documents_api_v1_vault_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"folder","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}":{"get":{"tags":["dockvault"],"summary":"Get Document","operationId":"get_document_api_v1_vault_documents__document_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["dockvault"],"summary":"Update Document","operationId":"update_document_api_v1_vault_documents__document_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["dockvault"],"summary":"Archive Document","operationId":"archive_document_api_v1_vault_documents__document_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/download":{"get":{"tags":["dockvault"],"summary":"Get Download Link","operationId":"get_download_link_api_v1_vault_documents__document_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"expires_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":604800,"minimum":60,"default":3600,"title":"Expires Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/version":{"post":{"tags":["dockvault"],"summary":"Upload New Version","operationId":"upload_new_version_api_v1_vault_documents__document_id__version_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_new_version_api_v1_vault_documents__document_id__version_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/versions":{"get":{"tags":["dockvault-versions"],"summary":"List Versions","description":"List all versions of a document.","operationId":"list_versions_api_v1_vault_documents__document_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["dockvault-versions"],"summary":"Create Version","description":"Create a new version for a document.","operationId":"create_version_api_v1_vault_documents__document_id__versions_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVersionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/versions/{version_number}/download":{"get":{"tags":["dockvault"],"summary":"Get Version Download Link","operationId":"get_version_download_link_api_v1_vault_documents__document_id__versions__version_number__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"expires_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":604800,"minimum":60,"default":3600,"title":"Expires Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/share":{"post":{"tags":["dockvault"],"summary":"Share Document","operationId":"share_document_api_v1_vault_documents__document_id__share_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/rooms":{"post":{"tags":["dockvault"],"summary":"Create Deal Room","operationId":"create_deal_room_api_v1_vault_rooms_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/rooms/{deal_id}":{"get":{"tags":["dockvault"],"summary":"Get Deal Room","operationId":"get_deal_room_api_v1_vault_rooms__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomWithDocumentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/rooms/{id}/documents":{"post":{"tags":["dockvault"],"summary":"Add Room Document","operationId":"add_room_document_api_v1_vault_rooms__id__documents_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomDocumentAddRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/share":{"post":{"tags":["dockvault"],"summary":"Create Share Link","operationId":"create_share_link_api_v1_vault_share_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDocumentShareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentShareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/share/{token}":{"get":{"tags":["dockvault"],"summary":"Access Share Link","operationId":"access_share_link_api_v1_vault_share__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"password","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},{"name":"viewer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer"}},{"name":"duration_seconds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Duration Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessSharedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/share/{id}":{"delete":{"tags":["dockvault"],"summary":"Delete Share Link","operationId":"delete_share_link_api_v1_vault_share__id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentShareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/batch-download":{"post":{"tags":["dockvault"],"summary":"Batch Download","operationId":"batch_download_api_v1_vault_batch_download_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDownloadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/batch-upload":{"post":{"tags":["dockvault"],"summary":"Batch Upload","operationId":"batch_upload_api_v1_vault_batch_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_batch_upload_api_v1_vault_batch_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/expirations":{"post":{"tags":["dockvault"],"summary":"Set Expiration Tracking","operationId":"set_expiration_tracking_api_v1_vault_expirations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpirationTrackingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpirationTrackingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/folders":{"get":{"tags":["dockvault-folders"],"summary":"List Folders","description":"List vault folders (root level by default, or children of parent_id).","operationId":"list_folders_api_v1_vault_folders_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["dockvault-folders"],"summary":"Create Folder","description":"Create a new vault folder.","operationId":"create_folder_api_v1_vault_folders_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__vault_folders__CreateFolderRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/search":{"get":{"tags":["dockvault-folders"],"summary":"Vault Search","description":"Full-text search across vault documents.","operationId":"vault_search_api_v1_vault_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/deal/{deal_id}":{"get":{"tags":["dockvault"],"summary":"Get Deal Documents","operationId":"get_deal_documents_api_v1_vault_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/stats":{"get":{"tags":["dockvault"],"summary":"Get Stats","operationId":"get_stats_api_v1_vault_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageStatsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vault/documents/{document_id}/access-log":{"get":{"tags":["dockvault"],"summary":"Get Access Log","operationId":"get_access_log_api_v1_vault_documents__document_id__access_log_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/upload":{"post":{"tags":["dockvault-alias"],"summary":"Upload Document","description":"Upload a document into DockVault.\n\nStores the file, associates it with a deal or folder when provided, and\nemits a Zapier `document.uploaded` trigger for downstream automation.","operationId":"upload_document_api_v1_document_vault_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_document_api_v1_document_vault_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/documents":{"get":{"tags":["dockvault-alias"],"summary":"List Documents","operationId":"list_documents_api_v1_document_vault_documents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"folder","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}":{"get":{"tags":["dockvault-alias"],"summary":"Get Document","operationId":"get_document_api_v1_document_vault_documents__document_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["dockvault-alias"],"summary":"Update Document","operationId":"update_document_api_v1_document_vault_documents__document_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["dockvault-alias"],"summary":"Archive Document","operationId":"archive_document_api_v1_document_vault_documents__document_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}/download":{"get":{"tags":["dockvault-alias"],"summary":"Get Download Link","operationId":"get_download_link_api_v1_document_vault_documents__document_id__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"expires_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":604800,"minimum":60,"default":3600,"title":"Expires Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}/version":{"post":{"tags":["dockvault-alias"],"summary":"Upload New Version","operationId":"upload_new_version_api_v1_document_vault_documents__document_id__version_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_new_version_api_v1_document_vault_documents__document_id__version_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}/versions":{"get":{"tags":["dockvault-alias"],"summary":"List Versions","operationId":"list_versions_api_v1_document_vault_documents__document_id__versions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentVersionsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}/versions/{version_number}/download":{"get":{"tags":["dockvault-alias"],"summary":"Get Version Download Link","operationId":"get_version_download_link_api_v1_document_vault_documents__document_id__versions__version_number__download_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"version_number","in":"path","required":true,"schema":{"type":"integer","title":"Version Number"}},{"name":"expires_seconds","in":"query","required":false,"schema":{"type":"integer","maximum":604800,"minimum":60,"default":3600,"title":"Expires Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/documents/{document_id}/share":{"post":{"tags":["dockvault-alias"],"summary":"Share Document","operationId":"share_document_api_v1_document_vault_documents__document_id__share_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/rooms":{"post":{"tags":["dockvault-alias"],"summary":"Create Deal Room","operationId":"create_deal_room_api_v1_document_vault_rooms_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomCreateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/rooms/{deal_id}":{"get":{"tags":["dockvault-alias"],"summary":"Get Deal Room","operationId":"get_deal_room_api_v1_document_vault_rooms__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomWithDocumentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/rooms/{id}/documents":{"post":{"tags":["dockvault-alias"],"summary":"Add Room Document","operationId":"add_room_document_api_v1_document_vault_rooms__id__documents_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomDocumentAddRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealRoomDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/share":{"post":{"tags":["dockvault-alias"],"summary":"Create Share Link","operationId":"create_share_link_api_v1_document_vault_share_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDocumentShareRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentShareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/share/{token}":{"get":{"tags":["dockvault-alias"],"summary":"Access Share Link","operationId":"access_share_link_api_v1_document_vault_share__token__get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"password","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},{"name":"viewer","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer"}},{"name":"duration_seconds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Duration Seconds"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessSharedDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/share/{id}":{"delete":{"tags":["dockvault-alias"],"summary":"Delete Share Link","operationId":"delete_share_link_api_v1_document_vault_share__id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentShareResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/batch-download":{"post":{"tags":["dockvault-alias"],"summary":"Batch Download","operationId":"batch_download_api_v1_document_vault_batch_download_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDownloadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/batch-upload":{"post":{"tags":["dockvault-alias"],"summary":"Batch Upload","operationId":"batch_upload_api_v1_document_vault_batch_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_batch_upload_api_v1_document_vault_batch_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/expirations":{"post":{"tags":["dockvault-alias"],"summary":"Set Expiration Tracking","operationId":"set_expiration_tracking_api_v1_document_vault_expirations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpirationTrackingRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExpirationTrackingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/folders":{"get":{"tags":["dockvault-alias"],"summary":"List Folders","operationId":"list_folders_api_v1_document_vault_folders_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FolderListResponse"}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["dockvault-alias"],"summary":"Create Folder","operationId":"create_folder_api_v1_document_vault_folders_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__document_vault__CreateFolderRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateFolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/search":{"get":{"tags":["dockvault-alias"],"summary":"Search Documents","operationId":"search_documents_api_v1_document_vault_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":1,"title":"Q"}},{"name":"deal_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},{"name":"folder","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"}},{"name":"document_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VaultDocumentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/deal/{deal_id}":{"get":{"tags":["dockvault-alias"],"summary":"Get Deal Documents","operationId":"get_deal_documents_api_v1_document_vault_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DealDocumentsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/document-vault/stats":{"get":{"tags":["dockvault-alias"],"summary":"Get Stats","operationId":"get_stats_api_v1_document_vault_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StorageStatsResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/document-vault/documents/{document_id}/access-log":{"get":{"tags":["dockvault-alias"],"summary":"Get Access Log","operationId":"get_access_log_api_v1_document_vault_documents__document_id__access_log_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gtm/projects":{"get":{"tags":["gtm"],"summary":"List Projects","operationId":"list_projects_api_v1_gtm_projects_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["gtm"],"summary":"Create Project","operationId":"create_project_api_v1_gtm_projects_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTMProjectCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gtm/projects/{project_id}":{"get":{"tags":["gtm"],"summary":"Get Project","operationId":"get_project_api_v1_gtm_projects__project_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["gtm"],"summary":"Update Project","operationId":"update_project_api_v1_gtm_projects__project_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GTMProjectUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/gtm/projects/{project_id}/approve":{"post":{"tags":["gtm"],"summary":"Approve Project","operationId":"approve_project_api_v1_gtm_projects__project_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/flood":{"get":{"tags":["property-intelligence"],"summary":"Flood Check","operationId":"flood_check_api_v1_intelligence_flood_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","minLength":5,"title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FloodZoneResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/demographics":{"get":{"tags":["property-intelligence"],"summary":"Demographics","operationId":"demographics_api_v1_intelligence_demographics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"zip","in":"query","required":true,"schema":{"type":"string","minLength":5,"maxLength":10,"title":"Zip"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DemographicsResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/validate-address":{"post":{"tags":["property-intelligence"],"summary":"Validate","operationId":"validate_api_v1_intelligence_validate_address_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateAddressRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatedAddress"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/intelligence/nearby":{"get":{"tags":["property-intelligence"],"summary":"Nearby","operationId":"nearby_api_v1_intelligence_nearby_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","title":"Lat"}},{"name":"lng","in":"query","required":true,"schema":{"type":"number","title":"Lng"}},{"name":"type","in":"query","required":true,"schema":{"type":"string","description":"school, restaurant, park, transit_station, hospital, grocery_store, gym","title":"Type"},"description":"school, restaurant, park, transit_station, hospital, grocery_store, gym"},{"name":"radius_m","in":"query","required":false,"schema":{"type":"integer","maximum":50000,"minimum":100,"default":1000,"title":"Radius M"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PlaceResult"},"title":"Response Nearby Api V1 Intelligence Nearby Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/vendors":{"get":{"tags":["property-intelligence"],"summary":"Vendors","operationId":"vendors_api_v1_intelligence_vendors_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","minLength":5,"title":"Address"}},{"name":"type","in":"query","required":true,"schema":{"type":"string","description":"photographer, stager, inspector, appraiser, contractor, cleaner, locksmith, plumber, electrician","title":"Type"},"description":"photographer, stager, inspector, appraiser, contractor, cleaner, locksmith, plumber, electrician"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/VendorResult"},"title":"Response Vendors Api V1 Intelligence Vendors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/report":{"get":{"tags":["property-intelligence"],"summary":"Report","operationId":"report_api_v1_intelligence_report_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","minLength":5,"title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PropertyIntelligenceReport"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property/lookup":{"get":{"tags":["property-data"],"summary":"Property Lookup","operationId":"property_lookup_api_v1_property_lookup_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","minLength":5,"title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property/search":{"get":{"tags":["property-data"],"summary":"Property Search","operationId":"property_search_api_v1_property_search_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"zip","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":5,"maxLength":10},{"type":"null"}],"title":"Zip"}},{"name":"city","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2},{"type":"null"}],"title":"City"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":2},{"type":"null"}],"title":"State"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":25,"title":"Limit"}},{"name":"property_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"}},{"name":"min_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Beds"}},{"name":"max_beds","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Beds"}},{"name":"min_baths","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Baths"}},{"name":"max_baths","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Baths"}},{"name":"min_sqft","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Min Sqft"}},{"name":"max_sqft","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"title":"Max Sqft"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/property/autocomplete":{"get":{"tags":["property-data"],"summary":"Property Autocomplete","operationId":"property_autocomplete_api_v1_property_autocomplete_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"title":"Q"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":8,"title":"Limit"}},{"name":"types","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated search types, e.g. A,C,Z","title":"Types"},"description":"Comma-separated search types, e.g. A,C,Z"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs":{"post":{"tags":["launch-packs"],"summary":"Create Pack","operationId":"create_pack_api_v1_launch_packs_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchPackCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["launch-packs"],"summary":"List Packs","operationId":"list_packs_api_v1_launch_packs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}":{"get":{"tags":["launch-packs"],"summary":"Get Pack","operationId":"get_pack_api_v1_launch_packs__pack_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}/generate":{"post":{"tags":["launch-packs"],"summary":"Generate Pack Assets","operationId":"generate_pack_assets_api_v1_launch_packs__pack_id__generate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}/assets/{asset_id}":{"put":{"tags":["launch-packs"],"summary":"Update Pack Asset","operationId":"update_pack_asset_api_v1_launch_packs__pack_id__assets__asset_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchPackAssetUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}/assets/{asset_id}/regenerate":{"post":{"tags":["launch-packs"],"summary":"Regenerate Pack Asset","operationId":"regenerate_pack_asset_api_v1_launch_packs__pack_id__assets__asset_id__regenerate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchPackAssetRegenerateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}/assets/{asset_id}/approve":{"post":{"tags":["launch-packs"],"summary":"Approve Pack Asset","operationId":"approve_pack_asset_api_v1_launch_packs__pack_id__assets__asset_id__approve_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/launch-packs/{pack_id}/assets/{asset_id}/reject":{"post":{"tags":["launch-packs"],"summary":"Reject Pack Asset","operationId":"reject_pack_asset_api_v1_launch_packs__pack_id__assets__asset_id__reject_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"pack_id","in":"path","required":true,"schema":{"type":"string","title":"Pack Id"}},{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchPackAssetRejectRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/tokens":{"post":{"tags":["seller-portal"],"summary":"Create Seller Portal Token","description":"Create a new seller portal access token for a listing.","operationId":"create_seller_portal_token_api_v1_seller_portal_tokens_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSellerPortalRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SellerPortalTokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["seller-portal"],"summary":"List Seller Portal Tokens","description":"List all seller portal tokens for the agent.","operationId":"list_seller_portal_tokens_api_v1_seller_portal_tokens_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"listing_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SellerPortalTokenResponse"},"title":"Response List Seller Portal Tokens Api V1 Seller Portal Tokens Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/tokens/{token_id}":{"delete":{"tags":["seller-portal"],"summary":"Revoke Seller Portal Token","description":"Revoke a seller portal token.","operationId":"revoke_seller_portal_token_api_v1_seller_portal_tokens__token_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"string","title":"Token Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/auth":{"post":{"tags":["seller-portal"],"summary":"Seller Authenticate","description":"Authenticate seller via portal token.","operationId":"seller_authenticate_api_v1_seller_portal_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SellerAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SellerAuthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/listing":{"get":{"tags":["seller-portal"],"summary":"Seller Get Listing","description":"Get listing details for the seller.","operationId":"seller_get_listing_api_v1_seller_portal_listing_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/offers":{"get":{"tags":["seller-portal"],"summary":"Seller Get Offers","description":"Get offers on the seller's listing (agent-curated view).","operationId":"seller_get_offers_api_v1_seller_portal_offers_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/showings":{"get":{"tags":["seller-portal"],"summary":"Seller Get Showings","description":"Get showing feedback for the seller's listing.","operationId":"seller_get_showings_api_v1_seller_portal_showings_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/documents":{"get":{"tags":["seller-portal"],"summary":"Seller Get Documents","description":"Get seller-visible documents from real deal-linked stores with transaction binding.","operationId":"seller_get_documents_api_v1_seller_portal_documents_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/documents/{document_id}/download":{"get":{"tags":["seller-portal"],"summary":"Seller Download Document","description":"Resolve a seller portal document download for vault and deal-linked files.","operationId":"seller_download_document_api_v1_seller_portal_documents__document_id__download_get","parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/net-sheet":{"get":{"tags":["seller-portal"],"summary":"Seller Get Net Sheet","description":"Get net proceeds estimate for the seller.","operationId":"seller_get_net_sheet_api_v1_seller_portal_net_sheet_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}},{"name":"commission_rate","in":"query","required":false,"schema":{"type":"number","default":0.06,"title":"Commission Rate"}},{"name":"mortgage_payoff","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Mortgage Payoff"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seller-portal/timeline":{"get":{"tags":["seller-portal"],"summary":"Seller Get Timeline","description":"Get deal timeline for the seller's listing.","operationId":"seller_get_timeline_api_v1_seller_portal_timeline_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/market/stats":{"get":{"tags":["market"],"summary":"Market Stats","description":"Get live market stats for a zip/market scope.","operationId":"market_stats_api_v1_market_stats_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"zip","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":10,"title":"Zip"}},{"name":"market","in":"query","required":false,"schema":{"type":"string","default":"zip","title":"Market"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/auth":{"post":{"tags":["buyer-portal"],"summary":"Buyer Auth","description":"Authenticate buyer via email + token.","operationId":"buyer_auth_api_v1_buyer_portal_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuyerAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/saved-searches":{"get":{"tags":["buyer-portal"],"summary":"Get Saved Searches","description":"Buyer's saved property searches / favorites.","operationId":"get_saved_searches_api_v1_buyer_portal__token__saved_searches_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/schedule-showing":{"post":{"tags":["buyer-portal"],"summary":"Schedule Showing","description":"Self-schedule a showing (syncs with agent calendar).","operationId":"schedule_showing_api_v1_buyer_portal__token__schedule_showing_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleShowingRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/offer-status":{"get":{"tags":["buyer-portal"],"summary":"Get Offer Status","description":"Track offer status: submitted -> countered -> accepted -> closing.","operationId":"get_offer_status_api_v1_buyer_portal__token__offer_status_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/documents":{"get":{"tags":["buyer-portal"],"summary":"Get Documents","description":"Buyer-visible documents with transaction binding and real file sources.","operationId":"get_documents_api_v1_buyer_portal__token__documents_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":30,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/documents/{document_id}/download":{"get":{"tags":["buyer-portal"],"summary":"Download Buyer Document","description":"Resolve buyer portal downloads for vault and deal-linked files.","operationId":"download_buyer_document_api_v1_buyer_portal__token__documents__document_id__download_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/timeline":{"get":{"tags":["buyer-portal"],"summary":"Get Timeline","description":"Visual deal timeline with checklist progress.","operationId":"get_timeline_api_v1_buyer_portal__token__timeline_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/buyer-portal/{token}/messages":{"get":{"tags":["buyer-portal"],"summary":"Get Messages","description":"Secure messaging thread with agent.","operationId":"get_messages_api_v1_buyer_portal__token__messages_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["buyer-portal"],"summary":"Send Message","description":"Send a message to the agent.","operationId":"send_message_api_v1_buyer_portal__token__messages_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__buyer_portal__SendMessageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/tokens":{"post":{"tags":["title-portal"],"summary":"Create Title Token","description":"Create a portal token for a title company.","operationId":"create_title_token_api_v1_title_portal_tokens_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTitleTokenRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/title-portal/auth":{"post":{"tags":["title-portal"],"summary":"Title Auth","description":"Authenticate title company via token.","operationId":"title_auth_api_v1_title_portal_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TitleAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals":{"get":{"tags":["title-portal"],"summary":"List Deals","description":"List deals assigned to this title company.","operationId":"list_deals_api_v1_title_portal__token__deals_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals/{deal_id}/status":{"post":{"tags":["title-portal"],"summary":"Push Status Update","description":"Push a status update (title search -> commitment -> cleared).","operationId":"push_status_update_api_v1_title_portal__token__deals__deal_id__status_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__title_portal__StatusUpdateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals/{deal_id}/request-documents":{"post":{"tags":["title-portal"],"summary":"Request Documents","description":"Request documents from parties involved in the deal.","operationId":"request_documents_api_v1_title_portal__token__deals__deal_id__request_documents_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequestDocumentsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals/{deal_id}/wire-instructions":{"post":{"tags":["title-portal"],"summary":"Send Wire Instructions","description":"Secure wire instruction delivery with anti-fraud hash.","operationId":"send_wire_instructions_api_v1_title_portal__token__deals__deal_id__wire_instructions_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WireInstructionsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals/{deal_id}/closing-package":{"post":{"tags":["title-portal"],"summary":"Assemble Closing Package","description":"Assemble the closing package for a deal.","operationId":"assemble_closing_package_api_v1_title_portal__token__deals__deal_id__closing_package_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClosingPackageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/title-portal/{token}/deals/{deal_id}/recording":{"get":{"tags":["title-portal"],"summary":"Get Recording Status","description":"Track recording status for the deal.","operationId":"get_recording_status_api_v1_title_portal__token__deals__deal_id__recording_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/tokens":{"post":{"tags":["vendor-portal"],"summary":"Create Vendor Token","description":"Create a portal token for a vendor.","operationId":"create_vendor_token_api_v1_vendor_portal_tokens_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateVendorTokenRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/vendor-portal/auth":{"post":{"tags":["vendor-portal"],"summary":"Vendor Auth","description":"Authenticate vendor via token.","operationId":"vendor_auth_api_v1_vendor_portal_auth_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VendorAuthRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/{token}/jobs":{"get":{"tags":["vendor-portal"],"summary":"List Jobs","description":"List vendor's assigned jobs.","operationId":"list_jobs_api_v1_vendor_portal__token__jobs_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/{token}/jobs/{job_id}/status":{"put":{"tags":["vendor-portal"],"summary":"Update Job Status","description":"Update job status (scheduled -> in_progress -> completed -> report_ready).","operationId":"update_job_status_api_v1_vendor_portal__token__jobs__job_id__status_put","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateJobStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/{token}/jobs/{job_id}/upload":{"post":{"tags":["vendor-portal"],"summary":"Upload Deliverable","description":"Upload reports/deliverables to deal vault.","operationId":"upload_deliverable_api_v1_vendor_portal__token__jobs__job_id__upload_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}},{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadDeliverableRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/{token}/profile":{"get":{"tags":["vendor-portal"],"summary":"Get Vendor Profile","description":"Get vendor profile.","operationId":"get_vendor_profile_api_v1_vendor_portal__token__profile_get","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vendor-portal/{token}/rate":{"post":{"tags":["vendor-portal"],"summary":"Rate Vendor","description":"Post-deal rating for vendor (typically called by agent-side).","operationId":"rate_vendor_api_v1_vendor_portal__token__rate_post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateVendorRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/smart-lists/":{"get":{"tags":["smart-lists"],"summary":"List Smart Lists","operationId":"list_smart_lists_api_v1_smart_lists__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"post":{"tags":["smart-lists"],"summary":"Create Smart List","operationId":"create_smart_list_api_v1_smart_lists__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmartListCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/smart-lists/{smart_list_id}":{"get":{"tags":["smart-lists"],"summary":"Get Smart List","operationId":"get_smart_list_api_v1_smart_lists__smart_list_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"smart_list_id","in":"path","required":true,"schema":{"type":"string","title":"Smart List Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["smart-lists"],"summary":"Update Smart List","operationId":"update_smart_list_api_v1_smart_lists__smart_list_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"smart_list_id","in":"path","required":true,"schema":{"type":"string","title":"Smart List Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmartListUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["smart-lists"],"summary":"Delete Smart List","operationId":"delete_smart_list_api_v1_smart_lists__smart_list_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"smart_list_id","in":"path","required":true,"schema":{"type":"string","title":"Smart List Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/smart-lists/{smart_list_id}/refresh":{"post":{"tags":["smart-lists"],"summary":"Refresh Smart List","operationId":"refresh_smart_list_api_v1_smart_lists__smart_list_id__refresh_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"smart_list_id","in":"path","required":true,"schema":{"type":"string","title":"Smart List Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/storage/presign":{"post":{"tags":["storage"],"summary":"Presign Upload","description":"Generate a presigned PUT URL for direct-to-S3 upload.","operationId":"presign_upload_api_v1_storage_presign_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/storage/complete":{"post":{"tags":["storage"],"summary":"Complete Upload","description":"Confirm an upload completed and return metadata.","operationId":"complete_upload_api_v1_storage_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__storage__CompleteUploadRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/storage/download/{key}":{"get":{"tags":["storage"],"summary":"Download File","description":"Generate a presigned GET URL for downloading.","operationId":"download_file_api_v1_storage_download__key__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"filename","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/documents/{document_id}/versions/{version_id}/rollback":{"post":{"tags":["dockvault-versions"],"summary":"Rollback To Version","description":"Rollback a document to a previous version.","operationId":"rollback_to_version_api_v1_vault_documents__document_id__versions__version_id__rollback_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/folders/{folder_id}":{"put":{"tags":["dockvault-folders"],"summary":"Update Folder","description":"Update a vault folder.","operationId":"update_folder_api_v1_vault_folders__folder_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateFolderRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["dockvault-folders"],"summary":"Delete Folder","description":"Delete a vault folder.","operationId":"delete_folder_api_v1_vault_folders__folder_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/vault/folders/{folder_id}/move-documents":{"post":{"tags":["dockvault-folders"],"summary":"Move Documents","description":"Move documents into a folder.","operationId":"move_documents_api_v1_vault_folders__folder_id__move_documents_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MoveDocumentsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/briefing":{"get":{"tags":["ai-briefing"],"summary":"Get Briefing","description":"Get today's daily briefing. Generates one if none exists.","operationId":"get_briefing_api_v1_ai_briefing_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/briefing/history":{"get":{"tags":["ai-briefing"],"summary":"Get Briefing History","description":"Get recent briefing history.","operationId":"get_briefing_history_api_v1_ai_briefing_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/briefing/generate":{"post":{"tags":["ai-briefing"],"summary":"Force Generate Briefing","description":"Force regenerate today's briefing.","operationId":"force_generate_briefing_api_v1_ai_briefing_generate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BriefingResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commissions/splits/structures":{"get":{"tags":["commission-splits"],"summary":"List Structures","description":"List all commission structures for a brokerage.","operationId":"list_structures_api_v1_commissions_splits_structures_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"query","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["commission-splits"],"summary":"Create Structure","description":"Create a new commission structure.","operationId":"create_structure_api_v1_commissions_splits_structures_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructureCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commissions/splits/structures/{structure_id}":{"get":{"tags":["commission-splits"],"summary":"Get Structure","description":"Get a commission structure by ID.","operationId":"get_structure_api_v1_commissions_splits_structures__structure_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"structure_id","in":"path","required":true,"schema":{"type":"string","title":"Structure Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["commission-splits"],"summary":"Update Structure","description":"Update a commission structure.","operationId":"update_structure_api_v1_commissions_splits_structures__structure_id__put","security":[{"HTTPBearer":[]}],"parameters":[{"name":"structure_id","in":"path","required":true,"schema":{"type":"string","title":"Structure Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructureUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["commission-splits"],"summary":"Delete Structure","description":"Delete a commission structure.","operationId":"delete_structure_api_v1_commissions_splits_structures__structure_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"structure_id","in":"path","required":true,"schema":{"type":"string","title":"Structure Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/commissions/splits/calculate":{"post":{"tags":["commission-splits"],"summary":"Calculate Commission","description":"Calculate commission split for a deal.","operationId":"calculate_commission_api_v1_commissions_splits_calculate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__commission_splits__CalculateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commissions/splits/agent-summary":{"get":{"tags":["commission-splits"],"summary":"Agent Commission Summary","description":"Get YTD commission summary for the current agent.","operationId":"agent_commission_summary_api_v1_commissions_splits_agent_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/commissions/splits/brokerage-report":{"get":{"tags":["commission-splits"],"summary":"Brokerage Commission Report","description":"Aggregate commission report for a brokerage.","operationId":"brokerage_commission_report_api_v1_commissions_splits_brokerage_report_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"query","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/dashboard/overview":{"get":{"tags":["compliance-dashboard"],"summary":"Compliance Overview","description":"Aggregate compliance overview for a brokerage.","operationId":"compliance_overview_api_v1_compliance_dashboard_overview_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"brokerage_id","in":"query","required":true,"schema":{"type":"string","title":"Brokerage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/dashboard/agent/{target_agent_id}":{"get":{"tags":["compliance-dashboard"],"summary":"Agent Compliance","description":"Check compliance status for a specific agent.","operationId":"agent_compliance_api_v1_compliance_dashboard_agent__target_agent_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"target_agent_id","in":"path","required":true,"schema":{"type":"string","title":"Target Agent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/compliance/dashboard/deals/{deal_id}/checklist":{"get":{"tags":["compliance-dashboard"],"summary":"Deal Compliance Checklist","description":"Get required document checklist for a deal.","operationId":"deal_compliance_checklist_api_v1_compliance_dashboard_deals__deal_id__checklist_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/onboarding/agent/progress":{"get":{"tags":["agent-onboarding"],"summary":"Get Onboarding Progress","description":"Get the current agent's onboarding progress.","operationId":"get_onboarding_progress_api_v1_onboarding_agent_progress_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/onboarding/agent/steps/{step}/complete":{"post":{"tags":["agent-onboarding"],"summary":"Complete Onboarding Step","description":"Mark an onboarding step as completed.","operationId":"complete_onboarding_step_api_v1_onboarding_agent_steps__step__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/onboarding/agent/steps/{step}/skip":{"post":{"tags":["agent-onboarding"],"summary":"Skip Onboarding Step","description":"Skip an onboarding step (advance without completing).","operationId":"skip_onboarding_step_api_v1_onboarding_agent_steps__step__skip_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"step","in":"path","required":true,"schema":{"type":"string","title":"Step"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/":{"get":{"tags":["signing-templates"],"summary":"List Templates","description":"List all signing templates for the current agent.","operationId":"list_templates_api_v1_docksign_templates__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["signing-templates"],"summary":"Create Template","description":"Create a new signing template.","operationId":"create_template_api_v1_docksign_templates__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__signing_templates__TemplateCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/templates/{template_id}/clone":{"post":{"tags":["signing-templates"],"summary":"Clone Template","description":"Clone an existing template.","operationId":"clone_template_api_v1_docksign_templates__template_id__clone_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloneRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/bulk-send":{"post":{"tags":["bulk-signing"],"summary":"Create Bulk Send","description":"Create a bulk send — send a template to multiple recipients.","operationId":"create_bulk_send_api_v1_docksign_bulk_send_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSendCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/docksign/bulk-send/{bulk_id}/status":{"get":{"tags":["bulk-signing"],"summary":"Get Bulk Send Status","description":"Get the status and progress of a bulk send.","operationId":"get_bulk_send_status_api_v1_docksign_bulk_send__bulk_id__status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/docksign/bulk-send/{bulk_id}/remind":{"post":{"tags":["bulk-signing"],"summary":"Send Bulk Reminders","description":"Send reminders for incomplete sign requests in a bulk send.","operationId":"send_bulk_reminders_api_v1_docksign_bulk_send__bulk_id__remind_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"bulk_id","in":"path","required":true,"schema":{"type":"string","title":"Bulk Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/v2/funnel":{"get":{"tags":["analytics-dashboard"],"summary":"Get Funnel","description":"Conversion funnel with stage-to-stage rates.","operationId":"get_funnel_api_v1_analytics_v2_funnel_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/v2/forecast":{"get":{"tags":["analytics-dashboard"],"summary":"Get Forecast","description":"Pipeline-weighted revenue forecast with confidence intervals.","operationId":"get_forecast_api_v1_analytics_v2_forecast_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/analytics/v2/kpis":{"get":{"tags":["analytics-dashboard"],"summary":"Get Kpis","description":"Key performance indicators for the agent.","operationId":"get_kpis_api_v1_analytics_v2_kpis_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/v2/agent-kpis":{"get":{"tags":["analytics-dashboard"],"summary":"Get Agent Kpis","description":"Comprehensive agent KPIs with period-over-period comparison.","operationId":"get_agent_kpis_api_v1_analytics_v2_agent_kpis_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/v2/pipeline-analytics":{"get":{"tags":["analytics-dashboard"],"summary":"Get Pipeline Analytics","description":"Pipeline funnel with conversion rates, avg time, and bottleneck ID.","operationId":"get_pipeline_analytics_api_v1_analytics_v2_pipeline_analytics_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/analytics/v2/trends":{"get":{"tags":["analytics-dashboard"],"summary":"Get Performance Trends","description":"Monthly performance trends for chart display.","operationId":"get_performance_trends_api_v1_analytics_v2_trends_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"months","in":"query","required":false,"schema":{"type":"integer","maximum":24,"minimum":1,"default":6,"title":"Months"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/analytics/v2/export":{"get":{"tags":["analytics-dashboard"],"summary":"Export Analytics","description":"Export analytics data as CSV.","operationId":"export_analytics_api_v1_analytics_v2_export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"format","in":"query","required":false,"schema":{"type":"string","default":"csv","title":"Format"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","default":"month","title":"Period"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/templates/":{"get":{"tags":["marketing-templates"],"summary":"List Templates","description":"List system + agent templates, optionally filtered.","operationId":"list_templates_api_v1_marketing_templates__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},{"name":"template_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["marketing-templates"],"summary":"Create Template","operationId":"create_template_api_v1_marketing_templates__post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__marketing_templates__TemplateCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/templates/categories":{"get":{"tags":["marketing-templates"],"summary":"List Categories","description":"Get template counts grouped by category.","operationId":"list_categories_api_v1_marketing_templates_categories_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/marketing/templates/{template_id}":{"get":{"tags":["marketing-templates"],"summary":"Get Template","operationId":"get_template_api_v1_marketing_templates__template_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["marketing-templates"],"summary":"Update Template","operationId":"update_template_api_v1_marketing_templates__template_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__marketing_templates__TemplateUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["marketing-templates"],"summary":"Delete Template","operationId":"delete_template_api_v1_marketing_templates__template_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/templates/{template_id}/clone":{"post":{"tags":["marketing-templates"],"summary":"Clone Template","operationId":"clone_template_api_v1_marketing_templates__template_id__clone_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"template_id","in":"path","required":true,"schema":{"type":"string","title":"Template Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/ab-tests":{"get":{"tags":["ab-testing"],"summary":"List Tests","operationId":"list_tests_api_v1_marketing_ab_tests_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["ab-testing"],"summary":"Create Test","operationId":"create_test_api_v1_marketing_ab_tests_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ABTestCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/ab-tests/{test_id}":{"get":{"tags":["ab-testing"],"summary":"Get Test","operationId":"get_test_api_v1_marketing_ab_tests__test_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"test_id","in":"path","required":true,"schema":{"type":"string","title":"Test Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/ab-tests/{test_id}/record-event":{"post":{"tags":["ab-testing"],"summary":"Record Event","operationId":"record_event_api_v1_marketing_ab_tests__test_id__record_event_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"test_id","in":"path","required":true,"schema":{"type":"string","title":"Test Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordEventBody"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/ab-tests/{test_id}/results":{"get":{"tags":["ab-testing"],"summary":"Get Results","operationId":"get_results_api_v1_marketing_ab_tests__test_id__results_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"test_id","in":"path","required":true,"schema":{"type":"string","title":"Test Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/marketing/ab-tests/{test_id}/determine-winner":{"post":{"tags":["ab-testing"],"summary":"Determine Winner","operationId":"determine_winner_api_v1_marketing_ab_tests__test_id__determine_winner_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"test_id","in":"path","required":true,"schema":{"type":"string","title":"Test Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/recordings":{"get":{"tags":["call-recordings"],"summary":"List Recordings","operationId":"list_recordings_api_v1_voice_recordings_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["call-recordings"],"summary":"Store Recording","operationId":"store_recording_api_v1_voice_recordings_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RecordingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/recordings/{recording_id}":{"get":{"tags":["call-recordings"],"summary":"Get Recording","operationId":"get_recording_api_v1_voice_recordings__recording_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"recording_id","in":"path","required":true,"schema":{"type":"string","title":"Recording Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/voicemails":{"get":{"tags":["call-recordings"],"summary":"List Voicemails","operationId":"list_voicemails_api_v1_voice_voicemails_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["call-recordings"],"summary":"Store Voicemail","operationId":"store_voicemail_api_v1_voice_voicemails_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoicemailCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/flows":{"get":{"tags":["call-flows"],"summary":"List Flows","operationId":"list_flows_api_v1_voice_flows_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["call-flows"],"summary":"Create Flow","operationId":"create_flow_api_v1_voice_flows_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallFlowCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/voice/flows/{flow_id}":{"get":{"tags":["call-flows"],"summary":"Get Flow","operationId":"get_flow_api_v1_voice_flows__flow_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","title":"Flow Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["call-flows"],"summary":"Update Flow","operationId":"update_flow_api_v1_voice_flows__flow_id__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","title":"Flow Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallFlowUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["call-flows"],"summary":"Delete Flow","operationId":"delete_flow_api_v1_voice_flows__flow_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"flow_id","in":"path","required":true,"schema":{"type":"string","title":"Flow Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/portals/notify/status-update":{"post":{"tags":["portal-notifications"],"summary":"Send Status Update","operationId":"send_status_update_api_v1_portals_notify_status_update_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__portal_notifications__StatusUpdateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/portals/notify/document-ready":{"post":{"tags":["portal-notifications"],"summary":"Send Document Ready","operationId":"send_document_ready_api_v1_portals_notify_document_ready_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentReadyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/portals/notify/message-received":{"post":{"tags":["portal-notifications"],"summary":"Send Message Received","operationId":"send_message_received_api_v1_portals_notify_message_received_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageReceivedRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/portals/uploads/presign":{"post":{"tags":["portal-uploads"],"summary":"Presign Upload","operationId":"presign_upload_api_v1_portals_uploads_presign_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresignRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/portals/uploads/complete":{"post":{"tags":["portal-uploads"],"summary":"Complete Upload","operationId":"complete_upload_api_v1_portals_uploads_complete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__portal_uploads__CompleteUploadRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/portals/{deal_id}/uploads":{"get":{"tags":["portal-uploads"],"summary":"List Uploads","operationId":"list_uploads_api_v1_portals__deal_id__uploads_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/mls/status":{"get":{"tags":["mls-sync"],"summary":"Get Mls Status","description":"Get the latest MLS sync status for the agent.","operationId":"get_mls_status_api_v1_integrations_mls_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/mls/sync":{"post":{"tags":["mls-sync"],"summary":"Trigger Mls Sync","description":"Trigger an MLS sync for the agent.","operationId":"trigger_mls_sync_api_v1_integrations_mls_sync_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/mls/logs":{"get":{"tags":["mls-sync"],"summary":"List Sync Logs","description":"List MLS sync log entries.","operationId":"list_sync_logs_api_v1_integrations_mls_logs_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks":{"post":{"tags":["dock-network"],"summary":"Create Task","description":"Create a new task for another agent to cover.","operationId":"create_task_api_v1_network_dock_tasks_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTaskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["dock-network"],"summary":"List My Tasks","description":"List tasks I've posted or accepted.","operationId":"list_my_tasks_api_v1_network_dock_tasks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/available":{"get":{"tags":["dock-network"],"summary":"List Available Tasks","description":"Browse available tasks to accept as a covering agent.","operationId":"list_available_tasks_api_v1_network_dock_tasks_available_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/{task_id}":{"get":{"tags":["dock-network"],"summary":"Get Task","description":"Get details of a specific task.","operationId":"get_task_api_v1_network_dock_tasks__task_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["dock-network"],"summary":"Cancel Task","description":"Cancel a task (requester only).","operationId":"cancel_task_api_v1_network_dock_tasks__task_id__delete","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/{task_id}/accept":{"post":{"tags":["dock-network"],"summary":"Accept Task","description":"Accept a posted task as the covering agent.","operationId":"accept_task_api_v1_network_dock_tasks__task_id__accept_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/{task_id}/complete":{"post":{"tags":["dock-network"],"summary":"Complete Task","description":"Submit a completion report for a task.","operationId":"complete_task_api_v1_network_dock_tasks__task_id__complete_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompleteTaskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/{task_id}/verify":{"post":{"tags":["dock-network"],"summary":"Verify Task","description":"Verify task completion and release payment.","operationId":"verify_task_api_v1_network_dock_tasks__task_id__verify_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/tasks/{task_id}/rate":{"post":{"tags":["dock-network"],"summary":"Rate Task","description":"Rate the other party on a completed task.","operationId":"rate_task_api_v1_network_dock_tasks__task_id__rate_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RateTaskRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/profile":{"get":{"tags":["dock-network"],"summary":"Get My Profile","description":"Get my DockNetwork marketplace profile.","operationId":"get_my_profile_api_v1_network_dock_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]},"put":{"tags":["dock-network"],"summary":"Upsert Profile","description":"Create or update my DockNetwork marketplace profile.","operationId":"upsert_profile_api_v1_network_dock_profile_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpsertProfileRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/network/dock/agents":{"get":{"tags":["dock-network"],"summary":"Search Agents","description":"Search available agents in the DockNetwork.","operationId":"search_agents_api_v1_network_dock_agents_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"service_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Type"}},{"name":"zip_code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"}},{"name":"min_rating","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Rating"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/network/dock/matches/{task_id}":{"get":{"tags":["dock-network"],"summary":"Get Matches","description":"Get AI-scored agent matches for a task.","operationId":"get_matches_api_v1_network_dock_matches__task_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":20,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/feed":{"get":{"tags":["activity"],"summary":"Get Activity Feed","description":"Agent's unified activity feed — recent activity across all entities.","operationId":"get_activity_feed_api_v1_activity_feed_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"entity_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by entity type (deal, contact, offer, etc.)","title":"Entity Type"},"description":"Filter by entity type (deal, contact, offer, etc.)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/deal/{deal_id}":{"get":{"tags":["activity"],"summary":"Get Deal Timeline","description":"Full activity timeline for a specific deal.","operationId":"get_deal_timeline_api_v1_activity_deal__deal_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/contact/{contact_id}":{"get":{"tags":["activity"],"summary":"Get Contact Activity","description":"Activity log for a specific contact.","operationId":"get_contact_activity_api_v1_activity_contact__contact_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","title":"Contact Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActivityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/activity/{entity_type}/{entity_id}/notes":{"post":{"tags":["activity"],"summary":"Create Timeline Note","description":"Create an agent-authored note on a deal/contact timeline.","operationId":"create_timeline_note_api_v1_activity__entity_type___entity_id__notes_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"entity_type","in":"path","required":true,"schema":{"type":"string","title":"Entity Type"}},{"name":"entity_id","in":"path","required":true,"schema":{"type":"string","title":"Entity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NoteCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/templates":{"get":{"tags":["campaigns"],"summary":"List Templates","description":"Return all pre-built campaign templates with step previews.","operationId":"list_templates_api_v1_campaigns_templates_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/campaigns":{"post":{"tags":["campaigns"],"summary":"Create Campaign","description":"Create a new smart campaign.\n\nIf *type* matches a built-in template (e.g. ``new_lead_nurture``)\nand no *steps* are provided, the template steps are auto-populated.","operationId":"create_campaign_api_v1_campaigns_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__campaigns__CampaignCreateRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["campaigns"],"summary":"List Campaigns","description":"List all campaigns for the authenticated agent.","operationId":"list_campaigns_api_v1_campaigns_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}":{"get":{"tags":["campaigns"],"summary":"Get Campaign","description":"Get campaign detail with steps, enrollments, and delivery stats.","operationId":"get_campaign_api_v1_campaigns__campaign_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/analytics":{"get":{"tags":["campaigns"],"summary":"Get Campaign Analytics","description":"Return campaign delivery + engagement analytics.","operationId":"get_campaign_analytics_api_v1_campaigns__campaign_id__analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/send":{"post":{"tags":["campaigns"],"summary":"Send Campaign","description":"Send the campaign's first active step (email or SMS) to the selected contacts.\n\n- email step → delivered via SendGrid / SMTP\n- sms step (when no email step exists or campaign type is SMS) → via Twilio","operationId":"send_campaign_api_v1_campaigns__campaign_id__send_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendCampaignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/send-sms":{"post":{"tags":["campaigns"],"summary":"Send Sms Campaign Step","description":"Explicitly send the campaign's first active SMS step via Twilio.","operationId":"send_sms_campaign_step_api_v1_campaigns__campaign_id__send_sms_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendSmsCampaignRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/pause":{"post":{"tags":["campaigns"],"summary":"Pause Campaign","description":"Pause a campaign and all its active enrollments.","operationId":"pause_campaign_api_v1_campaigns__campaign_id__pause_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/resume":{"post":{"tags":["campaigns"],"summary":"Resume Campaign","description":"Resume a paused campaign and re-schedule enrollments.","operationId":"resume_campaign_api_v1_campaigns__campaign_id__resume_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/campaigns/{campaign_id}/enroll":{"post":{"tags":["campaigns"],"summary":"Enroll Contacts","description":"Enroll one or more contacts into a campaign.","operationId":"enroll_contacts_api_v1_campaigns__campaign_id__enroll_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"campaign_id","in":"path","required":true,"schema":{"type":"string","title":"Campaign Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrollRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/proactive-agents":{"get":{"tags":["proactive-agents"],"summary":"List Proactive Agents","description":"List all 6 proactive AI agents with per-user enabled/schedule status.","operationId":"list_proactive_agents_api_v1_ai_proactive_agents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProactiveAgentListResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/ai/proactive-agents/{slug}":{"patch":{"tags":["proactive-agents"],"summary":"Update Proactive Agent","description":"Enable/disable a proactive agent or update its schedule.","operationId":"update_proactive_agent_api_v1_ai_proactive_agents__slug__patch","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","description":"Agent slug (scout, intel, closer, nurture, marketing, outreach)","title":"Slug"},"description":"Agent slug (scout, intel, closer, nurture, marketing, outreach)"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProactiveAgentUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProactiveAgentUpdateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/proactive-agents/{slug}/run":{"post":{"tags":["proactive-agents"],"summary":"Trigger Proactive Agent Run","description":"Trigger a manual run of a proactive agent (bypasses schedule).","operationId":"trigger_proactive_agent_run_api_v1_ai_proactive_agents__slug__run_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","description":"Agent slug to trigger","title":"Slug"},"description":"Agent slug to trigger"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunTriggerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/proactive-agents/{slug}/history":{"get":{"tags":["proactive-agents"],"summary":"Get Proactive Agent History","description":"Get run history for a proactive agent.","operationId":"get_proactive_agent_history_api_v1_ai_proactive_agents__slug__history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","description":"Agent slug","title":"Slug"},"description":"Agent slug"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Max runs to return","default":20,"title":"Limit"},"description":"Max runs to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/analyze":{"post":{"tags":["document-intelligence"],"summary":"Analyze Document","description":"Upload a document for analysis — returns classification + extraction.\n\nThis is the lightweight endpoint: no vault storage, no deal matching,\nno cross-reference checks. Use /intake for the full pipeline.","operationId":"analyze_document_api_v1_intelligence_analyze_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_analyze_document_api_v1_intelligence_analyze_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/intelligence/intake":{"post":{"tags":["document-intelligence"],"summary":"Intake Document","description":"Full intake pipeline: classify → extract → route → act.\n\nProcesses a document through the complete intelligence pipeline:\n1. Text extraction\n2. Document classification\n3. Structured data extraction\n4. Deal matching (by address/parties if deal_id not provided)\n5. Vault storage\n6. Cross-reference checks\n7. Alert generation","operationId":"intake_document_api_v1_intelligence_intake_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_intake_document_api_v1_intelligence_intake_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/intelligence/deal/{deal_id}/narrative":{"get":{"tags":["document-intelligence"],"summary":"Get Deal Narrative","description":"Get an AI-generated narrative of the deal's current state.\n\nCombines all available documents, deadlines, and financial data\ninto a coherent story.","operationId":"get_deal_narrative_api_v1_intelligence_deal__deal_id__narrative_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NarrativeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/deal/{deal_id}/discrepancies":{"get":{"tags":["document-intelligence"],"summary":"Get Deal Discrepancies","description":"Run cross-reference checks between deal documents.\n\nCompares seller disclosure vs inspection report, flags items found\nin inspection but not disclosed by the seller.","operationId":"get_deal_discrepancies_api_v1_intelligence_deal__deal_id__discrepancies_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscrepancyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/deal/{deal_id}/what-if":{"post":{"tags":["document-intelligence"],"summary":"What If Analysis","description":"What-if scenario modeling for a deal.\n\nTakes a natural language scenario description and returns a detailed\nanalysis including impact assessment, financial implications, legal\nconsiderations, and strategic recommendation.","operationId":"what_if_analysis_api_v1_intelligence_deal__deal_id__what_if_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__document_intelligence__WhatIfRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__document_intelligence__WhatIfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/intelligence/email-intake":{"post":{"tags":["email-intake"],"summary":"SendGrid Inbound Parse webhook","description":"Receives forwarded emails via SendGrid Inbound Parse. No auth required.","operationId":"sendgrid_inbound_webhook_api_v1_intelligence_email_intake_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}}}}},"/api/v1/intelligence/email-intake/stats":{"get":{"tags":["email-intake"],"summary":"Email intake statistics","description":"Get email processing statistics for the authenticated agent.","operationId":"get_email_intake_stats_api_v1_intelligence_email_intake_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailIntakeStats"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/intelligence/email-intake/test":{"post":{"tags":["email-intake"],"summary":"Test email intake","description":"Simulate an inbound email (authenticated, for testing only).","operationId":"test_email_intake_api_v1_intelligence_email_intake_test_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__email_intake__TestEmailRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TestEmailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/google/connect":{"post":{"tags":["google-integration"],"summary":"Google Connect","description":"Start Google OAuth flow for Calendar + Contacts sync.","operationId":"google_connect_api_v1_integrations_google_connect_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"redirect","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Post-auth redirect URL","title":"Redirect"},"description":"Post-auth redirect URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/google/calendar/events":{"get":{"tags":["google-integration"],"summary":"List Calendar Events","description":"List RealtorDock calendar events that are synced with Google.","operationId":"list_calendar_events_api_v1_integrations_google_calendar_events_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"days_ahead","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":90,"title":"Days Ahead"}},{"name":"days_behind","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":0,"default":30,"title":"Days Behind"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/google/calendar/sync":{"post":{"tags":["google-integration"],"summary":"Sync Calendar","description":"Run two-way calendar sync with RealtorDock winning conflicts.","operationId":"sync_calendar_api_v1_integrations_google_calendar_sync_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/google/contacts/preview":{"get":{"tags":["google-integration"],"summary":"Preview Contacts Import","description":"Preview Google contacts import: counts + sample import candidates.","operationId":"preview_contacts_import_api_v1_integrations_google_contacts_preview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/google/contacts/import":{"post":{"tags":["google-integration"],"summary":"Import Contacts","description":"Import Google contacts into RealtorDock with dedup by email/phone.","operationId":"import_contacts_api_v1_integrations_google_contacts_import_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactsImportResponse"}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/integrations/google/disconnect":{"delete":{"tags":["google-integration"],"summary":"Google Disconnect","description":"Disconnect Google integration and revoke tokens where possible.","operationId":"google_disconnect_api_v1_integrations_google_disconnect_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/api/v1/counterparty/lookup":{"get":{"tags":["counterparty-intelligence"],"summary":"Lookup Counterparty","description":"Look up behavioral intelligence on a counterparty by name.","operationId":"lookup_counterparty_api_v1_counterparty_lookup_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Counterparty name to look up","title":"Name"},"description":"Counterparty name to look up"},{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by role: agent, lender, title_company, inspector","title":"Role"},"description":"Filter by role: agent, lender, title_company, inspector"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/counterparty/{profile_id}":{"get":{"tags":["counterparty-intelligence"],"summary":"Get Profile","description":"Get full counterparty profile by ID.","operationId":"get_profile_api_v1_counterparty__profile_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"profile_id","in":"path","required":true,"schema":{"type":"string","title":"Profile Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/counterparty/market/{area}":{"get":{"tags":["counterparty-intelligence"],"summary":"Market Benchmarks","description":"Get average behavioral metrics for a role in a market area.","operationId":"market_benchmarks_api_v1_counterparty_market__area__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"area","in":"path","required":true,"schema":{"type":"string","title":"Area"}},{"name":"role","in":"query","required":false,"schema":{"type":"string","description":"Role to benchmark: agent, lender, title_company, inspector","default":"agent","title":"Role"},"description":"Role to benchmark: agent, lender, title_company, inspector"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/counterparty/deal/{deal_id}/observe":{"post":{"tags":["counterparty-intelligence"],"summary":"Observe Deal","description":"Trigger counterparty observation recording for a deal.\n\nExtracts behavioral data from all parties on the deal,\nmatches them to existing profiles (or creates new ones),\nand updates aggregate metrics.\n\nBest called when a deal reaches a milestone: under_contract, closed, or dead.","operationId":"observe_deal_api_v1_counterparty_deal__deal_id__observe_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ObservationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/counterparty/negotiation-brief":{"get":{"tags":["counterparty-intelligence"],"summary":"Negotiation Brief","description":"Generate a negotiation brief for a counterparty on a specific deal.\n\nCombines behavioral profile data with deal context to produce\nactionable negotiation intelligence and recommendations.","operationId":"negotiation_brief_api_v1_counterparty_negotiation_brief_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","description":"Counterparty name","title":"Name"},"description":"Counterparty name"},{"name":"deal_id","in":"query","required":true,"schema":{"type":"string","description":"Deal ID for context","title":"Deal Id"},"description":"Deal ID for context"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/what-if":{"post":{"tags":["what-if-engine"],"summary":"Run What If Scenario","description":"Run a what-if scenario analysis for a deal.\n\nTakes a natural-language scenario and returns probability-weighted outcomes\nwith an AI-generated recommendation.","operationId":"run_what_if_scenario_api_v1_deals__deal_id__what_if_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__what_if__WhatIfRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__v1__endpoints__what_if__WhatIfResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/what-if/history":{"get":{"tags":["what-if-engine"],"summary":"Get What If History","description":"Retrieve previous what-if analyses for a deal.","operationId":"get_what_if_history_api_v1_deals__deal_id__what_if_history_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/HistoryItem"},"title":"Response Get What If History Api V1 Deals  Deal Id  What If History Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/deals/{deal_id}/what-if/suggestions":{"get":{"tags":["what-if-engine"],"summary":"Get What If Suggestions","description":"Get AI-suggested what-if scenarios to consider for a deal.","operationId":"get_what_if_suggestions_api_v1_deals__deal_id__what_if_suggestions_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"deal_id","in":"path","required":true,"schema":{"type":"string","title":"Deal Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SuggestionResponse"},"title":"Response Get What If Suggestions Api V1 Deals  Deal Id  What If Suggestions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/analytics":{"get":{"tags":["playbook-optimizer"],"summary":"Playbook Analytics Dashboard","description":"Performance dashboard for all playbooks.\n\nReturns overall response rates, breakdowns by day/time/channel/variant,\ntrend over time, and A/B test results.","operationId":"playbook_analytics_dashboard_api_v1_playbooks_analytics_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":90,"title":"Period Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/analytics/{playbook_id}":{"get":{"tags":["playbook-optimizer"],"summary":"Playbook Analytics Detail","description":"Analytics for a specific playbook.","operationId":"playbook_analytics_detail_api_v1_playbooks_analytics__playbook_id__get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"playbook_id","in":"path","required":true,"schema":{"type":"string","title":"Playbook Id"}},{"name":"period_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":90,"title":"Period Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/recommendations":{"get":{"tags":["playbook-optimizer"],"summary":"List Recommendations","description":"Get optimization recommendations.\n\nPass `refresh=true` to run a fresh analysis and generate new recommendations.\nOtherwise returns the most recent stored recommendations.","operationId":"list_recommendations_api_v1_playbooks_recommendations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(pending|applied|dismissed)$"},{"type":"null"}],"title":"Status"}},{"name":"refresh","in":"query","required":false,"schema":{"type":"boolean","description":"Generate fresh recommendations","default":false,"title":"Refresh"},"description":"Generate fresh recommendations"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/recommendations/{recommendation_id}/apply":{"post":{"tags":["playbook-optimizer"],"summary":"Apply Recommendation Endpoint","description":"Apply (accept) a recommendation.\n\nMarks the recommendation as applied. The actual playbook mutation\nshould be handled by the caller (e.g. updating send times, switching\ntemplates). This endpoint records the agent's decision.","operationId":"apply_recommendation_endpoint_api_v1_playbooks_recommendations__recommendation_id__apply_post","security":[{"HTTPBearer":[]}],"parameters":[{"name":"recommendation_id","in":"path","required":true,"schema":{"type":"string","title":"Recommendation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/playbooks/benchmarks":{"get":{"tags":["playbook-optimizer"],"summary":"Network Benchmarks","description":"Network-wide benchmarks with optional agent comparison.\n\nReturns anonymized aggregate performance data from the entire\nRealtorDock network. When `compare=true`, includes how the\ncurrent agent ranks against the network.","operationId":"network_benchmarks_api_v1_playbooks_benchmarks_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"period_days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":7,"default":90,"title":"Period Days"}},{"name":"compare","in":"query","required":false,"schema":{"type":"boolean","description":"Include agent comparison","default":true,"title":"Compare"},"description":"Include agent comparison"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/settings/":{"get":{"tags":["settings"],"summary":"Get Settings","description":"Return agent settings. Returns defaults if no custom settings exist.","operationId":"get_settings_api_v1_settings__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"HTTPBearer":[]}]}},"/health":{"get":{"summary":"Health","description":"Readiness health check: API + Database + Redis.\n\nReturns 503 when an internal dependency is unhealthy, and uses short\ntimeouts so Fly health checks fail fast instead of hanging until the\nplatform timeout elapses.","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/cron/process-email-queue":{"post":{"summary":"Cron Process Email Queue","description":"Process scheduled lifecycle emails and trial reminders.\n\nProtected by X-Cron-Secret header (matches SECRET_KEY).\nCall every 5-15 min via Fly.io machines, GitHub Actions, or crontab.\n\nExample: curl -X POST https://api.realtordock.com/cron/process-email-queue \\\n  -H \"X-Cron-Secret: <SECRET_KEY>\"","operationId":"cron_process_email_queue_cron_process_email_queue_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/health/deep":{"get":{"summary":"Deep Health Check","description":"Extended health check that includes memory usage.\nReturns 503 if memory usage exceeds 85%, triggering Fly.io auto-restart.","operationId":"deep_health_check_health_deep_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ABTestCreate":{"properties":{"name":{"type":"string","title":"Name"},"variant_a":{"additionalProperties":true,"type":"object","title":"Variant A"},"variant_b":{"additionalProperties":true,"type":"object","title":"Variant B"},"metric":{"type":"string","title":"Metric","default":"clicks"}},"type":"object","required":["name","variant_a","variant_b"],"title":"ABTestCreate"},"AIGenerateCourseRequest":{"properties":{"topic":{"type":"string","title":"Topic"},"module_count":{"type":"integer","title":"Module Count","default":5},"target_audience":{"type":"string","title":"Target Audience","default":"first-time homebuyers"}},"type":"object","required":["topic"],"title":"AIGenerateCourseRequest"},"AcceptInvitationRequest":{"properties":{"token":{"type":"string","maxLength":255,"minLength":16,"title":"Token"}},"type":"object","required":["token"],"title":"AcceptInvitationRequest"},"AccessLogListResponse":{"properties":{"document_id":{"type":"string","title":"Document Id"},"logs":{"items":{"$ref":"#/components/schemas/DocumentAccessLogResponse"},"type":"array","title":"Logs"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["document_id","logs","total"],"title":"AccessLogListResponse"},"AccessSharedDocumentResponse":{"properties":{"document_id":{"type":"string","title":"Document Id"},"filename":{"type":"string","title":"Filename"},"file_type":{"type":"string","title":"File Type"},"download_url":{"type":"string","title":"Download Url"},"share":{"$ref":"#/components/schemas/DocumentShareResponse"}},"type":"object","required":["document_id","filename","file_type","download_url","share"],"title":"AccessSharedDocumentResponse"},"ActionItem":{"properties":{"priority":{"type":"integer","title":"Priority"},"category":{"type":"string","title":"Category"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"urgency":{"type":"string","title":"Urgency"}},"type":"object","required":["priority","category","title","description","urgency"],"title":"ActionItem"},"ActivityEntry":{"properties":{"id":{"type":"string","title":"Id"},"agent_id":{"type":"string","title":"Agent Id"},"entity_type":{"type":"string","title":"Entity Type"},"entity_id":{"type":"string","title":"Entity Id"},"action":{"type":"string","title":"Action"},"description":{"type":"string","title":"Description"},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","agent_id","entity_type","entity_id","action","description"],"title":"ActivityEntry"},"ActivityListResponse":{"properties":{"activities":{"items":{"$ref":"#/components/schemas/ActivityEntry"},"type":"array","title":"Activities"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["activities","count"],"title":"ActivityListResponse"},"AddFavoriteRequest":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"property_address":{"type":"string","title":"Property Address"},"property_details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Property Details"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["property_address"],"title":"AddFavoriteRequest"},"AddToPipelineRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"type":"string","title":"City","default":""},"state":{"type":"string","title":"State","default":""},"zip_code":{"type":"string","title":"Zip Code","default":""},"est_value_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Est Value Cents"},"type":{"type":"string","title":"Type","default":"fsbo"},"owner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Name"},"owner_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Phone"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"original_list_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Original List Price"},"days_on_market":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days On Market"},"expired_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expired Date"},"details":{"additionalProperties":true,"type":"object","title":"Details","default":{}}},"type":"object","required":["address"],"title":"AddToPipelineRequest"},"AffordabilityRequest":{"properties":{"annual_income":{"type":"integer","title":"Annual Income"},"monthly_debts":{"type":"integer","title":"Monthly Debts","default":0},"down_payment":{"type":"integer","title":"Down Payment","default":0},"interest_rate_pct":{"type":"number","title":"Interest Rate Pct","default":6.5},"term_years":{"type":"integer","title":"Term Years","default":30},"target_dti_pct":{"type":"number","title":"Target Dti Pct","default":36.0},"property_tax_rate_pct":{"type":"number","title":"Property Tax Rate Pct","default":1.2},"insurance_annual":{"type":"integer","title":"Insurance Annual","default":1800}},"type":"object","required":["annual_income"],"title":"AffordabilityRequest"},"AgentContactFormRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"message":{"type":"string","title":"Message"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"}},"type":"object","required":["name","email","message"],"title":"AgentContactFormRequest"},"AgentInfo":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"brokerage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"}},"type":"object","title":"AgentInfo","description":"Agent info for email signatures."},"AgentProfile":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"type":"string","title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"license_state":{"type":"string","title":"License State"},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"brokerage_name_manual":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name Manual"},"brokerage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage"},"personal_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Phone"},"twilio_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twilio Phone"},"voice_enabled":{"type":"boolean","title":"Voice Enabled"},"profile_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Slug"},"headshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headshot Url"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"years_experience":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Years Experience"},"profile_public":{"type":"boolean","title":"Profile Public"},"plan":{"type":"string","title":"Plan"},"onboarding_complete":{"type":"boolean","title":"Onboarding Complete"},"timezone":{"type":"string","title":"Timezone"},"social_links":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Links"},"certifications":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Certifications"},"testimonials":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Testimonials"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"trial_ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Trial Ends At"},"trial_days_remaining":{"type":"integer","title":"Trial Days Remaining","default":0},"trial_expired":{"type":"boolean","title":"Trial Expired","default":false},"paywall_required":{"type":"boolean","title":"Paywall Required","default":false}},"type":"object","required":["id","email","name","first_name","last_name","avatar_url","license_state","license_number","brokerage_name_manual","personal_phone","twilio_phone","voice_enabled","profile_slug","headshot_url","bio","specialties","service_areas","years_experience","profile_public","plan","onboarding_complete","timezone"],"title":"AgentProfile"},"AgentRoleUpdate":{"properties":{"role":{"type":"string","pattern":"^(solo|team_lead|admin|broker|managing_broker|owner|agent)$","title":"Role"}},"type":"object","required":["role"],"title":"AgentRoleUpdate"},"AgentStatus":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"role":{"type":"string","title":"Role"},"description":{"type":"string","title":"Description"},"icon":{"type":"string","title":"Icon"},"active":{"type":"boolean","title":"Active"},"status":{"type":"string","title":"Status"},"status_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Text"},"stats":{"additionalProperties":true,"type":"object","title":"Stats","default":{}}},"type":"object","required":["id","name","role","description","icon","active","status"],"title":"AgentStatus"},"AgentSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"},"brokerage_name_manual":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name Manual"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"headshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headshot Url"}},"type":"object","required":["id","name","email","license_state","brokerage_name_manual","specialties","service_areas","headshot_url"],"title":"AgentSummary"},"AlertItemResponse":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"type":"string","title":"Deal Id"},"requirement_id":{"type":"string","title":"Requirement Id"},"requirement_name":{"type":"string","title":"Requirement Name"},"status":{"type":"string","title":"Status"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"is_mandatory":{"type":"boolean","title":"Is Mandatory"},"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"},"days_until_due":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Until Due"},"days_overdue":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Days Overdue"},"reminders":{"items":{"type":"string"},"type":"array","title":"Reminders"}},"type":"object","required":["id","deal_id","requirement_id","requirement_name","status","is_mandatory"],"title":"AlertItemResponse"},"AlertListResponse":{"properties":{"alerts":{"items":{"$ref":"#/components/schemas/AlertResponse"},"type":"array","title":"Alerts"},"total":{"type":"integer","title":"Total"},"unread_count":{"type":"integer","title":"Unread Count"}},"type":"object","required":["alerts","total","unread_count"],"title":"AlertListResponse"},"AlertResponse":{"properties":{"id":{"type":"string","title":"Id"},"alert_type":{"type":"string","title":"Alert Type"},"severity":{"type":"string","title":"Severity"},"title":{"type":"string","title":"Title"},"message":{"type":"string","title":"Message"},"action_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Url"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"read":{"type":"boolean","title":"Read"},"dismissed":{"type":"boolean","title":"Dismissed"},"created_at":{"type":"string","title":"Created At"},"read_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Read At"},"dismissed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dismissed At"}},"type":"object","required":["id","alert_type","severity","title","message","action_url","deal_id","contact_id","read","dismissed","created_at","read_at","dismissed_at"],"title":"AlertResponse"},"AmendmentDraftRequest":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State"},"deal_type":{"type":"string","title":"Deal Type","default":"residential_purchase"},"instructions":{"type":"string","minLength":5,"title":"Instructions"},"contract_excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Excerpt"}},"type":"object","required":["state","instructions"],"title":"AmendmentDraftRequest"},"AmendmentDraftResponse":{"properties":{"amendment_text":{"type":"string","title":"Amendment Text"}},"type":"object","required":["amendment_text"],"title":"AmendmentDraftResponse"},"AnalyzeRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"offer_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offer Price"}},"type":"object","required":["deal_id"],"title":"AnalyzeRequest"},"AnalyzeResponse":{"properties":{"classification":{"additionalProperties":true,"type":"object","title":"Classification"},"extraction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extraction"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["classification","extraction","metadata"],"title":"AnalyzeResponse"},"AnnouncementCreate":{"properties":{"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"}},"type":"object","required":["title","body"],"title":"AnnouncementCreate"},"ApproveBatchRequest":{"properties":{"ids":{"items":{"type":"string"},"type":"array","maxItems":10,"title":"Ids"}},"type":"object","title":"ApproveBatchRequest"},"AssemblePacketRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"add_documents":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Add Documents"},"remove_template_names":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Remove Template Names"}},"type":"object","required":["deal_id"],"title":"AssemblePacketRequest"},"AssetUploadRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"},"name":{"type":"string","title":"Name","default":"property-photo"}},"type":"object","required":["image_url"],"title":"AssetUploadRequest"},"AssignLeadRequest":{"properties":{"assigned_agent_id":{"type":"string","title":"Assigned Agent Id"},"assignment_method":{"type":"string","title":"Assignment Method","default":"manual"}},"type":"object","required":["assigned_agent_id"],"title":"AssignLeadRequest"},"AssignTCRequest":{"properties":{"tc_agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tc Agent Id"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","title":"AssignTCRequest"},"AuthResponse":{"properties":{"tokens":{"$ref":"#/components/schemas/TokenPair"},"agent_id":{"type":"string","title":"Agent Id"},"is_new":{"type":"boolean","title":"Is New"},"onboarding_complete":{"type":"boolean","title":"Onboarding Complete"}},"type":"object","required":["tokens","agent_id","is_new","onboarding_complete"],"title":"AuthResponse"},"AutoImportMLSRequest":{"properties":{"hot_sheet_criteria":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Hot Sheet Criteria","description":"Optional saved criteria for daily hot sheet filters."},"run_import_now":{"type":"boolean","title":"Run Import Now","description":"If true, performs immediate listing import.","default":true}},"type":"object","title":"AutoImportMLSRequest"},"AutofillRequest":{"properties":{"template_id":{"type":"string","title":"Template Id"},"data":{"additionalProperties":true,"type":"object","title":"Data"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},"type":"object","required":["template_id","data"],"title":"AutofillRequest"},"AutomationCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"type":"string","title":"Trigger Type"},"trigger_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Trigger Conditions"},"actions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Actions"},"enabled":{"type":"boolean","title":"Enabled","default":true},"autonomy_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Autonomy Override"},"spending_limit_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spending Limit Cents"}},"type":"object","required":["name","trigger_type","actions"],"title":"AutomationCreate"},"AutomationUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger Type"},"trigger_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Trigger Conditions"},"actions":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Actions"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"autonomy_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Autonomy Override"},"spending_limit_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spending Limit Cents"}},"type":"object","title":"AutomationUpdate"},"AvailabilityBulk":{"properties":{"rules":{"items":{"$ref":"#/components/schemas/AvailabilityRule"},"type":"array","title":"Rules"}},"type":"object","required":["rules"],"title":"AvailabilityBulk"},"AvailabilityRule":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"day_of_week":{"type":"integer","maximum":6.0,"minimum":0.0,"title":"Day Of Week"},"start_time":{"type":"string","format":"time","title":"Start Time"},"end_time":{"type":"string","format":"time","title":"End Time"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["day_of_week","start_time","end_time"],"title":"AvailabilityRule"},"BatchDownloadRequest":{"properties":{"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"document_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Document Ids"},"expires_seconds":{"type":"integer","maximum":604800.0,"minimum":60.0,"title":"Expires Seconds","default":3600}},"type":"object","title":"BatchDownloadRequest"},"BatchDownloadResponse":{"properties":{"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"document_count":{"type":"integer","title":"Document Count"},"url":{"type":"string","title":"Url"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["document_count","url","expires_at"],"title":"BatchDownloadResponse"},"BatchPhotoRequest":{"properties":{"photo_urls":{"items":{"type":"string"},"type":"array","title":"Photo Urls"},"enhancement_type":{"type":"string","title":"Enhancement Type","default":"auto"},"style":{"type":"string","title":"Style","default":"professional"}},"type":"object","required":["photo_urls"],"title":"BatchPhotoRequest"},"BatchUploadResponse":{"properties":{"uploaded":{"items":{"$ref":"#/components/schemas/VaultDocumentResponse"},"type":"array","title":"Uploaded"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["uploaded","total"],"title":"BatchUploadResponse"},"BidRequest":{"properties":{"amount_cents":{"type":"integer","title":"Amount Cents"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["amount_cents"],"title":"BidRequest"},"BlockedDateCreate":{"properties":{"blocked_date":{"type":"string","format":"date","title":"Blocked Date"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["blocked_date"],"title":"BlockedDateCreate"},"Body_analyze_document_api_v1_intelligence_analyze_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_analyze_document_api_v1_intelligence_analyze_post"},"Body_api_analyze_contract_api_v1_review_analyze_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"}},"type":"object","title":"Body_api_analyze_contract_api_v1_review_analyze_post"},"Body_api_compliance_check_api_v1_contract_review_compliance_check_post":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State"},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"}},"type":"object","required":["state"],"title":"Body_api_compliance_check_api_v1_contract_review_compliance_check_post"},"Body_api_full_contract_analyze_api_v1_contract_review_analyze_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"deal_type":{"type":"string","title":"Deal Type","default":"residential_purchase"}},"type":"object","title":"Body_api_full_contract_analyze_api_v1_contract_review_analyze_post"},"Body_api_generate_redline_api_v1_contract_review_generate_redline_post":{"properties":{"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","title":"Body_api_generate_redline_api_v1_contract_review_generate_redline_post"},"Body_api_suggest_clauses_api_v1_contract_review_suggest_clauses_post":{"properties":{"state":{"type":"string","maxLength":2,"minLength":2,"title":"State"},"deal_type":{"type":"string","title":"Deal Type","default":"residential_purchase"},"file":{"anyOf":[{"type":"string","contentMediaType":"application/octet-stream"},{"type":"null"}],"title":"File"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"}},"type":"object","required":["state"],"title":"Body_api_suggest_clauses_api_v1_contract_review_suggest_clauses_post"},"Body_batch_upload_api_v1_document_vault_batch_upload_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"},"retention_policy":{"type":"string","title":"Retention Policy","default":"standard_7yr"}},"type":"object","required":["files"],"title":"Body_batch_upload_api_v1_document_vault_batch_upload_post"},"Body_batch_upload_api_v1_vault_batch_upload_post":{"properties":{"files":{"items":{"type":"string","contentMediaType":"application/octet-stream"},"type":"array","title":"Files"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"},"retention_policy":{"type":"string","title":"Retention Policy","default":"standard_7yr"}},"type":"object","required":["files"],"title":"Body_batch_upload_api_v1_vault_batch_upload_post"},"Body_create_template_api_v1_docksign_templates_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_create_template_api_v1_docksign_templates_post"},"Body_create_template_api_v1_templates_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File","description":"Template file (.pdf, .html, .docx)"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"category":{"type":"string","title":"Category","description":"purchase_agreement|disclosure|addendum|listing|lease|closing|marketing"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"State"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},"type":"object","required":["file","name","category"],"title":"Body_create_template_api_v1_templates_post"},"Body_import_csv_api_v1_onboarding_import_csv_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_import_csv_api_v1_onboarding_import_csv_post"},"Body_intake_document_api_v1_intelligence_intake_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"source":{"type":"string","title":"Source","default":"upload"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["file"],"title":"Body_intake_document_api_v1_intelligence_intake_post"},"Body_tc_review_cd_api_v1_tc_review_cd_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"deal_id":{"type":"string","title":"Deal Id"}},"type":"object","required":["file","deal_id"],"title":"Body_tc_review_cd_api_v1_tc_review_cd_post"},"Body_tc_review_cd_api_v1_tc_suite_review_cd_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"deal_id":{"type":"string","title":"Deal Id"}},"type":"object","required":["file","deal_id"],"title":"Body_tc_review_cd_api_v1_tc_suite_review_cd_post"},"Body_twilio_inbound_sms_api_v1_webhooks_twilio_sms_post":{"properties":{"From":{"type":"string","title":"From"},"To":{"type":"string","title":"To"},"Body":{"type":"string","title":"Body","default":""},"MessageSid":{"type":"string","title":"Messagesid","default":""}},"type":"object","required":["From","To"],"title":"Body_twilio_inbound_sms_api_v1_webhooks_twilio_sms_post"},"Body_upload_csv_api_v1_contacts_import_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_csv_api_v1_contacts_import_upload_post"},"Body_upload_deal_document_api_v1_documents_viewer_deal__deal_id__upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"document_type":{"type":"string","title":"Document Type","default":"other"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["file"],"title":"Body_upload_deal_document_api_v1_documents_viewer_deal__deal_id__upload_post"},"Body_upload_document_api_v1_document_vault_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"},"retention_policy":{"type":"string","title":"Retention Policy","default":"standard_7yr"}},"type":"object","required":["file"],"title":"Body_upload_document_api_v1_document_vault_upload_post"},"Body_upload_document_api_v1_documents_viewer_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_document_api_v1_documents_viewer_upload_post"},"Body_upload_document_api_v1_vault_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"},"retention_policy":{"type":"string","title":"Retention Policy","default":"standard_7yr"}},"type":"object","required":["file"],"title":"Body_upload_document_api_v1_vault_upload_post"},"Body_upload_new_version_api_v1_document_vault_documents__document_id__version_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"}},"type":"object","required":["file"],"title":"Body_upload_new_version_api_v1_document_vault_documents__document_id__version_post"},"Body_upload_new_version_api_v1_vault_documents__document_id__version_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"}},"type":"object","required":["file"],"title":"Body_upload_new_version_api_v1_vault_documents__document_id__version_post"},"Body_upload_portal_document_api_v1_portal__token__documents_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"uploader_email":{"type":"string","title":"Uploader Email","default":"client@portal.realtordock"}},"type":"object","required":["file"],"title":"Body_upload_portal_document_api_v1_portal__token__documents_post"},"Body_upload_profile_photo_api_v1_agents_me_photo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_profile_photo_api_v1_agents_me_photo_post"},"BookingCreate":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id"},"property_address":{"type":"string","title":"Property Address"},"scheduled_date":{"type":"string","format":"date","title":"Scheduled Date"},"scheduled_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Scheduled Time"},"service_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service Type"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["vendor_id","property_address","scheduled_date"],"title":"BookingCreate","description":"Schema for creating a vendor booking."},"BookingLinkRequest":{"properties":{"title":{"type":"string","title":"Title"},"duration_minutes":{"type":"integer","title":"Duration Minutes","default":30},"availability":{"additionalProperties":true,"type":"object","title":"Availability"},"expires_days":{"type":"integer","title":"Expires Days","default":30}},"type":"object","required":["title","availability"],"title":"BookingLinkRequest"},"BookingUpdate":{"properties":{"scheduled_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Scheduled Date"},"scheduled_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Scheduled Time"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"BookingUpdate","description":"Schema for updating a vendor booking."},"BrandDNAUpdate":{"properties":{"colors":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Colors"},"voice":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Voice"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"target_market":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Market"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"social_handles":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Handles"},"brokerage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Brokerage"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"headshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headshot Url"}},"type":"object","title":"BrandDNAUpdate"},"BrandingRequest":{"properties":{"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"brand_primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Primary Color"},"brand_secondary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Secondary Color"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"welcome_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Welcome Message"}},"type":"object","title":"BrandingRequest"},"BrandingSettings":{"properties":{"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Color"},"secondary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Color"},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"},"brokerage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"mls_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Mls Ids"},"social_links":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Links"}},"type":"object","title":"BrandingSettings"},"BriefingHistoryItem":{"properties":{"id":{"type":"string","title":"Id"},"content":{"type":"string","title":"Content"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"}},"type":"object","required":["id","content"],"title":"BriefingHistoryItem"},"BriefingHistoryResponse":{"properties":{"briefings":{"items":{"$ref":"#/components/schemas/BriefingHistoryItem"},"type":"array","title":"Briefings"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["briefings","count"],"title":"BriefingHistoryResponse"},"BriefingResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"generated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generated At"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"appointments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Appointments"},"urgent_deadlines":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Urgent Deadlines"},"new_leads":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"New Leads"},"pipeline":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Pipeline"},"active_deal_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Active Deal Count"},"llm_briefing":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Llm Briefing"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["ok"],"title":"BriefingResponse"},"BrokerageAnalyticsResponse":{"properties":{"brokerage_id":{"type":"string","title":"Brokerage Id"},"total_members":{"type":"integer","title":"Total Members"},"active_members":{"type":"integer","title":"Active Members"},"total_deals":{"type":"integer","title":"Total Deals"},"active_deals":{"type":"integer","title":"Active Deals"},"closed_deals":{"type":"integer","title":"Closed Deals"},"total_revenue_cents":{"type":"integer","title":"Total Revenue Cents"},"avg_deal_price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Avg Deal Price Cents"},"deals_by_stage":{"additionalProperties":{"type":"integer"},"type":"object","title":"Deals By Stage","default":{}},"deals_by_side":{"additionalProperties":{"type":"integer"},"type":"object","title":"Deals By Side","default":{}},"top_agents":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Agents","default":[]},"period":{"type":"string","title":"Period","default":"all_time"}},"type":"object","required":["brokerage_id","total_members","active_members","total_deals","active_deals","closed_deals","total_revenue_cents"],"title":"BrokerageAnalyticsResponse"},"BrokerageBillingResponse":{"properties":{"brokerage_id":{"type":"string","title":"Brokerage Id"},"subscription_tier":{"type":"string","title":"Subscription Tier"},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Id"},"max_seats":{"type":"integer","title":"Max Seats"},"total_seats":{"type":"integer","title":"Total Seats"},"active_seats":{"type":"integer","title":"Active Seats"},"billable_seats":{"type":"integer","title":"Billable Seats"},"estimated_mrr_cents":{"type":"integer","title":"Estimated Mrr Cents"}},"type":"object","required":["brokerage_id","subscription_tier","max_seats","total_seats","active_seats","billable_seats","estimated_mrr_cents"],"title":"BrokerageBillingResponse"},"BrokerageCreate":{"properties":{"name":{"type":"string","title":"Name"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"brand_primary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Brand Primary Color"},"brand_secondary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Brand Secondary Color"}},"type":"object","required":["name"],"title":"BrokerageCreate"},"BrokerageCreateRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"slug":{"type":"string","maxLength":100,"minLength":2,"pattern":"^[a-z0-9][a-z0-9\\-]*[a-z0-9]$","title":"Slug"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"primary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Primary Color"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"subscription_tier":{"type":"string","pattern":"^(starter|professional|enterprise)$","title":"Subscription Tier","default":"starter"},"max_seats":{"type":"integer","maximum":500.0,"minimum":1.0,"title":"Max Seats","default":5}},"type":"object","required":["name","slug"],"title":"BrokerageCreateRequest"},"BrokerageLeadCreate":{"properties":{"brokerage_name":{"type":"string","maxLength":255,"minLength":2,"title":"Brokerage Name"},"contact_name":{"type":"string","maxLength":255,"minLength":2,"title":"Contact Name"},"contact_email":{"type":"string","format":"email","title":"Contact Email"},"contact_phone":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Contact Phone"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["brokerage_name","contact_name","contact_email"],"title":"BrokerageLeadCreate"},"BrokerageListResponse":{"properties":{"brokerages":{"items":{"$ref":"#/components/schemas/BrokerageResponse"},"type":"array","title":"Brokerages"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["brokerages","total"],"title":"BrokerageListResponse"},"BrokerageOverview":{"properties":{"agent_count":{"type":"integer","title":"Agent Count"},"active_deals_count":{"type":"integer","title":"Active Deals Count"},"sla_breaches_7d":{"type":"integer","title":"Sla Breaches 7D"},"ai_requests_7d":{"type":"integer","title":"Ai Requests 7D"},"ai_tokens_7d":{"type":"integer","title":"Ai Tokens 7D"}},"type":"object","required":["agent_count","active_deals_count","sla_breaches_7d","ai_requests_7d","ai_tokens_7d"],"title":"BrokerageOverview"},"BrokerageResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"owner_agent_id":{"type":"string","title":"Owner Agent Id"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Color"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"subscription_tier":{"type":"string","title":"Subscription Tier"},"max_seats":{"type":"integer","title":"Max Seats"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","slug","owner_agent_id","subscription_tier","max_seats","created_at","updated_at"],"title":"BrokerageResponse"},"BrokerageUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"brand_primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Primary Color"},"brand_secondary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Secondary Color"},"required_documents":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Required Documents"},"compliance_rules":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Compliance Rules"}},"type":"object","title":"BrokerageUpdate"},"BrokerageUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"slug":{"anyOf":[{"type":"string","maxLength":100,"minLength":2,"pattern":"^[a-z0-9][a-z0-9\\-]*[a-z0-9]$"},{"type":"null"}],"title":"Slug"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"primary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9a-fA-F]{6}$"},{"type":"null"}],"title":"Primary Color"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"subscription_tier":{"anyOf":[{"type":"string","pattern":"^(starter|professional|enterprise)$"},{"type":"null"}],"title":"Subscription Tier"},"max_seats":{"anyOf":[{"type":"integer","maximum":500.0,"minimum":1.0},{"type":"null"}],"title":"Max Seats"}},"type":"object","title":"BrokerageUpdateRequest"},"BulkActionRequest":{"properties":{"item_ids":{"items":{"type":"string"},"type":"array","title":"Item Ids"},"action":{"type":"string","title":"Action"}},"type":"object","required":["item_ids","action"],"title":"BulkActionRequest"},"BulkCreateRequest":{"properties":{"template_id":{"type":"string","title":"Template Id"},"listings":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Listings"},"agent_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Agent Info"}},"type":"object","required":["template_id","listings"],"title":"BulkCreateRequest"},"BulkSendCreate":{"properties":{"template_id":{"type":"string","title":"Template Id"},"title":{"type":"string","title":"Title"},"recipients":{"items":{"$ref":"#/components/schemas/BulkSendRecipient"},"type":"array","title":"Recipients"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"expires_in_days":{"type":"integer","title":"Expires In Days","default":14}},"type":"object","required":["template_id","title","recipients"],"title":"BulkSendCreate"},"BulkSendItemSchema":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"signers":{"items":{"$ref":"#/components/schemas/SignerCreateSchema"},"type":"array","title":"Signers"},"recipient":{"anyOf":[{"$ref":"#/components/schemas/SignerCreateSchema"},{"type":"null"}]},"personalized_fields":{"items":{"$ref":"#/components/schemas/PersonalizedFieldSchema"},"type":"array","title":"Personalized Fields"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"expires_in_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"},"reminder_interval_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Reminder Interval Hours"}},"type":"object","title":"BulkSendItemSchema"},"BulkSendRecipient":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"role":{"type":"string","title":"Role","default":"other"}},"type":"object","required":["name","email"],"title":"BulkSendRecipient"},"BulkSendRequest":{"properties":{"template_id":{"type":"string","title":"Template Id"},"requests":{"items":{"$ref":"#/components/schemas/BulkSendItemSchema"},"type":"array","minItems":1,"title":"Requests"},"default_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Title"},"default_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Message"},"auto_send":{"type":"boolean","title":"Auto Send","default":true},"expires_in_days":{"type":"integer","maximum":365.0,"minimum":1.0,"title":"Expires In Days","default":14},"reminder_interval_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Reminder Interval Hours","default":24}},"type":"object","required":["template_id","requests"],"title":"BulkSendRequest"},"BulletinCreateRequest":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"body":{"type":"string","maxLength":10000,"minLength":1,"title":"Body"},"pinned":{"type":"boolean","title":"Pinned","default":false},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["title","body"],"title":"BulletinCreateRequest"},"BulletinListResponse":{"properties":{"bulletins":{"items":{"$ref":"#/components/schemas/BulletinResponse"},"type":"array","title":"Bulletins"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["bulletins","total"],"title":"BulletinListResponse"},"BulletinResponse":{"properties":{"id":{"type":"string","title":"Id"},"brokerage_id":{"type":"string","title":"Brokerage Id"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"pinned":{"type":"boolean","title":"Pinned","default":false},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","brokerage_id","author_id","title","body","created_at","updated_at"],"title":"BulletinResponse"},"BuyerAuthRequest":{"properties":{"email":{"type":"string","title":"Email"},"token":{"type":"string","title":"Token"}},"type":"object","required":["email","token"],"title":"BuyerAuthRequest"},"BuyerKitRequest":{"properties":{"buyer_name":{"type":"string","title":"Buyer Name"},"budget_low":{"type":"integer","title":"Budget Low","default":200000},"budget_high":{"type":"integer","title":"Budget High","default":400000},"property_type":{"type":"string","title":"Property Type","default":"single_family"},"bedrooms_min":{"type":"integer","title":"Bedrooms Min","default":3},"bathrooms_min":{"type":"number","title":"Bathrooms Min","default":2.0},"preferred_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preferred Areas"},"must_haves":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Must Haves"},"nice_to_haves":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Nice To Haves"},"deal_breakers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Deal Breakers"},"first_time_buyer":{"type":"boolean","title":"First Time Buyer","default":false},"pre_approved":{"type":"boolean","title":"Pre Approved","default":false},"pre_approval_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pre Approval Amount"},"timeline":{"type":"string","title":"Timeline","default":"3_months"}},"type":"object","required":["buyer_name"],"title":"BuyerKitRequest"},"CMACalculateAdjustmentsRequest":{"properties":{"subject":{"additionalProperties":true,"type":"object","title":"Subject"},"comps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Comps"},"market_change_monthly_pct":{"type":"number","title":"Market Change Monthly Pct","default":0.0}},"type":"object","required":["subject","comps"],"title":"CMACalculateAdjustmentsRequest"},"CMAGenerateRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type","description":"single_family, condo, townhouse, multi_family, land","default":"single_family"},"radius":{"anyOf":[{"type":"number","maximum":5.0,"minimum":0.25},{"type":"null"}],"title":"Radius","description":"Search radius in miles","default":1.0},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["address"],"title":"CMAGenerateRequest"},"CMAInvestmentAnalysisRequest":{"properties":{"purchase_price":{"type":"number","title":"Purchase Price"},"rental_income":{"type":"number","title":"Rental Income"},"expenses":{"type":"number","title":"Expenses"},"annual_appreciation_pct":{"type":"number","title":"Annual Appreciation Pct","default":0.0}},"type":"object","required":["purchase_price","rental_income","expenses"],"title":"CMAInvestmentAnalysisRequest"},"CMANarrativeRequest":{"properties":{"subject_address":{"type":"string","title":"Subject Address"},"subject_details":{"additionalProperties":true,"type":"object","title":"Subject Details"},"comps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Comps"},"market_trends":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Market Trends"}},"type":"object","required":["subject_address","subject_details","comps"],"title":"CMANarrativeRequest"},"CMAPredictPriceRequest":{"properties":{"beds":{"type":"integer","title":"Beds"},"baths":{"type":"number","title":"Baths"},"sqft":{"type":"integer","title":"Sqft"},"age":{"type":"integer","title":"Age"},"location":{"type":"string","title":"Location"},"condition":{"type":"string","title":"Condition","default":"average"},"comps":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comps"},"market_velocity_pct_monthly":{"type":"number","title":"Market Velocity Pct Monthly","default":0.0}},"type":"object","required":["beds","baths","sqft","age","location"],"title":"CMAPredictPriceRequest"},"CMAPresentationRequest":{"properties":{"subject_address":{"type":"string","title":"Subject Address"},"narrative_html":{"type":"string","title":"Narrative Html"},"comps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Comps"},"adjustment_grid":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Adjustment Grid"},"market_stats":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Market Stats"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"agent_headshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Headshot Url"},"broker_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Broker Name"},"broker_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Broker Logo Url"}},"type":"object","required":["subject_address","narrative_html","comps","adjustment_grid"],"title":"CMAPresentationRequest"},"CMAPullCompsRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"radius_miles":{"anyOf":[{"type":"number","maximum":50.0,"minimum":0.1},{"type":"null"}],"title":"Radius Miles","default":1.0},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"age":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Age"},"condition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Condition"},"sale_status":{"type":"string","title":"Sale Status","default":"Closed"},"lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lat"},"lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lng"},"limit":{"type":"integer","maximum":50.0,"minimum":1.0,"title":"Limit","default":12}},"type":"object","required":["address"],"title":"CMAPullCompsRequest"},"CalculateResponse":{"properties":{"sale_price_dollars":{"type":"number","title":"Sale Price Dollars"},"commission_rate_pct":{"type":"number","title":"Commission Rate Pct"},"gross_commission_cents":{"type":"integer","title":"Gross Commission Cents"},"listing_side_cents":{"type":"integer","title":"Listing Side Cents"},"buying_side_cents":{"type":"integer","title":"Buying Side Cents"},"agent_side_cents":{"type":"integer","title":"Agent Side Cents"},"franchise_fee_cents":{"type":"integer","title":"Franchise Fee Cents"},"agent_split_pct":{"type":"number","title":"Agent Split Pct"},"agent_split_cents":{"type":"integer","title":"Agent Split Cents"},"brokerage_split_cents":{"type":"integer","title":"Brokerage Split Cents"},"net_to_agent_cents":{"type":"integer","title":"Net To Agent Cents"},"split_type":{"type":"string","title":"Split Type"}},"type":"object","required":["sale_price_dollars","commission_rate_pct","gross_commission_cents","listing_side_cents","buying_side_cents","agent_side_cents","franchise_fee_cents","agent_split_pct","agent_split_cents","brokerage_split_cents","net_to_agent_cents","split_type"],"title":"CalculateResponse"},"CallFlowCreate":{"properties":{"name":{"type":"string","title":"Name"},"config":{"additionalProperties":true,"type":"object","title":"Config","default":{}},"is_active":{"type":"boolean","title":"Is Active","default":false},"greeting_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Text"}},"type":"object","required":["name"],"title":"CallFlowCreate"},"CallFlowUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"greeting_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Text"}},"type":"object","title":"CallFlowUpdate"},"CallLogItem":{"properties":{"id":{"type":"string","title":"Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"direction":{"type":"string","enum":["inbound","outbound"],"title":"Direction"},"from_number":{"type":"string","title":"From Number"},"to_number":{"type":"string","title":"To Number"},"duration_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Seconds"},"status":{"type":"string","enum":["completed","missed","voicemail","transferred"],"title":"Status"},"recording_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recording Url"},"transcription":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcription"},"ai_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Summary"},"ai_extracted_actions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Ai Extracted Actions"},"qualification_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Qualification Data"},"twilio_call_sid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twilio Call Sid"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","direction","from_number","to_number","status","created_at"],"title":"CallLogItem"},"CallLogListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CallLogItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"CallLogListResponse"},"CallbackRequest":{"properties":{"callback_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Callback At"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"CallbackRequest"},"CallbackResponse":{"properties":{"scheduled":{"type":"boolean","title":"Scheduled"},"task":{"additionalProperties":true,"type":"object","title":"Task"}},"type":"object","required":["scheduled","task"],"title":"CallbackResponse"},"CampaignRequest":{"properties":{"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"campaign_type":{"type":"string","title":"Campaign Type","default":"just_listed"},"channels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Channels"}},"type":"object","required":["listing"],"title":"CampaignRequest"},"CampaignUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger Type"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","title":"CampaignUpdateRequest"},"CancelBody":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","title":"CancelBody"},"CancelRequest":{"properties":{"reason":{"type":"string","title":"Reason"}},"type":"object","required":["reason"],"title":"CancelRequest"},"ChatListResponse":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/ChatMessageResponse"},"type":"array","title":"Messages"},"total":{"type":"integer","title":"Total"},"has_more":{"type":"boolean","title":"Has More","default":false}},"type":"object","required":["messages","total"],"title":"ChatListResponse"},"ChatMessageRequest":{"properties":{"content":{"type":"string","maxLength":5000,"minLength":1,"title":"Content"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["content"],"title":"ChatMessageRequest"},"ChatMessageResponse":{"properties":{"id":{"type":"string","title":"Id"},"brokerage_id":{"type":"string","title":"Brokerage Id"},"sender_id":{"type":"string","title":"Sender Id"},"sender_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Name"},"sender_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender Avatar Url"},"content":{"type":"string","title":"Content"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","brokerage_id","sender_id","content","created_at"],"title":"ChatMessageResponse"},"ChecklistItem":{"properties":{"task":{"type":"string","title":"Task"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["task"],"title":"ChecklistItem"},"ChecklistItemCreate":{"properties":{"title":{"type":"string","title":"Title"},"category":{"type":"string","title":"Category","default":"closing"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"priority":{"type":"string","title":"Priority","default":"medium"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["title"],"title":"ChecklistItemCreate"},"ChecklistItemUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Completed"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"}},"type":"object","title":"ChecklistItemUpdate"},"CheckoutRequest":{"properties":{"price_id":{"type":"string","title":"Price Id"},"promotion_code_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promotion Code Id"},"success_url":{"type":"string","title":"Success Url"},"cancel_url":{"type":"string","title":"Cancel Url"}},"type":"object","required":["price_id","success_url","cancel_url"],"title":"CheckoutRequest","description":"Schema for creating a Stripe Checkout session."},"ClauseLibraryItemResponse":{"properties":{"id":{"type":"string","title":"Id"},"state":{"type":"string","title":"State"},"deal_type":{"type":"string","title":"Deal Type"},"clause_name":{"type":"string","title":"Clause Name"},"standard_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Standard Language"},"purpose":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Purpose"},"risk_if_missing":{"anyOf":[{"type":"string","enum":["low","medium","high","critical"]},{"type":"string"}],"title":"Risk If Missing"},"category":{"anyOf":[{"type":"string","enum":["contingency","representation","default","special","disclosure"]},{"type":"string"}],"title":"Category"},"statute_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Statute Reference"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","state","deal_type","clause_name","risk_if_missing","category"],"title":"ClauseLibraryItemResponse"},"ClauseLibraryListResponse":{"properties":{"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"deal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"total":{"type":"integer","title":"Total"},"clauses":{"items":{"$ref":"#/components/schemas/ClauseLibraryItemResponse"},"type":"array","title":"Clauses"}},"type":"object","required":["total","clauses"],"title":"ClauseLibraryListResponse"},"ClauseLibraryProItem":{"properties":{"id":{"type":"string","title":"Id"},"state":{"type":"string","title":"State"},"deal_type":{"type":"string","title":"Deal Type"},"type":{"type":"string","title":"Type"},"risk_level":{"type":"string","title":"Risk Level"},"risk_category":{"type":"string","title":"Risk Category"},"clause_name":{"type":"string","title":"Clause Name"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"}},"type":"object","required":["id","state","deal_type","type","risk_level","risk_category","clause_name"],"title":"ClauseLibraryProItem"},"ClauseLibraryProResponse":{"properties":{"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"deal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"total":{"type":"integer","title":"Total"},"clauses":{"items":{"$ref":"#/components/schemas/ClauseLibraryProItem"},"type":"array","title":"Clauses"}},"type":"object","required":["total"],"title":"ClauseLibraryProResponse"},"ClauseSuggestionItem":{"properties":{"clause_name":{"type":"string","title":"Clause Name"},"category":{"type":"string","title":"Category"},"text":{"type":"string","title":"Text"},"why_needed":{"type":"string","title":"Why Needed"},"state_specific":{"type":"boolean","title":"State Specific","default":true}},"type":"object","required":["clause_name","category","text","why_needed"],"title":"ClauseSuggestionItem"},"ClauseSuggestionsResponse":{"properties":{"suggestions":{"items":{"$ref":"#/components/schemas/ClauseSuggestionItem"},"type":"array","title":"Suggestions"}},"type":"object","title":"ClauseSuggestionsResponse"},"ClickToCallRequest":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"to_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To Number"},"agent_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Number"}},"type":"object","title":"ClickToCallRequest"},"CloneRequest":{"properties":{"new_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Name"}},"type":"object","title":"CloneRequest"},"ClosingPackageRequest":{"properties":{"documents":{"items":{"type":"string"},"type":"array","title":"Documents"},"closing_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closing Date"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["documents"],"title":"ClosingPackageRequest"},"CommandCenterResponse":{"properties":{"greeting":{"type":"string","title":"Greeting"},"top_actions":{"items":{"$ref":"#/components/schemas/ActionItem"},"type":"array","title":"Top Actions"},"risk_alert":{"anyOf":[{"$ref":"#/components/schemas/RiskAlert"},{"type":"null"}]},"revenue_move":{"anyOf":[{"$ref":"#/components/schemas/RevenueMove"},{"type":"null"}]},"pipeline_snapshot":{"additionalProperties":true,"type":"object","title":"Pipeline Snapshot"},"daily_stats":{"additionalProperties":true,"type":"object","title":"Daily Stats"}},"type":"object","required":["greeting","top_actions","pipeline_snapshot","daily_stats"],"title":"CommandCenterResponse"},"CommissionCalculationRequest":{"properties":{"sale_price":{"type":"number","title":"Sale Price"},"mode":{"type":"string","pattern":"^(percentage|flat_fee|tiered)$","title":"Mode","default":"percentage"},"rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rate"},"flat_fee":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Flat Fee"},"tiers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tiers"},"agent_split_pct":{"type":"number","title":"Agent Split Pct","default":1.0},"referral_fee_pct":{"type":"number","title":"Referral Fee Pct","default":0.0},"brokerage_cut_pct":{"type":"number","title":"Brokerage Cut Pct","default":0.0}},"type":"object","required":["sale_price"],"title":"CommissionCalculationRequest"},"CommissionSplitRequest":{"properties":{"split_type":{"type":"string","title":"Split Type","default":"percentage"},"agent_percentage":{"type":"number","title":"Agent Percentage","default":70.0},"cap_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Cap Cents"},"fees_cents":{"type":"integer","title":"Fees Cents","default":0},"tiers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Tiers"}},"type":"object","title":"CommissionSplitRequest"},"CompleteTaskRequest":{"properties":{"completion_report":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Completion Report"},"completion_photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Completion Photos"}},"type":"object","title":"CompleteTaskRequest"},"CompleteUploadResponse":{"properties":{"key":{"type":"string","title":"Key"},"size_bytes":{"type":"integer","title":"Size Bytes"},"content_type":{"type":"string","title":"Content Type"},"etag":{"type":"string","title":"Etag"}},"type":"object","required":["key","size_bytes","content_type","etag"],"title":"CompleteUploadResponse"},"CompletionRequest":{"properties":{"checkin_lat":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Checkin Lat"},"checkin_lng":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Checkin Lng"},"photos":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photos"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"attendee_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Attendee Count"}},"type":"object","title":"CompletionRequest"},"ComplianceAlertsResponse":{"properties":{"overdue":{"items":{"$ref":"#/components/schemas/AlertItemResponse"},"type":"array","title":"Overdue"},"upcoming":{"items":{"$ref":"#/components/schemas/AlertItemResponse"},"type":"array","title":"Upcoming"},"total_overdue":{"type":"integer","title":"Total Overdue"},"total_upcoming":{"type":"integer","title":"Total Upcoming"}},"type":"object","required":["overdue","upcoming","total_overdue","total_upcoming"],"title":"ComplianceAlertsResponse"},"ComplianceCheckResponse":{"properties":{"compliant":{"type":"boolean","title":"Compliant"},"violations":{"items":{"$ref":"#/components/schemas/ComplianceViolation"},"type":"array","title":"Violations"}},"type":"object","required":["compliant"],"title":"ComplianceCheckResponse"},"ComplianceChecklistResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"items":{"items":{"$ref":"#/components/schemas/ComplianceItemResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["deal_id","items","total"],"title":"ComplianceChecklistResponse"},"ComplianceItemResponse":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"type":"string","title":"Deal Id"},"requirement_id":{"type":"string","title":"Requirement Id"},"agent_id":{"type":"string","title":"Agent Id"},"status":{"type":"string","title":"Status"},"due_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Due Date"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"completed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed By"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"requirement":{"anyOf":[{"$ref":"#/components/schemas/RequirementResponse"},{"type":"null"}]}},"type":"object","required":["id","deal_id","requirement_id","agent_id","status"],"title":"ComplianceItemResponse"},"ComplianceScoreResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"score_pct":{"type":"number","title":"Score Pct"},"mandatory_score_pct":{"type":"number","title":"Mandatory Score Pct"},"total_items":{"type":"integer","title":"Total Items"},"completed":{"type":"integer","title":"Completed"},"pending":{"type":"integer","title":"Pending"},"overdue":{"type":"integer","title":"Overdue"},"waived":{"type":"integer","title":"Waived"},"na":{"type":"integer","title":"Na"},"risk_assessment":{"type":"string","title":"Risk Assessment"},"by_category":{"additionalProperties":true,"type":"object","title":"By Category"}},"type":"object","required":["deal_id","score_pct","mandatory_score_pct","total_items","completed","pending","overdue","waived","na","risk_assessment","by_category"],"title":"ComplianceScoreResponse"},"ComplianceViolation":{"properties":{"field":{"type":"string","title":"Field"},"state":{"type":"string","title":"State"},"requirement":{"type":"string","title":"Requirement"},"found":{"anyOf":[{"type":"boolean"},{"type":"string"},{"type":"integer"},{"type":"null"}],"title":"Found"},"message":{"type":"string","title":"Message"}},"type":"object","required":["field","state","requirement","message"],"title":"ComplianceViolation"},"ConnectMLSRequest":{"properties":{"api_key":{"type":"string","title":"Api Key","description":"Bridge Interactive API key"},"mls_id":{"type":"string","title":"Mls Id","description":"Agent's MLS ID"},"mls_board":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mls Board","description":"MLS board name (optional)"}},"type":"object","required":["api_key","mls_id"],"title":"ConnectMLSRequest"},"ConnectRequest":{"properties":{"auth_code":{"type":"string","title":"Auth Code"},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri"}},"type":"object","required":["auth_code"],"title":"ConnectRequest"},"ConnectResponse":{"properties":{"status":{"type":"string","title":"Status"},"auth_url":{"type":"string","title":"Auth Url"}},"type":"object","required":["status","auth_url"],"title":"ConnectResponse"},"ConnectionRequest":{"properties":{"relationship":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relationship"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"ConnectionRequest"},"ConsentRequest":{"properties":{"consent_text":{"type":"string","title":"Consent Text","description":"The consent statement the signer agreed to","default":"I agree to use electronic signatures and records."}},"type":"object","title":"ConsentRequest","description":"ESIGN/UETA consent — IP and user agent captured server-side."},"ContactBulkDeleteRequest":{"properties":{"contact_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Contact Ids"}},"type":"object","required":["contact_ids"],"title":"ContactBulkDeleteRequest"},"ContactBulkTagRequest":{"properties":{"contact_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Contact Ids"},"tag":{"type":"string","maxLength":100,"minLength":1,"title":"Tag"}},"type":"object","required":["contact_ids","tag"],"title":"ContactBulkTagRequest"},"ContactCreate":{"properties":{"first_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"contact_type":{"type":"string","title":"Contact Type","default":"lead"},"lead_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Source"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"ContactCreate"},"ContactUpdate":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"contact_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Type"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","title":"ContactUpdate"},"ContactsImportResponse":{"properties":{"status":{"type":"string","title":"Status"},"imported":{"type":"integer","title":"Imported"},"skipped":{"type":"integer","title":"Skipped"},"errors":{"type":"integer","title":"Errors"}},"type":"object","required":["status","imported","skipped","errors"],"title":"ContactsImportResponse"},"ContentCalendarRequest":{"properties":{"weeks":{"type":"integer","title":"Weeks","default":4}},"type":"object","title":"ContentCalendarRequest"},"ContractReviewResponse":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"agent_id":{"type":"string","title":"Agent Id"},"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"},"risk_score":{"type":"number","maximum":10.0,"minimum":0.0,"title":"Risk Score"},"analysis":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Analysis"},"flagged_clauses":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Flagged Clauses"},"missing_items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Missing Items"},"deadline_alerts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Deadline Alerts"},"suggestions":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Suggestions"},"model_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model Used"},"tokens_used":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Used"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","agent_id","risk_score"],"title":"ContractReviewResponse"},"ConversationRequest":{"properties":{"message":{"type":"string","title":"Message"},"current_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current State"}},"type":"object","required":["message"],"title":"ConversationRequest"},"CourseProgressRequest":{"properties":{"contact_email":{"type":"string","title":"Contact Email"}},"type":"object","required":["contact_email"],"title":"CourseProgressRequest"},"CreateAgentRequest":{"properties":{"greeting_script":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Script"}},"type":"object","title":"CreateAgentRequest"},"CreateBrokerageRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"license_number":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"License Number"},"state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"State"}},"type":"object","required":["name"],"title":"CreateBrokerageRequest"},"CreateCampaignRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"brief":{"type":"string","minLength":5,"title":"Brief"},"segment_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Segment Key"},"blocks":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Blocks"}},"type":"object","required":["name","brief"],"title":"CreateCampaignRequest"},"CreateContactActionRequest":{"properties":{"first_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"contact_type":{"type":"string","title":"Contact Type","default":"lead"},"lead_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Source"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"CreateContactActionRequest"},"CreateCourseRequest":{"properties":{"title":{"type":"string","maxLength":300,"title":"Title"},"description":{"type":"string","title":"Description","default":""},"modules":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Modules","default":[]},"price_cents":{"type":"integer","title":"Price Cents","default":0}},"type":"object","required":["title"],"title":"CreateCourseRequest"},"CreateDealActionRequest":{"properties":{"property_address":{"type":"string","title":"Property Address"},"property_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property City"},"property_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property State"},"property_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Zip"},"side":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Side"},"price":{"anyOf":[{"type":"integer","maximum":999999999.0,"minimum":0.0},{"type":"null"}],"title":"Price"},"stage":{"type":"string","title":"Stage","default":"lead"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},"type":"object","required":["property_address"],"title":"CreateDealActionRequest"},"CreateDocumentShareRequest":{"properties":{"document_id":{"type":"string","title":"Document Id"},"expires_hours":{"type":"integer","maximum":720.0,"minimum":1.0,"title":"Expires Hours","default":24},"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"},"max_views":{"anyOf":[{"type":"integer","maximum":100000.0,"minimum":1.0},{"type":"null"}],"title":"Max Views"}},"type":"object","required":["document_id"],"title":"CreateDocumentShareRequest"},"CreateEscrowRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"amount_cents":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount Cents"},"payer_wallet":{"type":"string","title":"Payer Wallet"},"payee_wallet":{"type":"string","title":"Payee Wallet"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["deal_id","amount_cents","payer_wallet","payee_wallet"],"title":"CreateEscrowRequest"},"CreateEventRequest":{"properties":{"event_type":{"type":"string","title":"Event Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"start_time":{"type":"string","title":"Start Time"},"end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Time"},"timezone":{"type":"string","title":"Timezone","default":"America/New_York"},"is_all_day":{"type":"boolean","title":"Is All Day","default":false},"location_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location Name"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"virtual_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Virtual Url"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"},"max_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Capacity"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"visibility":{"type":"string","title":"Visibility","default":"brokerage"}},"type":"object","required":["event_type","title","start_time"],"title":"CreateEventRequest"},"CreateFolderResponse":{"properties":{"folder":{"type":"string","title":"Folder"},"created":{"type":"boolean","title":"Created"}},"type":"object","required":["folder","created"],"title":"CreateFolderResponse"},"CreateFromTemplate":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"template_id":{"type":"string","title":"Template Id"},"name":{"type":"string","title":"Name"},"document_type":{"type":"string","title":"Document Type"},"overrides":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Overrides"}},"type":"object","required":["deal_id","template_id","name","document_type"],"title":"CreateFromTemplate"},"CreateGigRequest":{"properties":{"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"scheduled_date":{"type":"string","title":"Scheduled Date"},"start_time":{"type":"string","title":"Start Time"},"end_time":{"type":"string","title":"End Time"},"duration_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Minutes"},"budget_cents":{"type":"integer","title":"Budget Cents"},"payment_method":{"type":"string","title":"Payment Method","default":"paylobster"},"brokerage_cut_pct":{"type":"number","title":"Brokerage Cut Pct","default":0},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"visibility":{"type":"string","title":"Visibility","default":"network"},"max_bids":{"type":"integer","title":"Max Bids","default":10}},"type":"object","required":["type","title","scheduled_date","start_time","end_time","budget_cents"],"title":"CreateGigRequest"},"CreateGroupRequest":{"properties":{"name":{"type":"string","title":"Name"},"member_ids":{"items":{"type":"string"},"type":"array","title":"Member Ids"}},"type":"object","required":["name","member_ids"],"title":"CreateGroupRequest"},"CreateMessageRequest":{"properties":{"role":{"type":"string","enum":["user","assistant","system","tool"],"title":"Role"},"content":{"type":"string","minLength":1,"title":"Content"},"action_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Action Metadata"}},"type":"object","required":["role","content"],"title":"CreateMessageRequest"},"CreatePortalRequest":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["contact_id"],"title":"CreatePortalRequest"},"CreateResourceRequest":{"properties":{"title":{"type":"string","maxLength":300,"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"type":{"type":"string","maxLength":20,"title":"Type"},"subtype":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Subtype"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"},"content_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Url"},"content_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Html"},"price_cents":{"type":"integer","title":"Price Cents","default":0},"currency":{"type":"string","title":"Currency","default":"usd"},"booking_duration_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Booking Duration Minutes"},"booking_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Location"},"availability_rules":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Availability Rules"},"event_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Date"},"event_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Time"},"event_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Event Capacity"},"event_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Location"},"modules_count":{"type":"integer","title":"Modules Count","default":0},"published":{"type":"boolean","title":"Published","default":false},"capture_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Capture Settings"}},"type":"object","required":["title","type"],"title":"CreateResourceRequest"},"CreateRoutingRuleRequest":{"properties":{"rule_type":{"type":"string","title":"Rule Type"},"priority":{"type":"integer","title":"Priority"},"conditions":{"additionalProperties":true,"type":"object","title":"Conditions"},"target_agent_id":{"type":"string","title":"Target Agent Id"},"is_active":{"type":"boolean","title":"Is Active","default":true}},"type":"object","required":["rule_type","priority","conditions","target_agent_id"],"title":"CreateRoutingRuleRequest"},"CreateSellerPortalRequest":{"properties":{"listing_id":{"type":"string","title":"Listing Id"},"seller_email":{"type":"string","title":"Seller Email"},"seller_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Name"},"expires_days":{"type":"integer","title":"Expires Days","default":90}},"type":"object","required":["listing_id","seller_email"],"title":"CreateSellerPortalRequest"},"CreateTaskRequest":{"properties":{"task_type":{"type":"string","title":"Task Type"},"property_address":{"type":"string","title":"Property Address"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"scheduled_at":{"type":"string","title":"Scheduled At"},"duration_minutes":{"type":"integer","title":"Duration Minutes","default":60},"rate_cents":{"type":"integer","title":"Rate Cents"},"briefing_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Briefing Data"},"access_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Instructions"},"special_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Special Notes"}},"type":"object","required":["task_type","property_address","scheduled_at","rate_cents"],"title":"CreateTaskRequest"},"CreateTeamLeadRequest":{"properties":{"source":{"type":"string","title":"Source","default":"manual"},"lead_name":{"type":"string","title":"Lead Name"},"lead_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Email"},"lead_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Phone"},"lead_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lead Message"},"property_interest":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Interest"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"}},"type":"object","required":["lead_name"],"title":"CreateTeamLeadRequest"},"CreateTemplateRequest":{"properties":{"name":{"type":"string","title":"Name"},"state":{"type":"string","title":"State"},"transaction_type":{"type":"string","title":"Transaction Type"},"stages":{"additionalProperties":true,"type":"object","title":"Stages"},"is_default":{"type":"boolean","title":"Is Default","default":false}},"type":"object","required":["name","state","transaction_type","stages"],"title":"CreateTemplateRequest"},"CreateTitleTokenRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"company_name":{"type":"string","title":"Company Name"},"email":{"type":"string","title":"Email"},"permissions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Permissions"},"expires_days":{"type":"integer","title":"Expires Days","default":90}},"type":"object","required":["deal_id","company_name","email"],"title":"CreateTitleTokenRequest"},"CreateVendorTokenRequest":{"properties":{"vendor_id":{"type":"string","title":"Vendor Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"email":{"type":"string","title":"Email"},"permissions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Permissions"},"expires_days":{"type":"integer","title":"Expires Days","default":90}},"type":"object","required":["vendor_id","email"],"title":"CreateVendorTokenRequest"},"CreateVersionRequest":{"properties":{"s3_key":{"type":"string","minLength":1,"title":"S3 Key"},"file_size_bytes":{"type":"integer","minimum":0.0,"title":"File Size Bytes"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"}},"type":"object","required":["s3_key","file_size_bytes"],"title":"CreateVersionRequest"},"CreateVideoMessageRequest":{"properties":{"video_url":{"type":"string","title":"Video Url"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"duration_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Seconds"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["video_url"],"title":"CreateVideoMessageRequest"},"CreativeFinancingRequest":{"properties":{"purchase_price":{"type":"integer","title":"Purchase Price"},"buyer_down_payment":{"type":"integer","title":"Buyer Down Payment","default":0},"seller_willing_to_finance":{"type":"boolean","title":"Seller Willing To Finance","default":false},"existing_mortgage_balance":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Existing Mortgage Balance"},"existing_mortgage_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Existing Mortgage Rate"}},"type":"object","required":["purchase_price"],"title":"CreativeFinancingRequest"},"DealAdviseRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"DealAdviseRequest"},"DealComplianceDocumentResponse":{"properties":{"name":{"type":"string","title":"Name"},"required_by_stage":{"type":"string","title":"Required By Stage"},"status":{"type":"string","title":"Status"},"critical":{"type":"boolean","title":"Critical"},"source":{"type":"string","title":"Source"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","required":["name","required_by_stage","status","critical","source"],"title":"DealComplianceDocumentResponse"},"DealComplianceResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"deal_stage":{"type":"string","title":"Deal Stage"},"normalized_stage":{"type":"string","title":"Normalized Stage"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"required_documents":{"items":{"$ref":"#/components/schemas/DealComplianceDocumentResponse"},"type":"array","title":"Required Documents"},"compliance_score":{"type":"integer","title":"Compliance Score"},"blockers":{"items":{"type":"string"},"type":"array","title":"Blockers"},"next_actions":{"items":{"type":"string"},"type":"array","title":"Next Actions"},"state_guidance":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State Guidance"}},"type":"object","required":["deal_id","deal_stage","normalized_stage","required_documents","compliance_score","blockers","next_actions"],"title":"DealComplianceResponse"},"DealCreate":{"properties":{"property_address":{"type":"string","title":"Property Address"},"property_city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property City"},"property_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property State"},"property_zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Zip"},"side":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Side"},"price":{"anyOf":[{"type":"integer","maximum":999999999.0,"minimum":0.0},{"type":"null"}],"title":"Price"},"stage":{"type":"string","title":"Stage","default":"lead"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},"type":"object","required":["property_address"],"title":"DealCreate"},"DealDocumentListResponse":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/DealDocumentOut"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"},"transaction_summary":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Transaction Summary"}},"type":"object","required":["documents","total"],"title":"DealDocumentListResponse"},"DealDocumentOut":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"type":"string","title":"Deal Id"},"agent_id":{"type":"string","title":"Agent Id"},"nutrient_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nutrient Document Id"},"filename":{"type":"string","title":"Filename"},"file_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Type"},"file_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size Bytes"},"document_type":{"type":"string","title":"Document Type"},"s3_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Key"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"uploaded_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Uploaded By"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"transaction_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transaction Role"},"transaction_role_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transaction Role Label"},"required_for_flow":{"type":"boolean","title":"Required For Flow","default":false},"required_to_close":{"type":"boolean","title":"Required To Close","default":false},"signature_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signature Status"},"signature_progress":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Signature Progress"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"}},"type":"object","required":["id","deal_id","agent_id","filename","document_type","created_at","updated_at"],"title":"DealDocumentOut"},"DealDocumentSessionRequest":{"properties":{"mode":{"type":"string","title":"Mode","default":"full"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"}},"type":"object","title":"DealDocumentSessionRequest"},"DealDocumentSessionResponse":{"properties":{"token":{"type":"string","title":"Token"},"document_id":{"type":"string","title":"Document Id"},"nutrient_document_id":{"type":"string","title":"Nutrient Document Id"},"mode":{"type":"string","title":"Mode"},"server_url":{"type":"string","title":"Server Url","default":""},"cdn_url":{"type":"string","title":"Cdn Url","default":"https://cdn.cloud.nutrient.io/pspdfkit-web@1.12.0/nutrient-viewer.js"}},"type":"object","required":["token","document_id","nutrient_document_id","mode"],"title":"DealDocumentSessionResponse"},"DealDocumentUpdateRequest":{"properties":{"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"DealDocumentUpdateRequest"},"DealDocumentUploadResponse":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"type":"string","title":"Deal Id"},"nutrient_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nutrient Document Id"},"filename":{"type":"string","title":"Filename"},"document_type":{"type":"string","title":"Document Type"},"message":{"type":"string","title":"Message","default":"Document uploaded successfully"}},"type":"object","required":["id","deal_id","filename","document_type"],"title":"DealDocumentUploadResponse"},"DealDocumentsResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"documents":{"items":{"$ref":"#/components/schemas/VaultDocumentResponse"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["deal_id","documents","total"],"title":"DealDocumentsResponse"},"DealPartyRole":{"type":"string","enum":["buyer","seller","buyer_agent","listing_agent","lender","title_company","inspector","appraiser","attorney","other"],"title":"DealPartyRole"},"DealReviewRequest":{"properties":{"status":{"type":"string","pattern":"^(pending|approved|rejected|changes_requested)$","title":"Status","default":"approved"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"DealReviewRequest"},"DealReviewsResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"total":{"type":"integer","title":"Total"},"reviews":{"items":{"$ref":"#/components/schemas/ContractReviewResponse"},"type":"array","title":"Reviews"}},"type":"object","required":["deal_id","total","reviews"],"title":"DealReviewsResponse"},"DealRoomCreateRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"participants":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Participants"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"}},"type":"object","required":["deal_id","name"],"title":"DealRoomCreateRequest"},"DealRoomDocumentAddRequest":{"properties":{"document_id":{"type":"string","title":"Document Id"},"category":{"type":"string","title":"Category"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["document_id","category"],"title":"DealRoomDocumentAddRequest"},"DealRoomDocumentResponse":{"properties":{"id":{"type":"string","title":"Id"},"room_id":{"type":"string","title":"Room Id"},"document_id":{"type":"string","title":"Document Id"},"added_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Added By"},"category":{"type":"string","title":"Category"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"document":{"additionalProperties":true,"type":"object","title":"Document"}},"type":"object","required":["id","room_id","document_id","category","created_at","document"],"title":"DealRoomDocumentResponse"},"DealRoomResponse":{"properties":{"id":{"type":"string","title":"Id"},"deal_id":{"type":"string","title":"Deal Id"},"name":{"type":"string","title":"Name"},"participants":{"additionalProperties":true,"type":"object","title":"Participants"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","deal_id","name","participants","settings","created_at"],"title":"DealRoomResponse"},"DealRoomWithDocumentsResponse":{"properties":{"room":{"$ref":"#/components/schemas/DealRoomResponse"},"documents":{"items":{"$ref":"#/components/schemas/DealRoomDocumentResponse"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["room","documents","total"],"title":"DealRoomWithDocumentsResponse"},"DealSummary":{"properties":{"id":{"type":"string","title":"Id"},"property_address":{"type":"string","title":"Property Address"},"stage":{"type":"string","title":"Stage"},"side":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Side"},"price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price"},"closing_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Closing Date"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"gaps_count":{"type":"integer","title":"Gaps Count","default":0},"upcoming_deadlines":{"type":"integer","title":"Upcoming Deadlines","default":0}},"type":"object","required":["id","property_address","stage"],"title":"DealSummary"},"DealUpdate":{"properties":{"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price"},"commission_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commission Rate"},"closing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closing Date"},"option_expiry":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Option Expiry"},"inspection_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Inspection Date"},"appraisal_deadline":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Appraisal Deadline"},"financing_deadline":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Financing Deadline"},"checklist":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Checklist"},"client_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Contact Id"},"other_agent_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Other Agent Contact Id"},"lender_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lender Contact Id"},"title_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title Contact Id"}},"type":"object","title":"DealUpdate"},"DefaultSettings":{"properties":{"default_commission_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Default Commission Rate"},"default_transaction_checklist":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Transaction Checklist"},"default_playbook_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Playbook Id"},"auto_assign_tc":{"type":"boolean","title":"Auto Assign Tc","default":false},"require_deal_approval":{"type":"boolean","title":"Require Deal Approval","default":false},"min_photos_for_listing":{"type":"integer","title":"Min Photos For Listing","default":10},"auto_compliance_check":{"type":"boolean","title":"Auto Compliance Check","default":true},"default_email_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Email Template"},"lead_response_sla_minutes":{"type":"integer","title":"Lead Response Sla Minutes","default":15},"deal_review_required_above":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Deal Review Required Above"},"allowed_deal_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Allowed Deal Types"}},"type":"object","title":"DefaultSettings"},"DemoActivateResponse":{"properties":{"activated":{"type":"boolean","title":"Activated"},"message":{"type":"string","title":"Message"},"contacts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Contacts"},"deals":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deals"},"listings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Listings"},"showings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Showings"},"open_houses":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Open Houses"},"communications":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Communications"},"documents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Documents"}},"type":"object","required":["activated","message"],"title":"DemoActivateResponse"},"DemoDeactivateResponse":{"properties":{"deactivated":{"type":"boolean","title":"Deactivated"},"removed":{"additionalProperties":{"type":"integer"},"type":"object","title":"Removed"}},"type":"object","required":["deactivated","removed"],"title":"DemoDeactivateResponse"},"DemoStatusResponse":{"properties":{"demo_active":{"type":"boolean","title":"Demo Active"},"demo_records":{"type":"integer","title":"Demo Records"},"real_records":{"type":"integer","title":"Real Records"}},"type":"object","required":["demo_active","demo_records","real_records"],"title":"DemoStatusResponse"},"DemographicsResult":{"properties":{"zip_code":{"type":"string","title":"Zip Code"},"population":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Population"},"median_income":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Median Income"},"median_age":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Median Age"},"housing_units":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Housing Units"},"owner_occupied_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Owner Occupied Pct"},"renter_occupied_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Renter Occupied Pct"},"median_home_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Median Home Value"},"poverty_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Poverty Rate"}},"type":"object","required":["zip_code"],"title":"DemographicsResult"},"DigestResponse":{"properties":{"date":{"type":"string","title":"Date"},"closing_this_week":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Closing This Week"},"new_leads_yesterday":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"New Leads Yesterday"},"mtd_commission":{"type":"integer","title":"Mtd Commission"},"active_deals_count":{"type":"integer","title":"Active Deals Count"},"pipeline_value":{"type":"integer","title":"Pipeline Value"},"urgent_alerts":{"items":{"$ref":"#/components/schemas/AlertResponse"},"type":"array","title":"Urgent Alerts"},"unread_alerts_count":{"type":"integer","title":"Unread Alerts Count"}},"type":"object","required":["date","closing_this_week","new_leads_yesterday","mtd_commission","active_deals_count","pipeline_value","urgent_alerts","unread_alerts_count"],"title":"DigestResponse"},"DiscrepancyResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"deal_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Address"},"status":{"type":"string","title":"Status"},"discrepancies":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Discrepancies","default":[]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"risk_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Risk Level"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommendation"}},"type":"object","required":["deal_id","deal_address","status"],"title":"DiscrepancyResponse"},"DockMessage":{"properties":{"text":{"type":"string","title":"Text"},"context_deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Deal Id"},"context_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Contact Id"},"context_listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Listing Id"},"context_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Entity Id"},"context_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Type"},"context_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Title"},"context_subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Subtitle"},"context_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Summary"}},"type":"object","required":["text"],"title":"DockMessage"},"DockQuickActionPayload":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"sequence_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sequence Name"}},"type":"object","title":"DockQuickActionPayload"},"DockResponse":{"properties":{"message":{"type":"string","title":"Message"},"action_taken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Taken"},"action_params":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Action Params"},"confidence":{"type":"number","title":"Confidence"},"needs_confirmation":{"type":"boolean","title":"Needs Confirmation","default":false},"confirmation_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confirmation Prompt"},"cards":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Cards"},"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"},"checkpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkpoint"},"onboarding_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Onboarding State"},"onboarding_progress":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Onboarding Progress"},"input_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Input Type"},"suggestions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Suggestions"},"manual_edit_required":{"type":"boolean","title":"Manual Edit Required","default":false},"manual_edit_fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Manual Edit Fields"}},"type":"object","required":["message","confidence"],"title":"DockResponse"},"DocumentAccessLogResponse":{"properties":{"id":{"type":"string","title":"Id"},"document_id":{"type":"string","title":"Document Id"},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id"},"action":{"type":"string","title":"Action"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","document_id","action"],"title":"DocumentAccessLogResponse"},"DocumentCreate":{"properties":{"name":{"type":"string","title":"Name"},"document_type":{"type":"string","title":"Document Type"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"},"fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fields"}},"type":"object","required":["name","document_type"],"title":"DocumentCreate"},"DocumentInfo":{"properties":{"document_id":{"type":"string","title":"Document Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["document_id"],"title":"DocumentInfo"},"DocumentListResponse":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/DocumentInfo"},"type":"array","title":"Documents"}},"type":"object","required":["documents"],"title":"DocumentListResponse"},"DocumentReadyRequest":{"properties":{"to_email":{"type":"string","title":"To Email"},"deal_address":{"type":"string","title":"Deal Address"},"document_name":{"type":"string","title":"Document Name"},"agent_name":{"type":"string","title":"Agent Name","default":"Your agent"}},"type":"object","required":["to_email","deal_address","document_name"],"title":"DocumentReadyRequest"},"DocumentShareResponse":{"properties":{"id":{"type":"string","title":"Id"},"document_id":{"type":"string","title":"Document Id"},"token":{"type":"string","title":"Token"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"max_views":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Views"},"view_count":{"type":"integer","title":"View Count"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","document_id","token","expires_at","view_count","created_at"],"title":"DocumentShareResponse"},"DocumentVersionResponse":{"properties":{"id":{"type":"string","title":"Id"},"document_id":{"type":"string","title":"Document Id"},"version_number":{"type":"integer","title":"Version Number"},"s3_key":{"type":"string","title":"S3 Key"},"s3_version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Version Id"},"file_size_bytes":{"type":"integer","title":"File Size Bytes"},"change_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Note"},"created_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created By"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["id","document_id","version_number","s3_key","file_size_bytes"],"title":"DocumentVersionResponse"},"DocumentVersionsListResponse":{"properties":{"document_id":{"type":"string","title":"Document Id"},"versions":{"items":{"$ref":"#/components/schemas/DocumentVersionResponse"},"type":"array","title":"Versions"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["document_id","versions","total"],"title":"DocumentVersionsListResponse"},"DomainAdd":{"properties":{"domain":{"type":"string","maxLength":253,"title":"Domain"}},"type":"object","required":["domain"],"title":"DomainAdd"},"DomainRequest":{"properties":{"custom_domain":{"type":"string","title":"Custom Domain"}},"type":"object","required":["custom_domain"],"title":"DomainRequest"},"DownloadResponse":{"properties":{"download_url":{"type":"string","title":"Download Url"},"key":{"type":"string","title":"Key"}},"type":"object","required":["download_url","key"],"title":"DownloadResponse"},"EmailHistoryItem":{"properties":{"id":{"type":"string","title":"Id"},"email_type":{"type":"string","title":"Email Type"},"subject":{"type":"string","title":"Subject"},"status":{"type":"string","title":"Status"},"sent_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sent At"},"opened_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Opened At"}},"type":"object","required":["id","email_type","subject","status","sent_at","opened_at"],"title":"EmailHistoryItem"},"EmailIntakeStats":{"properties":{"total_emails":{"type":"integer","title":"Total Emails"},"emails_today":{"type":"integer","title":"Emails Today"},"emails_this_week":{"type":"integer","title":"Emails This Week"},"by_intent":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Intent"},"by_urgency":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Urgency"},"by_status":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Status"},"avg_processing_time_ms":{"type":"number","title":"Avg Processing Time Ms"},"total_attachments":{"type":"integer","title":"Total Attachments"},"total_documents_processed":{"type":"integer","title":"Total Documents Processed"},"action_items_pending":{"type":"integer","title":"Action Items Pending"}},"type":"object","required":["total_emails","emails_today","emails_this_week","by_intent","by_urgency","by_status","avg_processing_time_ms","total_attachments","total_documents_processed","action_items_pending"],"title":"EmailIntakeStats","description":"Email intake statistics for an agent."},"EmailTemplateRequest":{"properties":{"email_header_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Header Html"},"email_footer_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Footer Html"}},"type":"object","title":"EmailTemplateRequest"},"EnrollRequest":{"properties":{"contact_ids":{"items":{"type":"string"},"type":"array","title":"Contact Ids"}},"type":"object","required":["contact_ids"],"title":"EnrollRequest"},"EscrowCalcRequest":{"properties":{"sale_price":{"type":"integer","title":"Sale Price"},"state":{"type":"string","title":"State"},"include_title_insurance":{"type":"boolean","title":"Include Title Insurance","default":true},"include_recording_fees":{"type":"boolean","title":"Include Recording Fees","default":true}},"type":"object","required":["sale_price","state"],"title":"EscrowCalcRequest"},"EventCreate":{"properties":{"title":{"type":"string","title":"Title"},"type":{"type":"string","title":"Type","default":"other"},"date":{"type":"string","title":"Date"},"start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Time"},"all_day":{"type":"boolean","title":"All Day","default":false},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"recurring":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurring"},"reminder_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Minutes"},"status":{"type":"string","title":"Status","default":"scheduled"}},"type":"object","required":["title","date"],"title":"EventCreate"},"EventUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"start_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Time"},"all_day":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"All Day"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Color"},"recurring":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recurring"},"reminder_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reminder Minutes"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","title":"EventUpdate"},"ExecuteToolRequest":{"properties":{"action_type":{"type":"string","title":"Action Type","description":"create_task|send_email|schedule_showing|update_deal"},"tool_name":{"type":"string","title":"Tool Name","description":"Whitelisted tool name for this action type"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"ai_reasoning":{"type":"string","minLength":1,"title":"Ai Reasoning"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"}},"type":"object","required":["action_type","tool_name","ai_reasoning"],"title":"ExecuteToolRequest"},"ExpenseCreateRequest":{"properties":{"category":{"type":"string","maxLength":60,"minLength":1,"title":"Category"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"amount_cents":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount Cents"},"receipt_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt Url"},"tax_deductible":{"type":"boolean","title":"Tax Deductible","default":true},"date":{"type":"string","format":"date","title":"Date"}},"type":"object","required":["category","amount_cents","date"],"title":"ExpenseCreateRequest"},"ExpenseUpdateRequest":{"properties":{"category":{"anyOf":[{"type":"string","maxLength":60,"minLength":1},{"type":"null"}],"title":"Category"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"amount_cents":{"anyOf":[{"type":"integer","exclusiveMinimum":0.0},{"type":"null"}],"title":"Amount Cents"},"receipt_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Receipt Url"},"tax_deductible":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Tax Deductible"},"date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date"}},"type":"object","title":"ExpenseUpdateRequest"},"ExpirationTrackingRequest":{"properties":{"document_id":{"type":"string","title":"Document Id"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"alert_days_before":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Alert Days Before"}},"type":"object","required":["document_id","expires_at"],"title":"ExpirationTrackingRequest"},"ExpirationTrackingResponse":{"properties":{"id":{"type":"string","title":"Id"},"document_id":{"type":"string","title":"Document Id"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"alert_days_before":{"items":{"type":"integer"},"type":"array","title":"Alert Days Before"},"notified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Notified At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","document_id","expires_at","alert_days_before","created_at"],"title":"ExpirationTrackingResponse"},"ExportRequest":{"properties":{"design_id":{"type":"string","title":"Design Id"},"format":{"type":"string","title":"Format","default":"png"},"quality":{"type":"string","title":"Quality","default":"regular"}},"type":"object","required":["design_id"],"title":"ExportRequest"},"FairHousingCheckRequest":{"properties":{"text":{"type":"string","title":"Text"}},"type":"object","required":["text"],"title":"FairHousingCheckRequest"},"FeedbackCreate":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"showing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Showing Date"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_agent_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Phone"},"buyer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Name"},"interest_level":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Interest Level"},"price_opinion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Opinion"},"would_make_offer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Would Make Offer"},"likelihood_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Likelihood Score"},"liked":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Liked"},"disliked":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disliked"},"concerns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Concerns"},"condition_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Condition Rating"},"layout_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Layout Rating"},"location_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Location Rating"},"overall_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overall Rating"},"suggested_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Suggested Price"},"comparison_properties":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Comparison Properties"},"additional_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Notes"},"collection_method":{"type":"string","title":"Collection Method","default":"manual"}},"type":"object","title":"FeedbackCreate"},"FeedbackResponse":{"properties":{"id":{"type":"string","title":"Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"showing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Showing Date"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Name"},"interest_level":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Interest Level"},"price_opinion":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Price Opinion"},"would_make_offer":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Would Make Offer"},"likelihood_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Likelihood Score"},"liked":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Liked"},"disliked":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disliked"},"concerns":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Concerns"},"condition_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Condition Rating"},"layout_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Layout Rating"},"location_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Location Rating"},"overall_rating":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Overall Rating"},"suggested_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Suggested Price"},"additional_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Additional Notes"},"collection_method":{"type":"string","title":"Collection Method"},"ai_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Summary"},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","listing_id","showing_date","buyer_agent_name","buyer_agent_email","buyer_name","interest_level","price_opinion","would_make_offer","likelihood_score","liked","disliked","concerns","condition_rating","layout_rating","location_rating","overall_rating","suggested_price","additional_notes","collection_method","ai_summary","sentiment","created_at","updated_at"],"title":"FeedbackResponse"},"FeedbackSummary":{"properties":{"listing_id":{"type":"string","title":"Listing Id"},"total_showings":{"type":"integer","title":"Total Showings"},"total_feedback":{"type":"integer","title":"Total Feedback"},"response_rate":{"type":"number","title":"Response Rate"},"avg_interest":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Interest"},"avg_overall_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Overall Rating"},"avg_condition_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Condition Rating"},"avg_layout_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Layout Rating"},"avg_location_rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Location Rating"},"price_opinions":{"additionalProperties":true,"type":"object","title":"Price Opinions"},"would_offer_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Would Offer Pct"},"avg_suggested_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Avg Suggested Price"},"common_likes":{"items":{"type":"string"},"type":"array","title":"Common Likes"},"common_concerns":{"items":{"type":"string"},"type":"array","title":"Common Concerns"},"ai_recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Recommendation"}},"type":"object","required":["listing_id","total_showings","total_feedback","response_rate","avg_interest","avg_overall_rating","avg_condition_rating","avg_layout_rating","avg_location_rating","price_opinions","would_offer_pct","avg_suggested_price","common_likes","common_concerns","ai_recommendation"],"title":"FeedbackSummary","description":"Aggregated feedback summary for a listing."},"FieldMappingsUpdateRequest":{"properties":{"mappings":{"additionalProperties":{"type":"string"},"type":"object","title":"Mappings","description":"Map of template field name → data path (dot notation)."}},"type":"object","required":["mappings"],"title":"FieldMappingsUpdateRequest","description":"Update field mappings on a template.\n\nKeys are template field names, values are data paths using dot notation:\n    {\n        \"buyer_name\": \"deal.contacts[role=buyer].full_name\",\n        \"purchase_price\": \"deal.price\",\n        \"agent_license\": \"agent.license_number\"\n    }"},"FieldValueSubmission":{"properties":{"template_field_id":{"type":"string","title":"Template Field Id"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"}},"type":"object","required":["template_field_id"],"title":"FieldValueSubmission","description":"A single field value submitted by the signer."},"FieldValuesRequest":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/FieldValueSubmission"},"type":"array","title":"Fields"}},"type":"object","required":["fields"],"title":"FieldValuesRequest","description":"Batch submission of field values."},"FloodZoneResult":{"properties":{"zone":{"type":"string","title":"Zone","description":"FEMA flood zone designation (e.g. A, AE, X, V)"},"risk_level":{"type":"string","title":"Risk Level","description":"high, moderate, low, or minimal"},"insurance_required":{"type":"boolean","title":"Insurance Required","description":"Whether flood insurance is required"},"map_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Map Url","description":"Link to FEMA flood map"},"address":{"type":"string","title":"Address","description":"Queried address"}},"type":"object","required":["zone","risk_level","insurance_required","address"],"title":"FloodZoneResult"},"FolderItemResponse":{"properties":{"folder":{"type":"string","title":"Folder"},"document_count":{"type":"integer","title":"Document Count"}},"type":"object","required":["folder","document_count"],"title":"FolderItemResponse"},"FolderListResponse":{"properties":{"folders":{"items":{"$ref":"#/components/schemas/FolderItemResponse"},"type":"array","title":"Folders"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["folders","total"],"title":"FolderListResponse"},"ForgotPasswordRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordRequest"},"FullAnalysisResponse":{"properties":{"risks":{"items":{"$ref":"#/components/schemas/FullRiskItem"},"type":"array","title":"Risks"},"missing_clauses":{"items":{"type":"string"},"type":"array","title":"Missing Clauses"},"unusual_terms":{"items":{"type":"string"},"type":"array","title":"Unusual Terms"}},"type":"object","title":"FullAnalysisResponse"},"FullRiskItem":{"properties":{"type":{"type":"string","title":"Type"},"severity":{"type":"string","enum":["low","medium","high","critical"],"title":"Severity","default":"medium"},"description":{"type":"string","title":"Description"},"recommendation":{"type":"string","title":"Recommendation"}},"type":"object","required":["type","description","recommendation"],"title":"FullRiskItem"},"FundEscrowRequest":{"properties":{"tx_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Hash"}},"type":"object","title":"FundEscrowRequest"},"GTMProjectCreate":{"properties":{"website_url":{"type":"string","minLength":3,"title":"Website Url"},"geo":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Geo"},"niches":{"items":{"type":"string"},"type":"array","title":"Niches","description":"Optional niches / industries"}},"type":"object","required":["website_url"],"title":"GTMProjectCreate"},"GTMProjectUpdate":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"offering":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Offering"},"voice":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Voice"},"icp_segments":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Icp Segments"},"outreach_sequences":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Outreach Sequences"}},"type":"object","title":"GTMProjectUpdate"},"GenerateAndPostRequest":{"properties":{"listing_data":{"additionalProperties":true,"type":"object","title":"Listing Data"},"content_type":{"type":"string","title":"Content Type","default":"just_listed"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["facebook","instagram","linkedin","tiktok"]},"type":"array"},{"type":"null"}],"title":"Platforms"}},"type":"object","required":["listing_data"],"title":"GenerateAndPostRequest"},"GenerateDescriptionRequest":{"properties":{"listing":{"$ref":"#/components/schemas/ListingData"},"tone":{"type":"string","title":"Tone","default":"professional"},"length":{"type":"string","title":"Length","default":"medium"}},"type":"object","required":["listing"],"title":"GenerateDescriptionRequest"},"GenerateDescriptionResponse":{"properties":{"headline":{"type":"string","title":"Headline"},"description":{"type":"string","title":"Description"},"model_used":{"type":"string","title":"Model Used"},"latency_ms":{"type":"integer","title":"Latency Ms"},"cost_cents":{"type":"number","title":"Cost Cents"}},"type":"object","required":["headline","description","model_used","latency_ms","cost_cents"],"title":"GenerateDescriptionResponse"},"GenerateEmailRequest":{"properties":{"listing":{"$ref":"#/components/schemas/ListingData"},"template_type":{"type":"string","title":"Template Type","default":"just_listed"},"agent_info":{"anyOf":[{"$ref":"#/components/schemas/AgentInfo"},{"type":"null"}]}},"type":"object","required":["listing"],"title":"GenerateEmailRequest"},"GenerateEmailResponse":{"properties":{"subject":{"type":"string","title":"Subject"},"preview_text":{"type":"string","title":"Preview Text"},"body_html":{"type":"string","title":"Body Html"},"body_text":{"type":"string","title":"Body Text"},"template_type":{"type":"string","title":"Template Type"},"model_used":{"type":"string","title":"Model Used"},"latency_ms":{"type":"integer","title":"Latency Ms"},"cost_cents":{"type":"number","title":"Cost Cents"}},"type":"object","required":["subject","preview_text","body_html","body_text","template_type","model_used","latency_ms","cost_cents"],"title":"GenerateEmailResponse"},"GenerateGuideRequest":{"properties":{"neighborhood":{"type":"string","title":"Neighborhood"},"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"include_schools":{"type":"boolean","title":"Include Schools","default":true},"include_demographics":{"type":"boolean","title":"Include Demographics","default":true},"include_walkability":{"type":"boolean","title":"Include Walkability","default":true},"include_market_stats":{"type":"boolean","title":"Include Market Stats","default":true},"include_transit":{"type":"boolean","title":"Include Transit","default":true},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"target_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Target Keywords"}},"type":"object","required":["neighborhood","city","state"],"title":"GenerateGuideRequest"},"GenerateResourceRequest":{"properties":{"type":{"type":"string","maxLength":20,"title":"Type"},"subtype":{"type":"string","maxLength":30,"title":"Subtype"},"params":{"additionalProperties":true,"type":"object","title":"Params"}},"type":"object","required":["type","subtype"],"title":"GenerateResourceRequest"},"GenerateSocialRequest":{"properties":{"listing":{"$ref":"#/components/schemas/ListingData"},"platform":{"type":"string","title":"Platform","default":"instagram"},"tone":{"type":"string","title":"Tone","default":"engaging"}},"type":"object","required":["listing"],"title":"GenerateSocialRequest"},"GenerateSocialResponse":{"properties":{"post":{"type":"string","title":"Post"},"hashtags":{"items":{"type":"string"},"type":"array","title":"Hashtags"},"platform":{"type":"string","title":"Platform"},"model_used":{"type":"string","title":"Model Used"},"latency_ms":{"type":"integer","title":"Latency Ms"},"cost_cents":{"type":"number","title":"Cost Cents"}},"type":"object","required":["post","hashtags","platform","model_used","latency_ms","cost_cents"],"title":"GenerateSocialResponse"},"GeneratedDocumentResponse":{"properties":{"id":{"type":"string","title":"Id"},"template_id":{"type":"string","title":"Template Id"},"template_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Name"},"deal_id":{"type":"string","title":"Deal Id"},"agent_id":{"type":"string","title":"Agent Id"},"generated_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Generated Data"},"output_file_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Output File Url"},"nutrient_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nutrient Document Id"},"viewer_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer Token"},"status":{"type":"string","title":"Status"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"sign_request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sign Request Id"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["id","template_id","deal_id","agent_id","generated_data","output_file_url","nutrient_document_id","status","created_at"],"title":"GeneratedDocumentResponse"},"GeneratedListResponse":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/GeneratedDocumentResponse"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["documents","total","limit","offset"],"title":"GeneratedListResponse"},"GoalRequest":{"properties":{"gci_goal_cents":{"type":"integer","title":"Gci Goal Cents"},"year":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year"}},"type":"object","required":["gci_goal_cents"],"title":"GoalRequest"},"GoogleAuthRequest":{"properties":{"access_token":{"type":"string","title":"Access Token"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"}},"type":"object","required":["access_token"],"title":"GoogleAuthRequest"},"GoogleMobileAuthRequest":{"properties":{"id_token":{"type":"string","title":"Id Token"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"}},"type":"object","required":["id_token"],"title":"GoogleMobileAuthRequest"},"GoogleMobileAuthResponse":{"properties":{"tokens":{"$ref":"#/components/schemas/TokenPair"},"agent_id":{"type":"string","title":"Agent Id"},"is_new":{"type":"boolean","title":"Is New"},"onboarding_complete":{"type":"boolean","title":"Onboarding Complete"}},"type":"object","required":["tokens","agent_id","is_new","onboarding_complete"],"title":"GoogleMobileAuthResponse"},"GrowthReferralProgramResponse":{"properties":{"referral_code":{"type":"string","title":"Referral Code"},"referral_link":{"type":"string","title":"Referral Link"},"stats":{"$ref":"#/components/schemas/GrowthReferralStats"},"compliance_guardrails":{"items":{"type":"string"},"type":"array","title":"Compliance Guardrails"},"recent_referrals":{"items":{"$ref":"#/components/schemas/GrowthReferralResponse"},"type":"array","title":"Recent Referrals"}},"type":"object","required":["referral_code","referral_link","stats","compliance_guardrails","recent_referrals"],"title":"GrowthReferralProgramResponse"},"GrowthReferralResponse":{"properties":{"id":{"type":"string","title":"Id"},"referrer_agent_id":{"type":"string","title":"Referrer Agent Id"},"referrer_brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer Brokerage Id"},"referred_agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Agent Id"},"referred_brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Brokerage Id"},"program_type":{"type":"string","title":"Program Type"},"target_type":{"type":"string","title":"Target Type"},"attribution_type":{"type":"string","title":"Attribution Type"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"},"status":{"type":"string","title":"Status"},"reward_status":{"type":"string","title":"Reward Status"},"reward_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reward Type"},"referred_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Name"},"referred_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Email"},"referred_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referred Phone"},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"source_detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Detail"},"compliance_review_required":{"type":"boolean","title":"Compliance Review Required"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"qualified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Qualified At"},"converted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Converted At"},"reward_reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reward Reviewed At"},"reward_issued_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reward Issued At"}},"type":"object","required":["id","referrer_agent_id","referrer_brokerage_id","referred_agent_id","referred_brokerage_id","program_type","target_type","attribution_type","referral_code","status","reward_status","reward_type","referred_name","referred_email","referred_phone","company_name","notes","source_detail","compliance_review_required","created_at","updated_at","qualified_at","converted_at","reward_reviewed_at","reward_issued_at"],"title":"GrowthReferralResponse"},"GrowthReferralStats":{"properties":{"total":{"type":"integer","title":"Total"},"agent_signups":{"type":"integer","title":"Agent Signups"},"brokerage_leads":{"type":"integer","title":"Brokerage Leads"},"converted":{"type":"integer","title":"Converted"},"pending_review":{"type":"integer","title":"Pending Review"}},"type":"object","required":["total","agent_signups","brokerage_leads","converted","pending_review"],"title":"GrowthReferralStats"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HandoffRequest":{"properties":{"direction":{"type":"string","title":"Direction"},"target_agent_id":{"type":"string","title":"Target Agent Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"items_to_transfer":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Items To Transfer"}},"type":"object","required":["direction","target_agent_id"],"title":"HandoffRequest"},"HistoryItem":{"properties":{"id":{"type":"string","title":"Id"},"scenario_text":{"type":"string","title":"Scenario Text"},"scenario_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario Type"},"outcomes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Outcomes"},"recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommendation"},"risk_delta":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Risk Delta"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","scenario_text","scenario_type","outcomes","recommendation","risk_delta","created_at"],"title":"HistoryItem"},"HomeValueRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"zip":{"type":"string","title":"Zip"},"email":{"type":"string","format":"email","title":"Email"},"name":{"type":"string","title":"Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"agent_slug":{"type":"string","title":"Agent Slug"}},"type":"object","required":["address","city","state","zip","email","name","agent_slug"],"title":"HomeValueRequest"},"ImportContactItem":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"lead_source":{"type":"string","title":"Lead Source","default":"open_house"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"}},"type":"object","title":"ImportContactItem","description":"A verified contact ready for CRM import."},"ImportExecuteRequest":{"properties":{"upload_id":{"type":"string","title":"Upload Id"},"field_mapping":{"additionalProperties":{"type":"string"},"type":"object","title":"Field Mapping"},"duplicate_strategy":{"type":"string","title":"Duplicate Strategy","default":"skip"}},"type":"object","required":["upload_id","field_mapping"],"title":"ImportExecuteRequest"},"ImportRequest":{"properties":{"contacts":{"items":{"$ref":"#/components/schemas/ImportContactItem"},"type":"array","title":"Contacts"},"open_house_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open House Id"},"default_tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Default Tags"}},"type":"object","required":["contacts"],"title":"ImportRequest","description":"Batch of verified contacts to import to CRM."},"ImportResponse":{"properties":{"imported":{"items":{"$ref":"#/components/schemas/ImportedContactOut"},"type":"array","title":"Imported"},"created_count":{"type":"integer","title":"Created Count"},"existing_count":{"type":"integer","title":"Existing Count"},"error_count":{"type":"integer","title":"Error Count"}},"type":"object","required":["imported","created_count","existing_count","error_count"],"title":"ImportResponse","description":"Batch import result."},"ImportedContactOut":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"status":{"type":"string","title":"Status"}},"type":"object","required":["contact_id","first_name","last_name","email","status"],"title":"ImportedContactOut","description":"Result of a single contact import."},"InboxAIDraftRequest":{"properties":{"message_id":{"type":"string","title":"Message Id"},"tone":{"type":"string","pattern":"^(professional|friendly|concise)$","title":"Tone","default":"professional"}},"type":"object","required":["message_id"],"title":"InboxAIDraftRequest"},"InboxReplyRequest":{"properties":{"message_id":{"type":"string","title":"Message Id"},"reply_text":{"type":"string","title":"Reply Text"}},"type":"object","required":["message_id","reply_text"],"title":"InboxReplyRequest"},"IntakeResponse":{"properties":{"classification":{"additionalProperties":true,"type":"object","title":"Classification"},"extraction":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extraction"},"deal":{"additionalProperties":true,"type":"object","title":"Deal"},"vault_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Vault Document Id"},"alerts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Alerts"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["classification","extraction","deal","vault_document_id","alerts","metadata"],"title":"IntakeResponse"},"InviteAcceptResponse":{"properties":{"status":{"type":"string","title":"Status","default":"accepted"},"brokerage_id":{"type":"string","title":"Brokerage Id"},"membership_id":{"type":"string","title":"Membership Id"}},"type":"object","required":["brokerage_id","membership_id"],"title":"InviteAcceptResponse"},"InviteAgentRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","pattern":"^(owner|managing_broker|team_lead|agent|assistant)$","title":"Role","default":"agent"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"}},"type":"object","required":["email"],"title":"InviteAgentRequest"},"InviteCreateRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","pattern":"^(admin|agent)$","title":"Role","default":"agent"}},"type":"object","required":["email"],"title":"InviteCreateRequest"},"InviteDeclineResponse":{"properties":{"status":{"type":"string","title":"Status","default":"declined"}},"type":"object","title":"InviteDeclineResponse"},"InviteResponse":{"properties":{"id":{"type":"string","title":"Id"},"brokerage_id":{"type":"string","title":"Brokerage Id"},"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role"},"token":{"type":"string","title":"Token"},"invited_by":{"type":"string","title":"Invited By"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","brokerage_id","email","role","token","invited_by","expires_at","created_at"],"title":"InviteResponse"},"InvokeSkillRequest":{"properties":{"slug":{"type":"string","title":"Slug"},"params":{"additionalProperties":true,"type":"object","title":"Params","default":{}}},"type":"object","required":["slug"],"title":"InvokeSkillRequest"},"InvokeToolRequest":{"properties":{"tool_name":{"type":"string","title":"Tool Name"},"params":{"additionalProperties":true,"type":"object","title":"Params","default":{}},"confidence":{"type":"number","title":"Confidence","default":1.0},"source":{"type":"string","title":"Source","default":"api"},"session_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Id"},"force_auto":{"type":"boolean","title":"Force Auto","default":false}},"type":"object","required":["tool_name"],"title":"InvokeToolRequest"},"JustSoldRequest":{"properties":{"sale_price":{"type":"integer","title":"Sale Price"}},"type":"object","required":["sale_price"],"title":"JustSoldRequest"},"KioskCheckinRequest":{"properties":{"open_house_id":{"type":"string","title":"Open House Id"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"working_with_agent":{"type":"boolean","title":"Working With Agent","default":false},"heard_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Heard From"}},"type":"object","required":["open_house_id","name"],"title":"KioskCheckinRequest"},"LaunchPackAssetRegenerateRequest":{"properties":{"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instructions"}},"type":"object","title":"LaunchPackAssetRegenerateRequest"},"LaunchPackAssetRejectRequest":{"properties":{"feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feedback"}},"type":"object","title":"LaunchPackAssetRejectRequest"},"LaunchPackAssetUpdateRequest":{"properties":{"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},"type":"object","title":"LaunchPackAssetUpdateRequest"},"LaunchPackCreateRequest":{"properties":{"listing_id":{"type":"string","title":"Listing Id"},"media_urls":{"items":{"type":"string"},"type":"array","title":"Media Urls"}},"type":"object","required":["listing_id"],"title":"LaunchPackCreateRequest"},"LeadCapture":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"type":"string","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"},"utm_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Source"},"utm_medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Medium"},"utm_campaign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Campaign"}},"type":"object","required":["email"],"title":"LeadCapture"},"LeadCaptureRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"type":"string","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"},"utm_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Source"},"utm_medium":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Medium"},"utm_campaign":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Campaign"},"referrer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer Url"}},"type":"object","required":["email"],"title":"LeadCaptureRequest"},"LeadScoreV2Request":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"engagement":{"additionalProperties":true,"type":"object","title":"Engagement"},"timeline_urgency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timeline Urgency"},"financing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Status"},"behavior_signals":{"additionalProperties":true,"type":"object","title":"Behavior Signals"}},"type":"object","title":"LeadScoreV2Request"},"LeaveResponse":{"properties":{"status":{"type":"string","title":"Status","default":"left"},"brokerage_id":{"type":"string","title":"Brokerage Id"}},"type":"object","required":["brokerage_id"],"title":"LeaveResponse"},"ListingContentRequest":{"properties":{"listing_data":{"additionalProperties":true,"type":"object","title":"Listing Data"},"content_type":{"type":"string","title":"Content Type","default":"just_listed"}},"type":"object","required":["listing_data"],"title":"ListingContentRequest"},"ListingCreate":{"properties":{"address":{"type":"string","title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"lot_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lot Size"},"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"status":{"type":"string","title":"Status","default":"active"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"mls_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mls Number"},"list_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"List Date"}},"type":"object","required":["address"],"title":"ListingCreate"},"ListingData":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"neighborhood":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Neighborhood"},"price":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Price"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"lot_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lot Size"},"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style"},"features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Features"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"hoa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hoa"},"garage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Garage"},"pool":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Pool"},"view":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"View"},"school_district":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"School District"}},"type":"object","title":"ListingData","description":"Property details for content generation."},"ListingDescriptionRequest":{"properties":{"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"format":{"type":"string","title":"Format","default":"mls"},"length":{"type":"string","title":"Length","default":"standard"}},"type":"object","required":["listing"],"title":"ListingDescriptionRequest"},"ListingDesignRequest":{"properties":{"template_id":{"type":"string","title":"Template Id"},"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"agent_info":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Agent Info"}},"type":"object","required":["template_id","listing"],"title":"ListingDesignRequest"},"ListingEventRequest":{"properties":{"event_type":{"type":"string","title":"Event Type","description":"new_listing | price_reduced | under_contract | sold | open_house"},"listing_data":{"additionalProperties":true,"type":"object","title":"Listing Data"},"auto_post":{"type":"boolean","title":"Auto Post","default":false}},"type":"object","required":["event_type","listing_data"],"title":"ListingEventRequest"},"ListingUpdate":{"properties":{"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"lot_size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lot Size"},"year_built":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Year Built"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"list_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"List Date"},"sold_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Sold Date"},"sold_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sold Price"}},"type":"object","title":"ListingUpdate"},"LoanMatchRequest":{"properties":{"credit_score":{"type":"integer","title":"Credit Score"},"down_payment_pct":{"type":"number","title":"Down Payment Pct"},"purchase_price":{"type":"integer","title":"Purchase Price"},"annual_income":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Annual Income"},"monthly_debts":{"type":"integer","title":"Monthly Debts","default":0},"is_veteran":{"type":"boolean","title":"Is Veteran","default":false},"is_rural":{"type":"boolean","title":"Is Rural","default":false},"is_investment":{"type":"boolean","title":"Is Investment","default":false},"monthly_rent":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Rent"}},"type":"object","required":["credit_score","down_payment_pct","purchase_price"],"title":"LoanMatchRequest"},"LogActivityRequest":{"properties":{"activity_type":{"type":"string","title":"Activity Type"},"details":{"additionalProperties":true,"type":"object","title":"Details","default":{}}},"type":"object","required":["activity_type"],"title":"LogActivityRequest"},"LogCECreditsRequest":{"properties":{"credits":{"type":"integer","title":"Credits"},"course_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Course Name"},"completion_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Completion Date"}},"type":"object","required":["credits"],"title":"LogCECreditsRequest"},"LogOutreachRequest":{"properties":{"prospect_id":{"type":"string","title":"Prospect Id"},"attempt_type":{"type":"string","title":"Attempt Type"},"notes":{"type":"string","title":"Notes","default":""},"response":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response"}},"type":"object","required":["prospect_id","attempt_type"],"title":"LogOutreachRequest"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"ManualLeadAssignmentRequest":{"properties":{"assigned_agent_id":{"type":"string","title":"Assigned Agent Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["assigned_agent_id"],"title":"ManualLeadAssignmentRequest"},"MarkCompleteRequest":{"properties":{"document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Id"}},"type":"object","title":"MarkCompleteRequest"},"MarketAskRequest":{"properties":{"question":{"type":"string","title":"Question"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","required":["question"],"title":"MarketAskRequest"},"MarketReportRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"zip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip"},"property_type":{"type":"string","title":"Property Type","default":"sfr"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"report_type":{"type":"string","title":"Report Type","default":"cma"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["address","city","state"],"title":"MarketReportRequest"},"MemberListResponse":{"properties":{"members":{"items":{"$ref":"#/components/schemas/MemberResponse"},"type":"array","title":"Members"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["members","total"],"title":"MemberListResponse"},"MemberRemoveResponse":{"properties":{"status":{"type":"string","title":"Status","default":"removed"},"agent_id":{"type":"string","title":"Agent Id"}},"type":"object","required":["agent_id"],"title":"MemberRemoveResponse"},"MemberResponse":{"properties":{"id":{"type":"string","title":"Id"},"brokerage_id":{"type":"string","title":"Brokerage Id"},"agent_id":{"type":"string","title":"Agent Id"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Email"},"agent_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Avatar Url"},"role":{"type":"string","title":"Role"},"status":{"type":"string","title":"Status"},"invited_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Invited At"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"},"left_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Left At"},"seat_billing_active":{"type":"boolean","title":"Seat Billing Active","default":true},"permissions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Permissions"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","brokerage_id","agent_id","role","status","created_at","updated_at"],"title":"MemberResponse"},"MemberSuspendResponse":{"properties":{"status":{"type":"string","title":"Status","default":"suspended"},"agent_id":{"type":"string","title":"Agent Id"}},"type":"object","required":["agent_id"],"title":"MemberSuspendResponse"},"MergeRequest":{"properties":{"primary_id":{"type":"string","title":"Primary Id"},"secondary_id":{"type":"string","title":"Secondary Id"}},"type":"object","required":["primary_id","secondary_id"],"title":"MergeRequest"},"MessageReceivedRequest":{"properties":{"to_email":{"type":"string","title":"To Email"},"deal_address":{"type":"string","title":"Deal Address"},"sender_name":{"type":"string","title":"Sender Name","default":"Your agent"},"preview":{"type":"string","title":"Preview","default":""}},"type":"object","required":["to_email","deal_address"],"title":"MessageReceivedRequest"},"MessageRequest":{"properties":{"recipient_id":{"type":"string","title":"Recipient Id"},"body":{"type":"string","title":"Body"}},"type":"object","required":["recipient_id","body"],"title":"MessageRequest"},"MessageResponse":{"properties":{"id":{"type":"string","title":"Id"},"thread_id":{"type":"string","title":"Thread Id"},"role":{"type":"string","title":"Role"},"content":{"type":"string","title":"Content"},"action_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Action Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","thread_id","role","content","created_at"],"title":"MessageResponse"},"MessagesListResponse":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/MessageResponse"},"type":"array","title":"Messages"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["messages","page","limit","total"],"title":"MessagesListResponse"},"ModelOverrideRequest":{"properties":{"ai_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Model"},"ai_temperature":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Temperature"},"ai_max_tokens":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Max Tokens"}},"type":"object","title":"ModelOverrideRequest"},"ModuleCompletionRequest":{"properties":{"module_id":{"type":"string","title":"Module Id"},"contact_email":{"type":"string","title":"Contact Email"},"quiz_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quiz Score"}},"type":"object","required":["module_id","contact_email"],"title":"ModuleCompletionRequest"},"MoveDocumentsRequest":{"properties":{"document_ids":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Document Ids"}},"type":"object","required":["document_ids"],"title":"MoveDocumentsRequest"},"MultiPostRequest":{"properties":{"text":{"type":"string","minLength":1,"title":"Text"},"platforms":{"items":{"type":"string","enum":["facebook","instagram","linkedin","tiktok"]},"type":"array","title":"Platforms"},"image_urls":{"items":{"type":"string"},"type":"array","title":"Image Urls"},"article_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Article Url"},"hashtags":{"items":{"type":"string"},"type":"array","title":"Hashtags"},"schedule_for":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Schedule For"},"queue_for_optimal_time":{"type":"boolean","title":"Queue For Optimal Time","default":false}},"type":"object","required":["text"],"title":"MultiPostRequest"},"NarrativeResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"deal_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Address"},"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"document_count":{"type":"integer","title":"Document Count"},"deadline_summary":{"additionalProperties":true,"type":"object","title":"Deadline Summary"},"financial_summary":{"additionalProperties":true,"type":"object","title":"Financial Summary"},"generated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generated At"}},"type":"object","required":["deal_id","deal_address","narrative","stage","document_count","deadline_summary","financial_summary","generated_at"],"title":"NarrativeResponse"},"NegotiationAnalyzeRequest":{"properties":{"contract_text":{"type":"string","title":"Contract Text"},"market_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Market Data"},"comps":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Comps"}},"type":"object","required":["contract_text"],"title":"NegotiationAnalyzeRequest"},"NegotiationAnalyzeResponse":{"properties":{"result":{"additionalProperties":true,"type":"object","title":"Result"}},"type":"object","required":["result"],"title":"NegotiationAnalyzeResponse"},"NetworkAgent":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"},"brokerage_name_manual":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name Manual"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"headshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headshot Url"},"deals_together":{"type":"integer","title":"Deals Together"},"connection_created_at":{"type":"string","format":"date-time","title":"Connection Created At"}},"type":"object","required":["id","name","email","license_state","brokerage_name_manual","specialties","service_areas","headshot_url","deals_together","connection_created_at"],"title":"NetworkAgent"},"NetworkInviteRequest":{"properties":{"agent_email":{"type":"string","format":"email","title":"Agent Email"}},"type":"object","required":["agent_email"],"title":"NetworkInviteRequest"},"NewListingAutoRequest":{"properties":{"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"photo_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photo Urls"}},"type":"object","required":["listing"],"title":"NewListingAutoRequest"},"NoteCreateRequest":{"properties":{"note":{"type":"string","maxLength":5000,"minLength":1,"title":"Note"},"source":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Source","default":"crm_surface"}},"type":"object","required":["note"],"title":"NoteCreateRequest"},"NotificationPreferenceItem":{"properties":{"in_app_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"In App Enabled"},"email_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Enabled"},"push_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Push Enabled"}},"type":"object","title":"NotificationPreferenceItem"},"ObservationResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"deal_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Stage"},"observation_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Observation Type"},"profiles_updated":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Profiles Updated"},"total_profiles":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Profiles"},"skipped":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Skipped"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["deal_id"],"title":"ObservationResponse"},"OfferCreate":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"buyer_name":{"type":"string","title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_agent_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Phone"},"buyer_agent_brokerage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Brokerage"},"offer_price":{"type":"integer","maximum":999999999.0,"minimum":0.0,"title":"Offer Price"},"earnest_money":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Earnest Money"},"down_payment_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Down Payment Pct"},"financing_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Type"},"pre_approval_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pre Approval Amount"},"closing_cost_credit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Closing Cost Credit"},"contingencies":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Contingencies"},"inspection_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Inspection Days"},"appraisal_gap":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Appraisal Gap"},"proposed_closing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Proposed Closing Date"},"expiration_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiration Date"},"possession_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Possession Date"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"parent_offer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Offer Id"}},"type":"object","required":["buyer_name","offer_price"],"title":"OfferCreate"},"OfferResponse":{"properties":{"id":{"type":"string","title":"Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"buyer_name":{"type":"string","title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"offer_price":{"type":"integer","title":"Offer Price"},"earnest_money":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Earnest Money"},"financing_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Type"},"contingencies":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Contingencies"},"status":{"type":"string","title":"Status"},"counter_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Counter Price"},"counter_terms":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Counter Terms"},"proposed_closing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Proposed Closing Date"},"expiration_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiration Date"},"ai_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Score"},"ai_analysis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Analysis"},"parent_offer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Offer Id"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","listing_id","deal_id","buyer_name","buyer_email","buyer_phone","buyer_agent_name","buyer_agent_email","offer_price","earnest_money","financing_type","contingencies","status","counter_price","counter_terms","proposed_closing_date","expiration_date","ai_score","ai_analysis","parent_offer_id","notes","created_at","updated_at"],"title":"OfferResponse"},"OfferStatusUpdate":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"OfferStatusUpdate"},"OfferStrategyRequest":{"properties":{"property_address":{"type":"string","title":"Property Address"},"list_price":{"type":"integer","title":"List Price"},"days_on_market":{"type":"integer","title":"Days On Market","default":0},"buyer_budget":{"type":"integer","title":"Buyer Budget","default":0},"competing_offers":{"type":"integer","title":"Competing Offers","default":0},"seller_motivation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Motivation"},"market_conditions":{"type":"string","title":"Market Conditions","default":"balanced"},"buyer_contingencies":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Buyer Contingencies"}},"type":"object","required":["property_address","list_price"],"title":"OfferStrategyRequest"},"OfferUpdate":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"counter_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Counter Price"},"counter_terms":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Counter Terms"},"counter_expiration":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Counter Expiration"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"offer_price":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Offer Price"},"earnest_money":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Earnest Money"},"financing_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Type"},"contingencies":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Contingencies"},"proposed_closing_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Proposed Closing Date"},"expiration_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiration Date"}},"type":"object","title":"OfferUpdate"},"OnboardAgentRequest":{"properties":{"email":{"type":"string","title":"Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"role":{"type":"string","pattern":"^(solo|agent|team_lead|admin|broker|managing_broker|owner)$","title":"Role","default":"agent"},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"license_state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"License State"}},"type":"object","required":["email"],"title":"OnboardAgentRequest"},"OnboardingComplete":{"properties":{"seed_demo_data":{"type":"boolean","title":"Seed Demo Data","default":true}},"type":"object","title":"OnboardingComplete"},"OnboardingRequest":{"properties":{"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"},"personal_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Phone"},"enable_voice":{"type":"boolean","title":"Enable Voice","default":true},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"brokerage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},"type":"object","title":"OnboardingRequest","description":"Minimal onboarding data. Everything else the AI figures out."},"OpenHouseAutoRequest":{"properties":{"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"event_date":{"type":"string","title":"Event Date"},"event_time":{"type":"string","title":"Event Time"}},"type":"object","required":["listing","event_date","event_time"],"title":"OpenHouseAutoRequest"},"OpenHouseCreate":{"properties":{"property_address":{"type":"string","title":"Property Address"},"event_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Event Date"},"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End Time"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"page_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Slug"}},"type":"object","required":["property_address"],"title":"OpenHouseCreate","description":"Schema for creating a new open house."},"OpenHouseLandingRequest":{"properties":{"theme":{"type":"string","title":"Theme","default":"modern"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"directions_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Directions Url"},"photo_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Photo Urls"}},"type":"object","title":"OpenHouseLandingRequest"},"OpenHouseRSVPRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"working_with_agent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Working With Agent"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"financing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Status"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["name","email"],"title":"OpenHouseRSVPRequest"},"OpenHouseUpdate":{"properties":{"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"},"event_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Event Date"},"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"end_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"End Time"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"social_posts_scheduled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Social Posts Scheduled"},"email_blast_sent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Blast Sent"},"signs_ordered":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Signs Ordered"}},"type":"object","title":"OpenHouseUpdate","description":"Schema for updating an open house."},"OptimizeRouteRequest":{"properties":{"stops":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Stops"},"start_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Address"},"appointments":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Appointments"},"buffer_minutes":{"type":"integer","title":"Buffer Minutes","default":20}},"type":"object","required":["stops"],"title":"OptimizeRouteRequest"},"OutcomeResponse":{"properties":{"key":{"type":"string","title":"Key"},"description":{"type":"string","title":"Description"},"probability":{"type":"number","title":"Probability"},"impact_financial":{"type":"string","title":"Impact Financial"},"impact_timeline":{"type":"string","title":"Impact Timeline"},"impact_risk":{"type":"string","title":"Impact Risk"},"next_steps":{"items":{"type":"string"},"type":"array","title":"Next Steps"}},"type":"object","required":["key","description","probability","impact_financial","impact_timeline","impact_risk","next_steps"],"title":"OutcomeResponse"},"OutreachRequest":{"properties":{"prospect_data":{"additionalProperties":true,"type":"object","title":"Prospect Data"},"outreach_type":{"type":"string","title":"Outreach Type","default":"call_script"}},"type":"object","required":["prospect_data"],"title":"OutreachRequest"},"PacketPrepareRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"deal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"},"signers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Signers"},"overrides":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Overrides"}},"type":"object","required":["deal_id","signers"],"title":"PacketPrepareRequest"},"PacketSendRequest":{"properties":{"packet_id":{"type":"string","title":"Packet Id"},"signers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Signers"},"overrides":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Overrides"}},"type":"object","required":["packet_id"],"title":"PacketSendRequest"},"PartyCreateRequest":{"properties":{"role":{"$ref":"#/components/schemas/DealPartyRole"},"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["role","name"],"title":"PartyCreateRequest"},"PartyUpdateRequest":{"properties":{"role":{"anyOf":[{"$ref":"#/components/schemas/DealPartyRole"},{"type":"null"}]},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"PartyUpdateRequest"},"PaymentCalcRequest":{"properties":{"loan_amount":{"type":"integer","title":"Loan Amount"},"interest_rate_pct":{"type":"number","title":"Interest Rate Pct"},"term_years":{"type":"integer","title":"Term Years","default":30}},"type":"object","required":["loan_amount","interest_rate_pct"],"title":"PaymentCalcRequest"},"PersonalizeRequest":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"}},"type":"object","title":"PersonalizeRequest"},"PersonalizedFieldSchema":{"properties":{"template_field_id":{"type":"string","title":"Template Field Id"},"value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value"},"signer_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Signer Email"},"signer_role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signer Role"}},"type":"object","required":["template_field_id"],"title":"PersonalizedFieldSchema"},"PhotoAnalyzeRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"}},"type":"object","required":["image_url"],"title":"PhotoAnalyzeRequest"},"PhotoDescriptionRequest":{"properties":{"photos":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Photos"}},"type":"object","required":["photos"],"title":"PhotoDescriptionRequest"},"PhotoEnhanceRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"},"enhancement_type":{"type":"string","title":"Enhancement Type","default":"auto"},"style":{"type":"string","title":"Style","default":"professional"}},"type":"object","required":["image_url"],"title":"PhotoEnhanceRequest"},"PlaceResult":{"properties":{"place_id":{"type":"string","title":"Place Id"},"name":{"type":"string","title":"Name"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"reviews_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviews Count"},"types":{"items":{"type":"string"},"type":"array","title":"Types","default":[]},"distance_m":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Distance M"}},"type":"object","required":["place_id","name"],"title":"PlaceResult"},"PlaybookResponse":{"properties":{"id":{"type":"string","title":"Id"},"slug":{"type":"string","title":"Slug"},"source":{"type":"string","title":"Source"},"kind":{"type":"string","title":"Kind"},"playbook_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook Type"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"trigger_type":{"type":"string","title":"Trigger Type"},"display_trigger":{"type":"string","title":"Display Trigger"},"trigger_conditions":{"additionalProperties":true,"type":"object","title":"Trigger Conditions"},"steps":{"items":{"$ref":"#/components/schemas/PlaybookStepResponse"},"type":"array","title":"Steps"},"is_active":{"type":"boolean","title":"Is Active"},"run_count":{"type":"integer","title":"Run Count"},"last_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"is_editable":{"type":"boolean","title":"Is Editable"},"can_delete":{"type":"boolean","title":"Can Delete"}},"type":"object","required":["id","slug","source","kind","name","trigger_type","display_trigger","steps","is_active","run_count","is_editable","can_delete"],"title":"PlaybookResponse"},"PlaybookRunResponse":{"properties":{"id":{"type":"string","title":"Id"},"playbook_id":{"type":"string","title":"Playbook Id"},"playbook_name":{"type":"string","title":"Playbook Name"},"playbook_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook Slug"},"playbook_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook Type"},"playbook_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Playbook Source"},"trigger_data":{"additionalProperties":true,"type":"object","title":"Trigger Data"},"status":{"type":"string","title":"Status"},"current_step":{"type":"integer","title":"Current Step"},"steps_completed":{"type":"integer","title":"Steps Completed"},"steps_total":{"type":"integer","title":"Steps Total"},"results":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Results"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","playbook_id","playbook_name","status","current_step","steps_completed","steps_total"],"title":"PlaybookRunResponse"},"PlaybookStep":{"properties":{"action":{"type":"string","title":"Action"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"delay_minutes":{"type":"integer","title":"Delay Minutes","default":0}},"type":"object","required":["action"],"title":"PlaybookStep"},"PlaybookStepInput":{"properties":{"action":{"type":"string","title":"Action"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"delay_minutes":{"type":"integer","title":"Delay Minutes","default":0}},"type":"object","required":["action"],"title":"PlaybookStepInput"},"PlaybookStepResponse":{"properties":{"key":{"type":"string","title":"Key"},"label":{"type":"string","title":"Label"},"action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"},"params":{"additionalProperties":true,"type":"object","title":"Params"},"requires_approval":{"type":"boolean","title":"Requires Approval","default":false},"delay_minutes":{"type":"integer","title":"Delay Minutes","default":0}},"type":"object","required":["key","label"],"title":"PlaybookStepResponse"},"PortalLinkResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"portal_token":{"type":"string","title":"Portal Token"},"url":{"type":"string","title":"Url"},"created":{"type":"boolean","title":"Created"}},"type":"object","required":["deal_id","portal_token","url","created"],"title":"PortalLinkResponse"},"PortalRequest":{"properties":{"return_url":{"type":"string","title":"Return Url"}},"type":"object","required":["return_url"],"title":"PortalRequest","description":"Schema for creating a Stripe billing portal session."},"PostRequest":{"properties":{"text":{"type":"string","title":"Text","default":""},"images":{"items":{"type":"string"},"type":"array","title":"Images","description":"Remote image URLs"},"platforms":{"items":{"type":"string","enum":["facebook","instagram"]},"type":"array","title":"Platforms"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"instagram_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram User Id"}},"type":"object","title":"PostRequest"},"PreListingRequest":{"properties":{"property_address":{"type":"string","title":"Property Address"},"property_type":{"type":"string","title":"Property Type","default":"single_family"},"bedrooms":{"type":"integer","title":"Bedrooms","default":3},"bathrooms":{"type":"number","title":"Bathrooms","default":2.0},"sqft":{"type":"integer","title":"Sqft","default":1800},"year_built":{"type":"integer","title":"Year Built","default":2000},"estimated_value":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Estimated Value"},"seller_motivation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Motivation"},"special_features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Special Features"}},"type":"object","required":["property_address"],"title":"PreListingRequest"},"PredictRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"offer_price":{"type":"integer","title":"Offer Price"}},"type":"object","required":["deal_id","offer_price"],"title":"PredictRequest"},"PreferencesResponse":{"properties":{"preferences":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Preferences"},"categories":{"additionalProperties":{"type":"string"},"type":"object","title":"Categories"}},"type":"object","required":["preferences","categories"],"title":"PreferencesResponse"},"PreferencesUpdate":{"properties":{"preferences":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Preferences"}},"type":"object","required":["preferences"],"title":"PreferencesUpdate"},"PrepareAndSendRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"signers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Signers"},"overrides":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Overrides"}},"type":"object","required":["deal_id","signers"],"title":"PrepareAndSendRequest"},"PresentationGenerateRequest":{"properties":{"address":{"type":"string","title":"Address"},"include_sections":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Include Sections"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["address"],"title":"PresentationGenerateRequest"},"PresentationRequest":{"properties":{"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"agent_recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Recommendation"}},"type":"object","title":"PresentationRequest"},"PresignRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"filename":{"type":"string","title":"Filename"},"content_type":{"type":"string","title":"Content Type","default":"application/octet-stream"}},"type":"object","required":["deal_id","filename"],"title":"PresignRequest"},"PresignUploadRequest":{"properties":{"filename":{"type":"string","maxLength":500,"minLength":1,"title":"Filename"},"content_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Type"}},"type":"object","required":["filename"],"title":"PresignUploadRequest"},"PresignUploadResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"key":{"type":"string","title":"Key"},"content_type":{"type":"string","title":"Content Type"}},"type":"object","required":["upload_url","key","content_type"],"title":"PresignUploadResponse"},"PreviewRequest":{"properties":{"sample_data":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Sample Data","description":"Optional sample values. Unmapped fields get placeholder text."}},"type":"object","title":"PreviewRequest","description":"Request to preview a template with sample data."},"PreviewResponse":{"properties":{"template_id":{"type":"string","title":"Template Id"},"preview_url":{"type":"string","title":"Preview Url"},"viewer_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewer Token"},"resolved_fields":{"additionalProperties":{"type":"string"},"type":"object","title":"Resolved Fields"}},"type":"object","required":["template_id","preview_url","viewer_token","resolved_fields"],"title":"PreviewResponse"},"PriceReductionRequest":{"properties":{"new_price":{"type":"integer","title":"New Price"}},"type":"object","required":["new_price"],"title":"PriceReductionRequest"},"ProactiveAgentListResponse":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/ProactiveAgentOut"},"type":"array","title":"Agents"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["agents","count"],"title":"ProactiveAgentListResponse"},"ProactiveAgentOut":{"properties":{"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"description":{"type":"string","title":"Description"},"schedule":{"type":"string","title":"Schedule"},"tool_access":{"items":{"type":"string"},"type":"array","title":"Tool Access"},"output_type":{"type":"string","title":"Output Type"},"icon":{"type":"string","title":"Icon"},"default_enabled":{"type":"boolean","title":"Default Enabled"},"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"schedule_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Override"},"effective_schedule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Effective Schedule"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"}},"type":"object","required":["name","slug","description","schedule","tool_access","output_type","icon","default_enabled"],"title":"ProactiveAgentOut"},"ProactiveAgentUpdateRequest":{"properties":{"enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Enabled"},"schedule":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule","description":"Cron expression override (e.g. '0 6 * * *'). Null to reset to default."}},"type":"object","title":"ProactiveAgentUpdateRequest"},"ProactiveAgentUpdateResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"enabled":{"type":"boolean","title":"Enabled"},"schedule_override":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schedule Override"},"effective_schedule":{"type":"string","title":"Effective Schedule"}},"type":"object","required":["slug","enabled","effective_schedule"],"title":"ProactiveAgentUpdateResponse"},"ProactiveRunOut":{"properties":{"id":{"type":"string","title":"Id"},"agent_slug":{"type":"string","title":"Agent Slug"},"status":{"type":"string","title":"Status"},"output_type":{"type":"string","title":"Output Type"},"model_used":{"type":"string","title":"Model Used","default":""},"tokens_used":{"type":"integer","title":"Tokens Used","default":0},"cost_cents":{"type":"number","title":"Cost Cents","default":0.0},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"},"started_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Started At"},"completed_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Completed At"},"content":{"type":"string","title":"Content","default":""}},"type":"object","required":["id","agent_slug","status","output_type"],"title":"ProactiveRunOut"},"ProfileUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"photo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"}},"type":"object","title":"ProfileUpdate"},"ProjectionResponse":{"properties":{"year":{"type":"integer","title":"Year"},"earned_ytd_cents":{"type":"integer","title":"Earned Ytd Cents"},"pending_cents":{"type":"integer","title":"Pending Cents"},"projected_annual_cents":{"type":"integer","title":"Projected Annual Cents"},"monthly_pace_cents":{"type":"integer","title":"Monthly Pace Cents"},"transactions_ytd":{"type":"integer","title":"Transactions Ytd"},"days_elapsed":{"type":"integer","title":"Days Elapsed"}},"type":"object","required":["year","earned_ytd_cents","pending_cents","projected_annual_cents","monthly_pace_cents","transactions_ytd","days_elapsed"],"title":"ProjectionResponse"},"PropertyInquiryRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"time_on_page_seconds":{"anyOf":[{"type":"integer","maximum":86400.0,"minimum":0.0},{"type":"null"}],"title":"Time On Page Seconds"}},"type":"object","required":["name","email"],"title":"PropertyInquiryRequest"},"PropertyIntelligenceReport":{"properties":{"address":{"type":"string","title":"Address"},"flood":{"anyOf":[{"$ref":"#/components/schemas/FloodZoneResult"},{"type":"null"}]},"demographics":{"anyOf":[{"$ref":"#/components/schemas/DemographicsResult"},{"type":"null"}]},"validated_address":{"anyOf":[{"$ref":"#/components/schemas/ValidatedAddress"},{"type":"null"}]},"nearby_places":{"items":{"$ref":"#/components/schemas/PlaceResult"},"type":"array","title":"Nearby Places","default":[]},"errors":{"additionalProperties":{"type":"string"},"type":"object","title":"Errors"}},"type":"object","required":["address"],"title":"PropertyIntelligenceReport"},"PropertyPageGenerateRequest":{"properties":{"listing_id":{"type":"string","title":"Listing Id"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"theme":{"type":"string","pattern":"^(modern|classic|luxury)$","title":"Theme","default":"modern"},"video_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Video Url"},"headline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headline"},"cta_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cta Text","default":"Schedule a private tour"}},"type":"object","required":["listing_id"],"title":"PropertyPageGenerateRequest"},"ProvisionNumberRequest":{"properties":{"area_code":{"type":"string","maxLength":3,"minLength":3,"pattern":"^\\d{3}$","title":"Area Code"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"limit":{"type":"integer","maximum":25.0,"minimum":1.0,"title":"Limit","default":10},"friendly_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Friendly Name"},"greeting_script":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Script"}},"type":"object","required":["area_code"],"title":"ProvisionNumberRequest"},"PublicContactRequest":{"properties":{"agent_slug":{"type":"string","title":"Agent Slug"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"property_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"source":{"type":"string","title":"Source","default":"website"}},"type":"object","required":["agent_slug"],"title":"PublicContactRequest"},"PublicShowingRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"listing_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Address"},"buyer_name":{"type":"string","title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_agent_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Phone"},"showing_date":{"type":"string","format":"date","title":"Showing Date"},"start_time":{"type":"string","format":"time","title":"Start Time"},"duration_minutes":{"type":"integer","title":"Duration Minutes","default":30},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["agent_id","buyer_name","showing_date","start_time"],"title":"PublicShowingRequest"},"PublicSignInRequest":{"properties":{"name":{"type":"string","title":"Name"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"working_with_agent":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Working With Agent"},"agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Name"},"financing_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financing Status"},"interested_in_similar_properties":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Interested In Similar Properties"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["name"],"title":"PublicSignInRequest"},"PublishRequest":{"properties":{"text":{"type":"string","title":"Text"},"platforms":{"anyOf":[{"items":{"type":"string","enum":["facebook","instagram","linkedin","tiktok"]},"type":"array"},{"type":"null"}],"title":"Platforms"},"image_urls":{"items":{"type":"string"},"type":"array","title":"Image Urls"},"article_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Article Url"}},"type":"object","required":["text"],"title":"PublishRequest"},"PushSettingsRequest":{"properties":{"push_enabled":{"type":"boolean","title":"Push Enabled"}},"type":"object","required":["push_enabled"],"title":"PushSettingsRequest"},"PushStatusResponse":{"properties":{"status":{"type":"string","title":"Status","default":"ok"},"push_enabled":{"type":"boolean","title":"Push Enabled"},"push_tokens_count":{"type":"integer","title":"Push Tokens Count"},"has_registered_token":{"type":"boolean","title":"Has Registered Token"}},"type":"object","required":["push_enabled","push_tokens_count","has_registered_token"],"title":"PushStatusResponse"},"QueueResult":{"properties":{"processed":{"type":"integer","title":"Processed"},"sent":{"type":"integer","title":"Sent"},"skipped":{"type":"integer","title":"Skipped"},"failed":{"type":"integer","title":"Failed"}},"type":"object","required":["processed","sent","skipped","failed"],"title":"QueueResult"},"QuickValuationRequest":{"properties":{"address":{"type":"string","title":"Address"},"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"property_type":{"type":"string","title":"Property Type","default":"sfr"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"}},"type":"object","required":["address","city","state"],"title":"QuickValuationRequest"},"RSVPRequest":{"properties":{"status":{"type":"string","title":"Status","default":"attending"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"RSVPRequest"},"RateRequest":{"properties":{"rating":{"type":"integer","title":"Rating"},"review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review"},"role":{"type":"string","title":"Role"}},"type":"object","required":["rating","role"],"title":"RateRequest"},"RateTaskRequest":{"properties":{"rating":{"type":"number","maximum":5.0,"minimum":1.0,"title":"Rating"}},"type":"object","required":["rating"],"title":"RateTaskRequest"},"RateVendorRequest":{"properties":{"rating":{"type":"integer","title":"Rating"},"review":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review"}},"type":"object","required":["rating"],"title":"RateVendorRequest"},"ReactRequest":{"properties":{"reaction_type":{"type":"string","title":"Reaction Type"},"comment_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment Text"},"parent_reaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Reaction Id"}},"type":"object","required":["reaction_type"],"title":"ReactRequest"},"ReactionRequest":{"properties":{"emoji":{"type":"string","title":"Emoji"}},"type":"object","required":["emoji"],"title":"ReactionRequest"},"RecordEventBody":{"properties":{"variant":{"type":"string","title":"Variant"},"event_type":{"type":"string","title":"Event Type"}},"type":"object","required":["variant","event_type"],"title":"RecordEventBody"},"RecordingCreate":{"properties":{"call_sid":{"type":"string","title":"Call Sid"},"recording_url":{"type":"string","title":"Recording Url"},"duration_seconds":{"type":"integer","title":"Duration Seconds","default":0},"transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},"type":"object","required":["call_sid","recording_url"],"title":"RecordingCreate"},"RedlineFieldItem":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"line_item_id":{"type":"string","title":"Line Item Id"},"original_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Text"},"suggested_text":{"type":"string","title":"Suggested Text"},"reason":{"type":"string","title":"Reason"},"severity":{"anyOf":[{"type":"string","enum":["low","medium","high","critical"]},{"type":"string"}],"title":"Severity","default":"medium"},"accepted":{"type":"boolean","title":"Accepted","default":false},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"}},"type":"object","required":["line_item_id","suggested_text","reason"],"title":"RedlineFieldItem"},"RedlineResponse":{"properties":{"contract_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contract Id"},"marked_up_fields":{"items":{"$ref":"#/components/schemas/RedlineFieldItem"},"type":"array","title":"Marked Up Fields"}},"type":"object","title":"RedlineResponse"},"ReferralCreate":{"properties":{"receiving_agent_id":{"type":"string","title":"Receiving Agent Id"},"client_name":{"type":"string","maxLength":255,"minLength":1,"title":"Client Name"},"client_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Client Email"},"client_phone":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Client Phone"},"property_type":{"anyOf":[{"type":"string","maxLength":50},{"type":"null"}],"title":"Property Type"},"location":{"type":"string","maxLength":255,"minLength":1,"title":"Location"},"budget_range":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Budget Range"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"referral_fee_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Referral Fee Percent","default":"25.00"}},"type":"object","required":["receiving_agent_id","client_name","location"],"title":"ReferralCreate"},"ReferralRequest":{"properties":{"message":{"type":"string","title":"Message"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},"type":"object","required":["message"],"title":"ReferralRequest"},"ReferralResponse":{"properties":{"id":{"type":"string","title":"Id"},"referring_agent_id":{"type":"string","title":"Referring Agent Id"},"receiving_agent_id":{"type":"string","title":"Receiving Agent Id"},"referring_agent":{"anyOf":[{"$ref":"#/components/schemas/AgentSummary"},{"type":"null"}]},"receiving_agent":{"anyOf":[{"$ref":"#/components/schemas/AgentSummary"},{"type":"null"}]},"client_name":{"type":"string","title":"Client Name"},"client_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Email"},"client_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Phone"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"location":{"type":"string","title":"Location"},"budget_range":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Budget Range"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"status":{"type":"string","title":"Status"},"referral_fee_percent":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Referral Fee Percent"},"commission_amount":{"anyOf":[{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission Amount"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"rejected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rejected At"},"closed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Closed At"},"expired_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expired At"}},"type":"object","required":["id","referring_agent_id","receiving_agent_id","referring_agent","receiving_agent","client_name","client_email","client_phone","property_type","location","budget_range","notes","status","referral_fee_percent","commission_amount","created_at","updated_at","accepted_at","rejected_at","closed_at","expired_at"],"title":"ReferralResponse"},"ReferralScoreRequest":{"properties":{"contact":{"additionalProperties":true,"type":"object","title":"Contact"}},"type":"object","required":["contact"],"title":"ReferralScoreRequest"},"ReferralStats":{"properties":{"total_sent":{"type":"integer","title":"Total Sent"},"total_received":{"type":"integer","title":"Total Received"},"active_sent":{"type":"integer","title":"Active Sent"},"active_received":{"type":"integer","title":"Active Received"},"closed_sent":{"type":"integer","title":"Closed Sent"},"closed_received":{"type":"integer","title":"Closed Received"},"total_revenue_earned":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Revenue Earned"},"total_revenue_paid":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Revenue Paid"}},"type":"object","required":["total_sent","total_received","active_sent","active_received","closed_sent","closed_received","total_revenue_earned","total_revenue_paid"],"title":"ReferralStats"},"ReferralUpdate":{"properties":{"status":{"anyOf":[{"type":"string","pattern":"^(pending|accepted|rejected|closed|expired)$"},{"type":"null"}],"title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"commission_amount":{"anyOf":[{"type":"number","minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Commission Amount"},"referral_fee_percent":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"},{"type":"null"}],"title":"Referral Fee Percent"}},"type":"object","title":"ReferralUpdate"},"RefreshRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token"}},"type":"object","required":["refresh_token"],"title":"RefreshRequest"},"RegisterLicenseRequest":{"properties":{"license_number":{"type":"string","title":"License Number"},"state":{"type":"string","title":"State"},"license_type":{"type":"string","title":"License Type","default":"salesperson"},"expiration_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expiration Date"},"is_primary":{"type":"boolean","title":"Is Primary","default":true}},"type":"object","required":["license_number","state"],"title":"RegisterLicenseRequest"},"RegisterPushTokenRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"RegisterPushTokenRequest"},"RegisterTokenRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"RegisterTokenRequest"},"ReleaseEscrowRequest":{"properties":{"tx_hash":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tx Hash"}},"type":"object","title":"ReleaseEscrowRequest"},"ReleaseNumberRequest":{"properties":{"confirm":{"type":"boolean","title":"Confirm","default":true}},"type":"object","title":"ReleaseNumberRequest"},"RequestDocumentsRequest":{"properties":{"document_types":{"items":{"type":"string"},"type":"array","title":"Document Types"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"}},"type":"object","required":["document_types"],"title":"RequestDocumentsRequest"},"RequirementResponse":{"properties":{"id":{"type":"string","title":"Id"},"state":{"type":"string","title":"State"},"deal_type":{"type":"string","title":"Deal Type"},"property_type":{"type":"string","title":"Property Type"},"requirement_name":{"type":"string","title":"Requirement Name"},"description":{"type":"string","title":"Description"},"document_category":{"type":"string","title":"Document Category"},"deadline_rule":{"additionalProperties":true,"type":"object","title":"Deadline Rule"},"is_mandatory":{"type":"boolean","title":"Is Mandatory"},"penalty_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Penalty Description"},"statute_reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Statute Reference"}},"type":"object","required":["id","state","deal_type","property_type","requirement_name","description","document_category","deadline_rule","is_mandatory"],"title":"RequirementResponse"},"RequirementsListResponse":{"properties":{"requirements":{"items":{"$ref":"#/components/schemas/RequirementResponse"},"type":"array","title":"Requirements"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["requirements","total"],"title":"RequirementsListResponse"},"ResendVerificationRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ResendVerificationRequest"},"ResetPasswordRequest":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["token","new_password"],"title":"ResetPasswordRequest"},"RespondRequest":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"channel":{"type":"string","title":"Channel","default":"email"}},"type":"object","required":["contact_id"],"title":"RespondRequest"},"RevenueMove":{"properties":{"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"potential_value_cents":{"type":"integer","title":"Potential Value Cents"},"action":{"type":"string","title":"Action"}},"type":"object","required":["title","description","potential_value_cents","action"],"title":"RevenueMove"},"ReviewItemResponse":{"properties":{"id":{"type":"string","title":"Id"},"action_type":{"type":"string","title":"Action Type"},"channel":{"type":"string","title":"Channel"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"draft_body":{"type":"string","title":"Draft Body"},"ai_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Reasoning"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"contact_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Name"},"contact_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Email"},"contact_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Phone"},"property_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Address"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"priority":{"type":"integer","title":"Priority"},"suggested_send_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Suggested Send At"},"snoozed_until":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snoozed Until"},"status":{"type":"string","title":"Status"},"trigger":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger"},"created_at":{"type":"string","title":"Created At"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["id","action_type","channel","subject","draft_body","ai_reasoning","contact_id","contact_name","contact_email","contact_phone","property_address","deal_id","priority","suggested_send_at","snoozed_until","status","trigger","created_at","metadata"],"title":"ReviewItemResponse"},"ReviewQueueResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ReviewItemResponse"},"type":"array","title":"Items"},"count":{"type":"integer","title":"Count"},"pending_count":{"type":"integer","title":"Pending Count"}},"type":"object","required":["items","count","pending_count"],"title":"ReviewQueueResponse"},"ReviewRequest":{"properties":{"rating":{"type":"integer","title":"Rating"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"referral_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Id"}},"type":"object","required":["rating","title","body"],"title":"ReviewRequest"},"RiskAlert":{"properties":{"severity":{"type":"string","title":"Severity"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"mitigation":{"type":"string","title":"Mitigation"}},"type":"object","required":["severity","title","description","mitigation"],"title":"RiskAlert"},"RolePlayRequest":{"properties":{"message":{"type":"string","title":"Message"},"conversation_history":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Conversation History","default":[]}},"type":"object","required":["message"],"title":"RolePlayRequest"},"RoleUpdateResponse":{"properties":{"status":{"type":"string","title":"Status","default":"updated"},"agent_id":{"type":"string","title":"Agent Id"},"new_role":{"type":"string","title":"New Role"}},"type":"object","required":["agent_id","new_role"],"title":"RoleUpdateResponse"},"RouteRequest":{"properties":{"lead_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Lead Ids"}},"type":"object","title":"RouteRequest"},"RoutingConfig":{"properties":{"timezone":{"type":"string","title":"Timezone","default":"America/Chicago"},"business_hours":{"additionalProperties":{"$ref":"#/components/schemas/TimeWindow"},"type":"object","title":"Business Hours"},"fallback_behavior":{"type":"string","enum":["ai","voicemail","ring_agent"],"title":"Fallback Behavior","default":"ai"},"rings_before_ai":{"type":"integer","maximum":12.0,"minimum":1.0,"title":"Rings Before Ai","default":4},"vip_contact_ids":{"items":{"type":"string"},"type":"array","title":"Vip Contact Ids"},"team_member_ids":{"items":{"type":"string"},"type":"array","title":"Team Member Ids"}},"type":"object","title":"RoutingConfig"},"RoutingConfigResponse":{"properties":{"config":{"$ref":"#/components/schemas/RoutingConfig"}},"type":"object","required":["config"],"title":"RoutingConfigResponse"},"RoutingConfigUpdateRequest":{"properties":{"config":{"$ref":"#/components/schemas/RoutingConfig"}},"type":"object","required":["config"],"title":"RoutingConfigUpdateRequest"},"RoutingDecisionResponse":{"properties":{"action":{"type":"string","enum":["ring_agent","ring_team_member","ai_answer","ai_qualify_then_transfer","voicemail"],"title":"Action"},"reason":{"type":"string","title":"Reason"},"ring_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ring Number"},"ring_sequence":{"items":{"type":"string"},"type":"array","title":"Ring Sequence"},"ai_fallback_after_rings":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Fallback After Rings"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["action","reason"],"title":"RoutingDecisionResponse"},"RoutingRuleCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"strategy":{"type":"string","title":"Strategy","default":"round_robin"},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Conditions"},"target_agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Target Agent Ids"},"sla_response_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sla Response Minutes"},"max_active_leads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Active Leads"},"priority":{"type":"integer","title":"Priority","default":0}},"type":"object","required":["name"],"title":"RoutingRuleCreate"},"RoutingRuleUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"strategy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy"},"conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Conditions"},"target_agent_ids":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Target Agent Ids"},"sla_response_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sla Response Minutes"},"max_active_leads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Active Leads"},"priority":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priority"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"RoutingRuleUpdate"},"RunHistoryResponse":{"properties":{"runs":{"items":{"$ref":"#/components/schemas/ProactiveRunOut"},"type":"array","title":"Runs"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["runs","count"],"title":"RunHistoryResponse"},"RunTriggerResponse":{"properties":{"ok":{"type":"boolean","title":"Ok"},"run":{"anyOf":[{"$ref":"#/components/schemas/ProactiveRunOut"},{"type":"null"}]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["ok"],"title":"RunTriggerResponse"},"SMSCampaignPayload":{"properties":{"contact_ids":{"items":{"type":"string"},"type":"array","title":"Contact Ids"},"template_type":{"type":"string","title":"Template Type","default":"just_listed"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["contact_ids"],"title":"SMSCampaignPayload"},"SMSConversationItem":{"properties":{"id":{"type":"string","title":"Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"phone_number":{"type":"string","title":"Phone Number"},"ai_handled":{"type":"boolean","title":"Ai Handled"},"handed_off_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Handed Off At"},"status":{"type":"string","enum":["active","paused","closed"],"title":"Status"},"messages":{"items":{"$ref":"#/components/schemas/SMSMessage"},"type":"array","title":"Messages"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","phone_number","ai_handled","status","created_at","updated_at"],"title":"SMSConversationItem"},"SMSConversationListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SMSConversationItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"SMSConversationListResponse"},"SMSHandoffRequest":{"properties":{"ai_handled":{"type":"boolean","title":"Ai Handled"}},"type":"object","required":["ai_handled"],"title":"SMSHandoffRequest"},"SMSHandoffResponse":{"properties":{"updated":{"type":"boolean","title":"Updated"},"conversation":{"$ref":"#/components/schemas/SMSConversationItem"}},"type":"object","required":["updated","conversation"],"title":"SMSHandoffResponse"},"SMSMessage":{"properties":{"role":{"type":"string","enum":["agent","contact","ai","system"],"title":"Role"},"content":{"type":"string","title":"Content"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["role","content","timestamp"],"title":"SMSMessage"},"SMSReplyPayload":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"phone_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone Number"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"ai_assist":{"type":"boolean","title":"Ai Assist","default":false}},"type":"object","title":"SMSReplyPayload"},"SMSReplyRequest":{"properties":{"message":{"type":"string","maxLength":2000,"minLength":1,"title":"Message"}},"type":"object","required":["message"],"title":"SMSReplyRequest"},"SMSReplyResponse":{"properties":{"sent":{"type":"boolean","title":"Sent"},"conversation":{"$ref":"#/components/schemas/SMSConversationItem"}},"type":"object","required":["sent","conversation"],"title":"SMSReplyResponse"},"SOIAnalyzeRequest":{"properties":{"contacts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Contacts"}},"type":"object","required":["contacts"],"title":"SOIAnalyzeRequest"},"ScanSignInRequest":{"properties":{"image_base64":{"type":"string","title":"Image Base64"},"open_house_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Open House Id"}},"type":"object","required":["image_base64"],"title":"ScanSignInRequest","description":"Upload a base64-encoded image of a paper sign-in sheet."},"ScanSignInResponse":{"properties":{"contacts":{"items":{"$ref":"#/components/schemas/ScannedContactOut"},"type":"array","title":"Contacts"},"total_extracted":{"type":"integer","title":"Total Extracted"}},"type":"object","required":["contacts","total_extracted"],"title":"ScanSignInResponse","description":"Response from scanning a sign-in sheet."},"ScanUpload":{"properties":{"image_url":{"type":"string","title":"Image Url"},"source_type":{"type":"string","title":"Source Type","default":"camera"},"event_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Label"}},"type":"object","required":["image_url"],"title":"ScanUpload","description":"Schema for uploading a scanned sign-in sheet."},"ScannedContactOut":{"properties":{"name":{"type":"string","title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"phone_e164":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone E164"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"row_index":{"type":"integer","title":"Row Index","default":0},"name_confidence":{"type":"string","title":"Name Confidence","default":"medium"},"email_confidence":{"type":"string","title":"Email Confidence","default":"medium"},"phone_confidence":{"type":"string","title":"Phone Confidence","default":"medium"},"agent_confidence":{"type":"string","title":"Agent Confidence","default":"high"},"overall_confidence":{"type":"number","title":"Overall Confidence","default":0.5}},"type":"object","required":["name"],"title":"ScannedContactOut","description":"A single contact extracted from the sign-in sheet."},"ScenarioResponse":{"properties":{"type":{"type":"string","title":"Type"},"changes":{"additionalProperties":true,"type":"object","title":"Changes"},"original":{"additionalProperties":true,"type":"object","title":"Original"},"description":{"type":"string","title":"Description"},"confidence":{"type":"number","title":"Confidence"}},"type":"object","required":["type","changes","original","description","confidence"],"title":"ScenarioResponse"},"ScheduleShowingRequest":{"properties":{"property_address":{"type":"string","title":"Property Address"},"showing_date":{"type":"string","title":"Showing Date"},"start_time":{"type":"string","title":"Start Time"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["property_address","showing_date","start_time"],"title":"ScheduleShowingRequest"},"ScheduleWeeklyRequest":{"properties":{"platforms":{"anyOf":[{"items":{"type":"string","enum":["facebook","instagram","linkedin","tiktok"]},"type":"array"},{"type":"null"}],"title":"Platforms"},"start_day":{"type":"string","title":"Start Day","default":"Monday"}},"type":"object","title":"ScheduleWeeklyRequest"},"ScheduledEmailItem":{"properties":{"id":{"type":"string","title":"Id"},"email_type":{"type":"string","title":"Email Type"},"scheduled_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scheduled For"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","email_type","scheduled_for","status"],"title":"ScheduledEmailItem"},"SellerAuthRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"SellerAuthRequest"},"SellerAuthResponse":{"properties":{"authenticated":{"type":"boolean","title":"Authenticated"},"listing_id":{"type":"string","title":"Listing Id"},"seller_email":{"type":"string","title":"Seller Email"},"seller_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Name"},"expires_at":{"type":"string","title":"Expires At"}},"type":"object","required":["authenticated","listing_id","seller_email","seller_name","expires_at"],"title":"SellerAuthResponse"},"SellerPortalTokenResponse":{"properties":{"id":{"type":"string","title":"Id"},"listing_id":{"type":"string","title":"Listing Id"},"seller_email":{"type":"string","title":"Seller Email"},"seller_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Name"},"token":{"type":"string","title":"Token"},"expires_at":{"type":"string","title":"Expires At"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","title":"Created At"}},"type":"object","required":["id","listing_id","seller_email","seller_name","token","expires_at","is_active","created_at"],"title":"SellerPortalTokenResponse"},"SendCampaignRequest":{"properties":{"contact_ids":{"items":{"type":"string"},"type":"array","title":"Contact Ids"}},"type":"object","required":["contact_ids"],"title":"SendCampaignRequest"},"SendDockMessageActionRequest":{"properties":{"text":{"type":"string","maxLength":8000,"minLength":1,"title":"Text"},"context_deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Deal Id"},"context_contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Contact Id"},"context_listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Listing Id"},"context_entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Entity Id"},"context_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Type"},"context_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Title"},"context_subtitle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Subtitle"},"context_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Context Summary"}},"type":"object","required":["text"],"title":"SendDockMessageActionRequest"},"SendEmailPayload":{"properties":{"to":{"type":"string","title":"To"},"subject":{"type":"string","title":"Subject"},"body":{"type":"string","title":"Body"},"cc":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cc"},"html":{"type":"boolean","title":"Html","default":false},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"},"in_reply_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"In Reply To"}},"type":"object","required":["to","subject","body"],"title":"SendEmailPayload"},"SendForSignature":{"properties":{"signers":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Signers"}},"type":"object","required":["signers"],"title":"SendForSignature"},"SendPayload":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"channel":{"type":"string","title":"Channel"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"template_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Key"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["contact_id","channel"],"title":"SendPayload"},"SendPreviewPayload":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"channel":{"type":"string","title":"Channel"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"template_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Key"}},"type":"object","required":["contact_id","channel"],"title":"SendPreviewPayload"},"SendSmsCampaignRequest":{"properties":{"contact_ids":{"items":{"type":"string"},"type":"array","title":"Contact Ids"}},"type":"object","required":["contact_ids"],"title":"SendSmsCampaignRequest"},"SessionRequest":{"properties":{"document_id":{"type":"string","title":"Document Id"},"mode":{"type":"string","title":"Mode","default":"full"},"user_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Name"}},"type":"object","required":["document_id"],"title":"SessionRequest"},"SessionResponse":{"properties":{"token":{"type":"string","title":"Token"},"document_id":{"type":"string","title":"Document Id"},"nutrient_document_id":{"type":"string","title":"Nutrient Document Id","default":""},"mode":{"type":"string","title":"Mode"},"server_url":{"type":"string","title":"Server Url","default":""},"cdn_url":{"type":"string","title":"Cdn Url","default":"https://cdn.cloud.nutrient.io/pspdfkit-web@1.12.0/nutrient-viewer.js"}},"type":"object","required":["token","document_id","mode"],"title":"SessionResponse"},"ShareLinkRequest":{"properties":{"expires_seconds":{"type":"integer","maximum":604800.0,"minimum":60.0,"title":"Expires Seconds","default":3600}},"type":"object","title":"ShareLinkRequest"},"ShareLinkResponse":{"properties":{"document_id":{"type":"string","title":"Document Id"},"url":{"type":"string","title":"Url"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["document_id","url","expires_at"],"title":"ShareLinkResponse"},"ShareListingRequest":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"}},"type":"object","required":["title"],"title":"ShareListingRequest"},"ShowingCreate":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"listing_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Address"},"buyer_name":{"type":"string","title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_agent_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Phone"},"showing_date":{"type":"string","format":"date","title":"Showing Date"},"start_time":{"type":"string","format":"time","title":"Start Time"},"duration_minutes":{"type":"integer","title":"Duration Minutes","default":30},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"source":{"type":"string","title":"Source","default":"manual"}},"type":"object","required":["buyer_name","showing_date","start_time"],"title":"ShowingCreate"},"ShowingTimePullBody":{"properties":{"start_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"}},"type":"object","title":"ShowingTimePullBody"},"ShowingTimePushBody":{"properties":{"showing_id":{"type":"string","title":"Showing Id"}},"type":"object","required":["showing_id"],"title":"ShowingTimePushBody"},"ShowingUpdate":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"listing_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Address"},"buyer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"buyer_agent_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Name"},"buyer_agent_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Email"},"buyer_agent_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Agent Phone"},"showing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Showing Date"},"start_time":{"anyOf":[{"type":"string","format":"time"},{"type":"null"}],"title":"Start Time"},"duration_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Duration Minutes"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"ShowingUpdate"},"SignRequestCreateRequest":{"properties":{"template_id":{"type":"string","title":"Template Id"},"title":{"type":"string","maxLength":300,"minLength":1,"title":"Title"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"signers":{"items":{"$ref":"#/components/schemas/SignerCreateSchema"},"type":"array","minItems":1,"title":"Signers"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"expires_in_days":{"anyOf":[{"type":"integer","maximum":365.0,"minimum":1.0},{"type":"null"}],"title":"Expires In Days"},"reminder_interval_hours":{"anyOf":[{"type":"integer","maximum":168.0,"minimum":1.0},{"type":"null"}],"title":"Reminder Interval Hours"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"}},"type":"object","required":["template_id","title","signers"],"title":"SignRequestCreateRequest"},"SignatureUploadRequest":{"properties":{"template_field_id":{"type":"string","title":"Template Field Id"},"image_data":{"type":"string","title":"Image Data","description":"Base64-encoded PNG/JPEG signature or initials image"},"field_type":{"type":"string","title":"Field Type","description":"signature | initials","default":"signature"}},"type":"object","required":["template_field_id","image_data"],"title":"SignatureUploadRequest","description":"Upload signature or initials as base64-encoded image."},"SignerCreateSchema":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"role":{"type":"string","title":"Role","description":"buyer | seller | agent | broker | other"},"signing_order":{"type":"integer","minimum":1.0,"title":"Signing Order","default":1}},"type":"object","required":["name","email","role"],"title":"SignerCreateSchema","description":"A signer to add to a sign request."},"SignupRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"},"name":{"type":"string","title":"Name"},"license_state":{"type":"string","title":"License State"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"brokerage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name"},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"referral_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referral Code"}},"type":"object","required":["email","password","name","license_state"],"title":"SignupRequest"},"SiteAIGenerate":{"properties":{"prompt":{"type":"string","maxLength":2000,"title":"Prompt"},"style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Style","default":"professional"},"include_sections":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Include Sections"}},"type":"object","required":["prompt"],"title":"SiteAIGenerate"},"SiteCreate":{"properties":{"title":{"type":"string","maxLength":200,"title":"Title"},"template":{"type":"string","title":"Template","default":"blank"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"ai_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Prompt"}},"type":"object","required":["title"],"title":"SiteCreate"},"SiteUpdate":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template"},"content_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Html"},"content_json":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Content Json"},"css_overrides":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Css Overrides"},"seo_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Title"},"seo_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seo Description"},"og_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Og Image Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Color"},"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"},"font_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Font Family"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"hero_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hero Image Url"},"capture_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Capture Enabled"},"capture_fields":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Capture Fields"},"capture_cta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Capture Cta"},"auto_drip_campaign_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auto Drip Campaign Id"}},"type":"object","title":"SiteUpdate"},"SmartListCreate":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"rules":{"items":{"$ref":"#/components/schemas/SmartListRule"},"type":"array","title":"Rules"},"match_type":{"type":"string","title":"Match Type","default":"all"}},"type":"object","required":["name","rules"],"title":"SmartListCreate"},"SmartListRule":{"properties":{"field":{"type":"string","title":"Field"},"operator":{"type":"string","title":"Operator"},"value":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"items":{},"type":"array"},{"type":"null"}],"title":"Value"}},"type":"object","required":["field","operator"],"title":"SmartListRule"},"SmartListUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"rules":{"anyOf":[{"items":{"$ref":"#/components/schemas/SmartListRule"},"type":"array"},{"type":"null"}],"title":"Rules"},"match_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Match Type"}},"type":"object","title":"SmartListUpdate"},"SnoozeRequest":{"properties":{"hours":{"type":"integer","title":"Hours","default":4}},"type":"object","title":"SnoozeRequest"},"SocialAccountSummary":{"properties":{"pages":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Pages"},"instagram_accounts":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Instagram Accounts"},"selected":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Selected"},"connected":{"type":"boolean","title":"Connected","default":false}},"type":"object","title":"SocialAccountSummary"},"SocialPostCreate":{"properties":{"platform":{"type":"string","enum":["instagram","facebook","linkedin","tiktok","x","youtube"],"title":"Platform"},"content":{"type":"string","title":"Content"},"media_urls":{"items":{"type":"string"},"type":"array","title":"Media Urls"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scheduled At"},"hashtags":{"items":{"type":"string"},"type":"array","title":"Hashtags"},"cta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cta"},"hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hook"}},"type":"object","required":["platform","content"],"title":"SocialPostCreate"},"SocialPostUpdate":{"properties":{"platform":{"anyOf":[{"type":"string","enum":["instagram","facebook","linkedin","tiktok","x","youtube"]},{"type":"null"}],"title":"Platform"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"media_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Media Urls"},"scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scheduled At"},"hashtags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Hashtags"},"cta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cta"},"hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hook"},"status":{"anyOf":[{"type":"string","enum":["draft","approved","scheduled","published","failed"]},{"type":"null"}],"title":"Status"}},"type":"object","title":"SocialPostUpdate"},"StageChange":{"properties":{"stage":{"type":"string","title":"Stage"}},"type":"object","required":["stage"],"title":"StageChange"},"StatusChangeAutoRequest":{"properties":{"listing":{"additionalProperties":true,"type":"object","title":"Listing"},"new_status":{"type":"string","title":"New Status"}},"type":"object","required":["listing","new_status"],"title":"StatusChangeAutoRequest"},"StepCreateRequest":{"properties":{"step_number":{"type":"integer","title":"Step Number"},"delay_days":{"type":"integer","title":"Delay Days"},"channel":{"type":"string","title":"Channel","default":"email"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"body_template":{"type":"string","title":"Body Template"},"ai_personalize":{"type":"boolean","title":"Ai Personalize","default":true},"sort_order":{"type":"integer","title":"Sort Order","default":0}},"type":"object","required":["step_number","delay_days","body_template"],"title":"StepCreateRequest"},"StepUpdateRequest":{"properties":{"step_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Step Number"},"delay_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Delay Days"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"},"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"body_template":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body Template"},"ai_personalize":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Ai Personalize"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"}},"type":"object","title":"StepUpdateRequest"},"StorageStatsResponse":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"document_count":{"type":"integer","title":"Document Count"},"total_bytes":{"type":"integer","title":"Total Bytes"},"total_mb":{"type":"number","title":"Total Mb"},"bytes_used":{"type":"integer","title":"Bytes Used","default":0},"bytes_limit":{"type":"integer","title":"Bytes Limit","default":0},"usage_pct":{"type":"number","title":"Usage Pct","default":0.0},"by_type":{"additionalProperties":true,"type":"object","title":"By Type"},"folders":{"additionalProperties":{"type":"integer"},"type":"object","title":"Folders"}},"type":"object","required":["agent_id","document_count","total_bytes","total_mb","by_type","folders"],"title":"StorageStatsResponse"},"StructureCreate":{"properties":{"brokerage_id":{"type":"string","title":"Brokerage Id"},"name":{"type":"string","title":"Name"},"split_type":{"type":"string","title":"Split Type"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"is_default":{"type":"boolean","title":"Is Default","default":false}},"type":"object","required":["brokerage_id","name","split_type","config"],"title":"StructureCreate"},"StructureUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"split_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Split Type"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"}},"type":"object","title":"StructureUpdate"},"SubscribeRequest":{"properties":{"target_url":{"type":"string","minLength":1,"format":"uri","title":"Target Url"},"event_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Type"},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array","minItems":1},{"type":"null"}],"title":"Event Types"}},"type":"object","required":["target_url"],"title":"SubscribeRequest"},"SuggestHashtagsRequest":{"properties":{"listing":{"$ref":"#/components/schemas/ListingData"},"count":{"type":"integer","title":"Count","default":30}},"type":"object","required":["listing"],"title":"SuggestHashtagsRequest"},"SuggestHashtagsResponse":{"properties":{"hashtags":{"items":{"type":"string"},"type":"array","title":"Hashtags"},"categories":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"Categories"},"model_used":{"type":"string","title":"Model Used"},"latency_ms":{"type":"integer","title":"Latency Ms"},"cost_cents":{"type":"number","title":"Cost Cents"}},"type":"object","required":["hashtags","categories","model_used","latency_ms","cost_cents"],"title":"SuggestHashtagsResponse"},"SuggestionResponse":{"properties":{"scenario_text":{"type":"string","title":"Scenario Text"},"reason":{"type":"string","title":"Reason"},"priority":{"type":"string","title":"Priority"}},"type":"object","required":["scenario_text","reason","priority"],"title":"SuggestionResponse"},"SuggestionsResponse":{"properties":{"review_id":{"type":"string","title":"Review Id"},"suggestions":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Suggestions"}},"type":"object","required":["review_id","suggestions"],"title":"SuggestionsResponse"},"SyncRequest":{"properties":{"sync_type":{"type":"string","title":"Sync Type","default":"manual"},"agent_mls_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Mls Id"}},"type":"object","title":"SyncRequest"},"SyncResponse":{"properties":{"status":{"type":"string","title":"Status"},"pushed":{"type":"integer","title":"Pushed"},"imported":{"type":"integer","title":"Imported"},"skipped":{"type":"integer","title":"Skipped"}},"type":"object","required":["status","pushed","imported","skipped"],"title":"SyncResponse"},"TCAssignRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"tc_agent_id":{"type":"string","title":"Tc Agent Id"}},"type":"object","required":["deal_id","tc_agent_id"],"title":"TCAssignRequest"},"TCInboxResponse":{"properties":{"total_deals":{"type":"integer","title":"Total Deals"},"by_stage":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Stage"},"pending_items":{"type":"integer","title":"Pending Items"},"upcoming_deadlines":{"type":"integer","title":"Upcoming Deadlines"},"deals":{"items":{"$ref":"#/components/schemas/DealSummary"},"type":"array","title":"Deals"}},"type":"object","required":["total_deals","by_stage","pending_items","upcoming_deadlines","deals"],"title":"TCInboxResponse"},"TeamOverview":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/AgentStatus"},"type":"array","title":"Agents"},"pipeline":{"additionalProperties":true,"type":"object","title":"Pipeline"},"activity":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Activity"}},"type":"object","required":["agents","pipeline","activity"],"title":"TeamOverview"},"TemplateFieldSchema":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"page_number":{"type":"integer","minimum":1.0,"title":"Page Number","default":1},"field_type":{"type":"string","title":"Field Type","description":"signature | initials | date | text | checkbox | dropdown | image | stamp"},"label":{"type":"string","maxLength":255,"minLength":1,"title":"Label"},"required":{"type":"boolean","title":"Required","default":true},"signer_role":{"type":"string","title":"Signer Role","description":"buyer | seller | agent | broker | other"},"x":{"type":"number","maximum":100.0,"minimum":0.0,"title":"X"},"y":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Y"},"width":{"type":"number","maximum":100.0,"exclusiveMinimum":0.0,"title":"Width"},"height":{"type":"number","maximum":100.0,"exclusiveMinimum":0.0,"title":"Height"},"default_value":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Value"},"options":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Options"}},"type":"object","required":["field_type","label","signer_role","x","y","width","height"],"title":"TemplateFieldSchema","description":"A single field definition on a template page."},"TemplateFieldsBatchRequest":{"properties":{"fields":{"items":{"$ref":"#/components/schemas/TemplateFieldSchema"},"type":"array","title":"Fields"}},"type":"object","required":["fields"],"title":"TemplateFieldsBatchRequest","description":"Batch upsert of fields on a template."},"TemplateListResponse":{"properties":{"templates":{"items":{"$ref":"#/components/schemas/TemplateResponse"},"type":"array","title":"Templates"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["templates","total","limit","offset"],"title":"TemplateListResponse"},"TemplateResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"type":"string","title":"Category"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"template_type":{"type":"string","title":"Template Type"},"source_file_url":{"type":"string","title":"Source File Url"},"field_mappings":{"additionalProperties":{"type":"string"},"type":"object","title":"Field Mappings"},"nutrient_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nutrient Document Id"},"is_system":{"type":"boolean","title":"Is System"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"created_by":{"type":"string","title":"Created By"},"version":{"type":"integer","title":"Version"},"created_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Updated At"},"detected_fields":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Detected Fields"}},"type":"object","required":["id","name","description","category","state","template_type","source_file_url","field_mappings","nutrient_document_id","is_system","brokerage_id","created_by","version","created_at","updated_at"],"title":"TemplateResponse"},"TemplateUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","title":"TemplateUpdateRequest"},"TestAutomationRequest":{"properties":{"sample_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Sample Data"}},"type":"object","title":"TestAutomationRequest"},"TestEmailResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"email_log_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Log Id"},"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"urgency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Urgency"},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"action_items":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Action Items","default":[]},"processing_time_ms":{"type":"integer","title":"Processing Time Ms","default":0},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["success"],"title":"TestEmailResponse","description":"Response for the test endpoint."},"ThreadResponse":{"properties":{"id":{"type":"string","title":"Id"},"agent_id":{"type":"string","title":"Agent Id"},"title":{"type":"string","title":"Title"},"is_pinned":{"type":"boolean","title":"Is Pinned","default":false},"pinned_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Pinned At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","agent_id","title","created_at","updated_at"],"title":"ThreadResponse"},"ThreadsListResponse":{"properties":{"threads":{"items":{"$ref":"#/components/schemas/ThreadResponse"},"type":"array","title":"Threads"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["threads","page","limit","total"],"title":"ThreadsListResponse"},"TimeWindow":{"properties":{"start":{"type":"string","format":"time","title":"Start"},"end":{"type":"string","format":"time","title":"End"}},"type":"object","required":["start","end"],"title":"TimeWindow"},"TimelineGenerateRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"contract_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Contract Date"},"closing_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Closing Date"},"state":{"anyOf":[{"type":"string","maxLength":2,"minLength":2},{"type":"null"}],"title":"State"},"deal_type":{"type":"string","pattern":"^(residential|commercial)$","title":"Deal Type","default":"residential"}},"type":"object","required":["deal_id"],"title":"TimelineGenerateRequest"},"TitleAuthRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"TitleAuthRequest"},"TitleSearchRequest":{"properties":{"property_address":{"type":"string","title":"Property Address"},"state":{"type":"string","title":"State"},"sale_price":{"type":"integer","title":"Sale Price"},"known_issues":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Known Issues"}},"type":"object","required":["property_address","state","sale_price"],"title":"TitleSearchRequest"},"ToggleItemRequest":{"properties":{"item_id":{"type":"string","title":"Item Id"},"completed":{"type":"boolean","title":"Completed"}},"type":"object","required":["item_id","completed"],"title":"ToggleItemRequest"},"TogglePlaybookRequest":{"properties":{"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["is_active"],"title":"TogglePlaybookRequest"},"ToggleRequest":{"properties":{"agent_id":{"type":"string","title":"Agent Id"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["agent_id","active"],"title":"ToggleRequest"},"TokenPair":{"properties":{"access_token":{"type":"string","title":"Access Token"},"refresh_token":{"type":"string","title":"Refresh Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","refresh_token","expires_in"],"title":"TokenPair"},"TouchSuggestionsRequest":{"properties":{"contact_name":{"type":"string","title":"Contact Name"},"category":{"type":"string","title":"Category"},"last_touch_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Touch Date"},"relationship_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Relationship Notes"},"upcoming_dates":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Upcoming Dates"}},"type":"object","required":["contact_name","category"],"title":"TouchSuggestionsRequest"},"TrackViewRequest":{"properties":{"referrer_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer Url"},"utm_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Utm Source"}},"type":"object","title":"TrackViewRequest"},"TrainVoiceRequest":{"properties":{"sample_size":{"type":"integer","maximum":60.0,"minimum":5.0,"title":"Sample Size","default":30}},"type":"object","title":"TrainVoiceRequest"},"TriggerPlaybookRequest":{"properties":{"entity_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Entity Id"},"trigger_data":{"additionalProperties":true,"type":"object","title":"Trigger Data"}},"type":"object","title":"TriggerPlaybookRequest"},"UnreadCountResponse":{"properties":{"count":{"type":"integer","title":"Count"}},"type":"object","required":["count"],"title":"UnreadCountResponse"},"UpdateCommissionRequest":{"properties":{"commission_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Commission Amount"},"commission_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Commission Rate"},"commission_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commission Status"},"commission_paid_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Commission Paid Date"}},"type":"object","title":"UpdateCommissionRequest"},"UpdateFolderRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},"type":"object","title":"UpdateFolderRequest"},"UpdateJobStatusRequest":{"properties":{"status":{"type":"string","title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["status"],"title":"UpdateJobStatusRequest"},"UpdateLicenseRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"expiration_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Expiration Date"},"ce_credits_completed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ce Credits Completed"},"supervising_broker":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Supervising Broker"},"brokerage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name"},"verification_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Verification Notes"}},"type":"object","title":"UpdateLicenseRequest"},"UpdateMatchRequest":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"UpdateMatchRequest"},"UpdatePreferencesRequest":{"properties":{"preferences":{"additionalProperties":{"$ref":"#/components/schemas/NotificationPreferenceItem"},"type":"object","title":"Preferences"}},"type":"object","required":["preferences"],"title":"UpdatePreferencesRequest"},"UpdateProfileRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"bio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Bio"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"years_experience":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Years Experience"},"profile_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Profile Public"},"personal_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personal Phone"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"brokerage_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Name"},"social_links":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Links"},"certifications":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Certifications"},"testimonials":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Testimonials"},"ai_personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Personality"},"ai_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Language"}},"type":"object","title":"UpdateProfileRequest"},"UpdateResourceRequest":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"subtype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subtype"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"},"content_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Url"},"content_html":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Html"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"booking_duration_minutes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Booking Duration Minutes"},"booking_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Booking Location"},"availability_rules":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Availability Rules"},"event_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Date"},"event_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Time"},"event_capacity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Event Capacity"},"event_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Location"},"modules_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Modules Count"},"capture_settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Capture Settings"}},"type":"object","title":"UpdateResourceRequest"},"UpdateRoleRequest":{"properties":{"role":{"type":"string","pattern":"^(owner|managing_broker|team_lead|agent|assistant)$","title":"Role"}},"type":"object","required":["role"],"title":"UpdateRoleRequest"},"UpdateSettingsRequest":{"properties":{"branding":{"anyOf":[{"$ref":"#/components/schemas/BrandingSettings"},{"type":"null"}]},"defaults":{"anyOf":[{"$ref":"#/components/schemas/DefaultSettings"},{"type":"null"}]}},"type":"object","title":"UpdateSettingsRequest"},"UpdateStatusRequest":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"UpdateStatusRequest"},"UpdateThreadRequest":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"},"is_pinned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Pinned"}},"type":"object","title":"UpdateThreadRequest"},"UpdateVideoMessageRequest":{"properties":{"subject":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subject"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"}},"type":"object","title":"UpdateVideoMessageRequest"},"UploadDeliverableRequest":{"properties":{"file_url":{"type":"string","title":"File Url"},"file_type":{"type":"string","title":"File Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["file_url","file_type"],"title":"UploadDeliverableRequest"},"UploadResponse":{"properties":{"document_id":{"type":"string","title":"Document Id"},"message":{"type":"string","title":"Message","default":"Document uploaded successfully"}},"type":"object","required":["document_id"],"title":"UploadResponse"},"UpsertProfileRequest":{"properties":{"availability_schedule":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Availability Schedule"},"max_tasks_per_day":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Tasks Per Day"},"max_travel_radius_miles":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Travel Radius Miles"},"service_areas":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Areas"},"service_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Service Types"},"rates":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Rates"},"accepts_negotiation":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Accepts Negotiation"},"minimum_rate_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Minimum Rate Cents"},"specialties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Specialties"},"languages":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Languages"},"is_available":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Available"}},"type":"object","title":"UpsertProfileRequest"},"ValidateAddressRequest":{"properties":{"street":{"type":"string","minLength":1,"title":"Street"},"city":{"type":"string","minLength":1,"title":"City"},"state":{"type":"string","maxLength":2,"minLength":2,"title":"State"},"zip_code":{"type":"string","maxLength":10,"minLength":5,"title":"Zip Code"}},"type":"object","required":["street","city","state","zip_code"],"title":"ValidateAddressRequest"},"ValidatedAddress":{"properties":{"standardized_address":{"type":"string","title":"Standardized Address"},"city":{"type":"string","title":"City"},"state":{"type":"string","title":"State"},"zip5":{"type":"string","title":"Zip5"},"zip4":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip4"},"deliverable":{"type":"boolean","title":"Deliverable"},"dpv_confirmation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Dpv Confirmation"},"vacant":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Vacant"}},"type":"object","required":["standardized_address","city","state","zip5","deliverable"],"title":"ValidatedAddress"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VaultDocumentListResponse":{"properties":{"documents":{"items":{"$ref":"#/components/schemas/VaultDocumentResponse"},"type":"array","title":"Documents"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["documents","total","limit","offset"],"title":"VaultDocumentListResponse"},"VaultDocumentResponse":{"properties":{"id":{"type":"string","title":"Id"},"agent_id":{"type":"string","title":"Agent Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"folder":{"type":"string","title":"Folder"},"filename":{"type":"string","title":"Filename"},"file_type":{"type":"string","title":"File Type"},"file_size_bytes":{"type":"integer","title":"File Size Bytes"},"s3_key":{"type":"string","title":"S3 Key"},"s3_version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"S3 Version Id"},"document_type":{"type":"string","title":"Document Type"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"extra_data":{"additionalProperties":true,"type":"object","title":"Extra Data"},"nutrient_document_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nutrient Document Id"},"current_version":{"type":"integer","title":"Current Version"},"retention_policy":{"type":"string","title":"Retention Policy"},"retention_expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Retention Expires At"},"is_archived":{"type":"boolean","title":"Is Archived"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","agent_id","folder","filename","file_type","file_size_bytes","s3_key","document_type","current_version","retention_policy","is_archived"],"title":"VaultDocumentResponse"},"VaultDocumentUpdateRequest":{"properties":{"folder":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder"},"document_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Type"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"extra_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Extra Data"},"retention_policy":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Retention Policy"}},"type":"object","title":"VaultDocumentUpdateRequest"},"VendorAuthRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"VendorAuthRequest"},"VendorResult":{"properties":{"place_id":{"type":"string","title":"Place Id"},"name":{"type":"string","title":"Name"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"rating":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Rating"},"reviews_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reviews Count"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website"},"vendor_type":{"type":"string","title":"Vendor Type"}},"type":"object","required":["place_id","name","vendor_type"],"title":"VendorResult"},"VerifyContactItem":{"properties":{"name":{"type":"string","title":"Name"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"verified":{"type":"boolean","title":"Verified","default":false}},"type":"object","required":["name"],"title":"VerifyContactItem","description":"A contact to verify / correct before importing."},"VerifyEmailRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"VerifyEmailRequest"},"VerifyRequest":{"properties":{"contacts":{"items":{"$ref":"#/components/schemas/VerifyContactItem"},"type":"array","title":"Contacts"}},"type":"object","required":["contacts"],"title":"VerifyRequest","description":"Batch of contacts to verify before import."},"VerifyResponse":{"properties":{"contacts":{"items":{"$ref":"#/components/schemas/VerifyContactItem"},"type":"array","title":"Contacts"},"valid_count":{"type":"integer","title":"Valid Count"},"issues":{"items":{"type":"string"},"type":"array","title":"Issues"}},"type":"object","required":["contacts","valid_count","issues"],"title":"VerifyResponse","description":"Verification result — returns clean contacts ready for import."},"VirtualStageRequest":{"properties":{"image_url":{"type":"string","title":"Image Url"},"room_type":{"type":"string","title":"Room Type","default":"living_room"},"furniture_style":{"type":"string","title":"Furniture Style","default":"modern"},"budget_feel":{"type":"string","title":"Budget Feel","default":"mid_range"}},"type":"object","required":["image_url"],"title":"VirtualStageRequest"},"VoiceAnalyticsResponse":{"properties":{"date_from":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date From"},"date_to":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Date To"},"call_volume":{"type":"integer","title":"Call Volume"},"sms_volume":{"type":"integer","title":"Sms Volume"},"avg_call_duration_seconds":{"type":"number","title":"Avg Call Duration Seconds"},"qualification_rate":{"type":"number","title":"Qualification Rate"},"ai_handled_sms_rate":{"type":"number","title":"Ai Handled Sms Rate"},"ai_vs_human_calls":{"additionalProperties":{"type":"integer"},"type":"object","title":"Ai Vs Human Calls"}},"type":"object","required":["call_volume","sms_volume","avg_call_duration_seconds","qualification_rate","ai_handled_sms_rate","ai_vs_human_calls"],"title":"VoiceAnalyticsResponse"},"VoiceAnswerRequest":{"properties":{"call_sid":{"type":"string","title":"Call Sid"},"transcript":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Transcript"},"recording_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recording Url"}},"type":"object","required":["call_sid"],"title":"VoiceAnswerRequest"},"VoiceProfileRequest":{"properties":{"sample_texts":{"items":{"type":"string"},"type":"array","title":"Sample Texts"}},"type":"object","required":["sample_texts"],"title":"VoiceProfileRequest"},"VoiceSettings":{"properties":{"voice_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Voice Enabled"},"forward_calls_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Forward Calls To"},"greeting_script":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Script"},"business_hours":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Business Hours"},"voice_personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Voice Personality"},"voicemail_transcription":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Voicemail Transcription"}},"type":"object","title":"VoiceSettings"},"VoiceV2Settings":{"properties":{"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personality"},"qualification_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Qualification Enabled"},"qualification_questions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Qualification Questions"},"routing_rules":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Routing Rules"},"voicemail_summary":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Voicemail Summary"},"greeting_en":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting En"},"greeting_es":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Greeting Es"}},"type":"object","title":"VoiceV2Settings"},"VoicemailCreate":{"properties":{"call_sid":{"type":"string","title":"Call Sid"},"transcription":{"type":"string","title":"Transcription"},"caller_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Caller Phone"},"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"}},"type":"object","required":["call_sid","transcription"],"title":"VoicemailCreate"},"VoidRequest":{"properties":{"reason":{"type":"string","title":"Reason","default":""}},"type":"object","title":"VoidRequest"},"VoteRequest":{"properties":{"vote":{"type":"integer","title":"Vote"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"},"comment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment Id"}},"type":"object","required":["vote"],"title":"VoteRequest"},"WaiveItemRequest":{"properties":{"reason":{"type":"string","maxLength":1000,"minLength":2,"title":"Reason"}},"type":"object","required":["reason"],"title":"WaiveItemRequest"},"WebhookResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"},"email_log_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Log Id"},"intent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Intent"},"urgency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Urgency"},"attachments_processed":{"type":"integer","title":"Attachments Processed","default":0}},"type":"object","required":["status","message"],"title":"WebhookResponse","description":"Response for the SendGrid webhook."},"WidgetBookingRequest":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"listing_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Address"},"showing_date":{"type":"string","format":"date","title":"Showing Date"},"start_time":{"type":"string","title":"Start Time"},"buyer_name":{"type":"string","title":"Buyer Name"},"buyer_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Buyer Email"},"buyer_phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Buyer Phone"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["showing_date","start_time","buyer_name"],"title":"WidgetBookingRequest"},"WireInstructionsRequest":{"properties":{"bank_name":{"type":"string","title":"Bank Name"},"routing_number":{"type":"string","title":"Routing Number"},"account_number":{"type":"string","title":"Account Number"},"reference":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference"}},"type":"object","required":["bank_name","routing_number","account_number"],"title":"WireInstructionsRequest"},"WizardDataRequest":{"properties":{"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"},"demo_seeded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Demo Seeded"},"demo_counts":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Demo Counts"},"csv_file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csv File Name"},"csv_headers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Csv Headers"},"csv_preview":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Csv Preview"},"csv_total_rows":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Csv Total Rows"},"csv_upload_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Csv Upload Id"},"imported_contacts":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Imported Contacts"},"import_choice":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Import Choice"},"start_fresh_confirmed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Start Fresh Confirmed"}},"type":"object","title":"WizardDataRequest"},"WizardDockAIRequest":{"properties":{"selected_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Action"},"completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Completed"},"conversation":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Conversation"}},"type":"object","title":"WizardDockAIRequest"},"WizardIntegrationCardRequest":{"properties":{"selected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Selected"},"connected":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Connected"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"account_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Email"}},"type":"object","title":"WizardIntegrationCardRequest"},"WizardIntegrationsRequest":{"properties":{"google_calendar":{"anyOf":[{"$ref":"#/components/schemas/WizardIntegrationCardRequest"},{"type":"null"}]},"gmail":{"anyOf":[{"$ref":"#/components/schemas/WizardIntegrationCardRequest"},{"type":"null"}]},"stripe":{"anyOf":[{"$ref":"#/components/schemas/WizardIntegrationCardRequest"},{"type":"null"}]}},"type":"object","title":"WizardIntegrationsRequest"},"WizardMarketRequest":{"properties":{"primary_market":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Market"},"secondary_markets":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Secondary Markets"},"property_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Property Types"},"price_range":{"anyOf":[{"$ref":"#/components/schemas/WizardPriceRangeRequest"},{"type":"null"}]}},"type":"object","title":"WizardMarketRequest"},"WizardPriceRangeRequest":{"properties":{"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label"},"min":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min"},"max":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max"}},"type":"object","title":"WizardPriceRangeRequest"},"WizardProfileRequest":{"properties":{"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"brokerage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage"},"license_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License Number"},"license_state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"License State"},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Photo Url"}},"type":"object","title":"WizardProfileRequest"},"WizardUpdateRequest":{"properties":{"current_step":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current Step"},"completed_steps":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Completed Steps"},"skipped_steps":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Skipped Steps"},"completed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Completed"},"complete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Complete"},"onboarding_complete":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Onboarding Complete"},"profile":{"anyOf":[{"$ref":"#/components/schemas/WizardProfileRequest"},{"type":"null"}]},"market":{"anyOf":[{"$ref":"#/components/schemas/WizardMarketRequest"},{"type":"null"}]},"integrations":{"anyOf":[{"$ref":"#/components/schemas/WizardIntegrationsRequest"},{"type":"null"}]},"data":{"anyOf":[{"$ref":"#/components/schemas/WizardDataRequest"},{"type":"null"}]},"dock_ai":{"anyOf":[{"$ref":"#/components/schemas/WizardDockAIRequest"},{"type":"null"}]}},"type":"object","title":"WizardUpdateRequest"},"WorkflowOrderUpdate":{"properties":{"signer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signer Id"},"email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Email"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"order":{"type":"integer","minimum":1.0,"title":"Order"}},"type":"object","required":["order"],"title":"WorkflowOrderUpdate"},"WorkflowUpdateRequest":{"properties":{"mode":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode","description":"sequential | parallel"},"signing_order":{"items":{"$ref":"#/components/schemas/WorkflowOrderUpdate"},"type":"array","title":"Signing Order"},"conditional_routes":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Conditional Routes"},"reminder_cadence_hours":{"items":{"type":"integer"},"type":"array","title":"Reminder Cadence Hours"}},"type":"object","title":"WorkflowUpdateRequest"},"YTDSummaryResponse":{"properties":{"year":{"type":"integer","title":"Year"},"total_earned_cents":{"type":"integer","title":"Total Earned Cents"},"total_pending_cents":{"type":"integer","title":"Total Pending Cents"},"transaction_count":{"type":"integer","title":"Transaction Count"},"pending_count":{"type":"integer","title":"Pending Count"},"avg_commission_cents":{"type":"integer","title":"Avg Commission Cents"}},"type":"object","required":["year","total_earned_cents","total_pending_cents","transaction_count","pending_count","avg_commission_cents"],"title":"YTDSummaryResponse"},"app__api__v1__endpoints__ai_threads__CreateThreadRequest":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Title"}},"type":"object","title":"CreateThreadRequest"},"app__api__v1__endpoints__brokerage_admin__RoleUpdateRequest":{"properties":{"role":{"type":"string","title":"Role"}},"type":"object","required":["role"],"title":"RoleUpdateRequest"},"app__api__v1__endpoints__brokerage_branding__InviteRequest":{"properties":{"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"role":{"type":"string","title":"Role","default":"agent"}},"type":"object","required":["email"],"title":"InviteRequest"},"app__api__v1__endpoints__brokerage_team__InviteRequest":{"properties":{"email":{"type":"string","title":"Email"},"role":{"type":"string","title":"Role","default":"agent"}},"type":"object","required":["email"],"title":"InviteRequest"},"app__api__v1__endpoints__brokerage_team__RoleUpdateRequest":{"properties":{"role":{"type":"string","title":"Role","description":"New role: agent | team_lead | admin | managing_broker | owner"}},"type":"object","required":["role"],"title":"RoleUpdateRequest"},"app__api__v1__endpoints__buyer_portal__SendMessageRequest":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"SendMessageRequest"},"app__api__v1__endpoints__campaigns__CampaignCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type","default":"custom"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"contacts":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Contacts"},"steps":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Steps"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"}},"type":"object","required":["name"],"title":"CampaignCreateRequest"},"app__api__v1__endpoints__client_portal__SendMessageRequest":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"SendMessageRequest"},"app__api__v1__endpoints__commission_splits__CalculateRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"gross_commission_cents":{"type":"integer","title":"Gross Commission Cents"},"structure_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Structure Id"}},"type":"object","required":["deal_id","gross_commission_cents"],"title":"CalculateRequest"},"app__api__v1__endpoints__commission_tracker__CalculateRequest":{"properties":{"sale_price":{"type":"number","exclusiveMinimum":0.0,"title":"Sale Price","description":"Sale price in dollars"},"commission_rate":{"type":"number","maximum":100.0,"exclusiveMinimum":0.0,"title":"Commission Rate","description":"Total commission rate as percentage, e.g. 5.0"},"split_config":{"additionalProperties":true,"type":"object","title":"Split Config","description":"Split configuration with split_type, agent_split_pct, etc."}},"type":"object","required":["sale_price","commission_rate"],"title":"CalculateRequest"},"app__api__v1__endpoints__custom_playbooks__CreatePlaybookRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"type":"string","title":"Trigger Type"},"trigger_conditions":{"additionalProperties":true,"type":"object","title":"Trigger Conditions"},"steps":{"items":{"$ref":"#/components/schemas/PlaybookStep"},"type":"array","title":"Steps"}},"type":"object","required":["name","trigger_type","steps"],"title":"CreatePlaybookRequest"},"app__api__v1__endpoints__custom_playbooks__UpdatePlaybookRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Trigger Conditions"},"steps":{"anyOf":[{"items":{"$ref":"#/components/schemas/PlaybookStep"},"type":"array"},{"type":"null"}],"title":"Steps"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"UpdatePlaybookRequest"},"app__api__v1__endpoints__document_intelligence__WhatIfRequest":{"properties":{"scenario":{"type":"string","title":"Scenario"}},"type":"object","required":["scenario"],"title":"WhatIfRequest"},"app__api__v1__endpoints__document_intelligence__WhatIfResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"deal_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Address"},"status":{"type":"string","title":"Status"},"scenario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario"},"impact_assessment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Impact Assessment"},"financial_implications":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Financial Implications"},"legal_considerations":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Legal Considerations"},"strategic_recommendation":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategic Recommendation"},"risk_factors":{"items":{"type":"string"},"type":"array","title":"Risk Factors","default":[]},"recommended_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommended Action"},"confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Confidence"}},"type":"object","required":["deal_id","deal_address","status"],"title":"WhatIfResponse"},"app__api__v1__endpoints__drip_campaigns__CampaignCreateRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"type":"string","title":"Trigger Type","default":"manual"},"status":{"type":"string","title":"Status","default":"draft"}},"type":"object","required":["name"],"title":"CampaignCreateRequest"},"app__api__v1__endpoints__email_intake__TestEmailRequest":{"properties":{"from_email":{"type":"string","title":"From Email","default":"test@example.com"},"from_name":{"type":"string","title":"From Name","default":"Test Sender"},"to_email":{"type":"string","title":"To Email","default":"dock+test@realtordock.com"},"subject":{"type":"string","title":"Subject","default":"Test Email"},"body_text":{"type":"string","title":"Body Text","default":"This is a test email body."},"body_html":{"type":"string","title":"Body Html","default":""}},"type":"object","title":"TestEmailRequest","description":"Simulated email for testing."},"app__api__v1__endpoints__email_lifecycle__TestEmailRequest":{"properties":{"email_type":{"type":"string","title":"Email Type"},"override_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Override Email"}},"type":"object","required":["email_type"],"title":"TestEmailRequest"},"app__api__v1__endpoints__intel_board__CommentRequest":{"properties":{"body":{"type":"string","title":"Body"},"parent_comment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Comment Id"},"is_anonymous":{"type":"boolean","title":"Is Anonymous","default":false}},"type":"object","required":["body"],"title":"CommentRequest"},"app__api__v1__endpoints__intel_board__CreateThreadRequest":{"properties":{"category":{"type":"string","title":"Category"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"deal_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Type"},"deal_value_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Deal Value Cents"},"is_anonymous":{"type":"boolean","title":"Is Anonymous","default":false},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"visibility":{"type":"string","title":"Visibility","default":"brokerage"}},"type":"object","required":["category","title","body"],"title":"CreateThreadRequest"},"app__api__v1__endpoints__leads__ApproveRequest":{"properties":{"action":{"type":"string","title":"Action","default":"approve"},"edited_draft":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edited Draft"}},"type":"object","title":"ApproveRequest"},"app__api__v1__endpoints__marketing_templates__TemplateCreate":{"properties":{"name":{"type":"string","title":"Name"},"category":{"type":"string","title":"Category"},"template_type":{"type":"string","title":"Template Type"},"content":{"additionalProperties":true,"type":"object","title":"Content","default":{}},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"}},"type":"object","required":["name","category","template_type"],"title":"TemplateCreate"},"app__api__v1__endpoints__marketing_templates__TemplateUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"template_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Type"},"content":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Content"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"}},"type":"object","title":"TemplateUpdate"},"app__api__v1__endpoints__marketplace__CreatePostRequest":{"properties":{"post_type":{"type":"string","title":"Post Type"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Address"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Cents"},"property_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Type"},"beds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Beds"},"baths":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Baths"},"sqft":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sqft"},"referral_fee_pct":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referral Fee Pct"},"buyer_criteria":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Buyer Criteria"},"event_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Date"},"event_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event End"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"visibility":{"type":"string","title":"Visibility","default":"brokerage"}},"type":"object","required":["post_type","title"],"title":"CreatePostRequest"},"app__api__v1__endpoints__negotiation__CounterOfferRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"seller_counter_price":{"type":"integer","title":"Seller Counter Price"},"seller_counter_terms":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Seller Counter Terms"},"agent_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Instructions"}},"type":"object","required":["deal_id","seller_counter_price"],"title":"CounterOfferRequest"},"app__api__v1__endpoints__network_chat__SendMessageRequest":{"properties":{"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"type":{"type":"string","title":"Type","default":"text"},"metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Metadata"},"media_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Media Url"}},"type":"object","title":"SendMessageRequest"},"app__api__v1__endpoints__network_feed__CommentRequest":{"properties":{"body":{"type":"string","title":"Body"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"}},"type":"object","required":["body"],"title":"CommentRequest"},"app__api__v1__endpoints__network_feed__CreatePostRequest":{"properties":{"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"media_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Media Urls"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"},"listing_snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Listing Snapshot"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"},"zip_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Zip Code"},"latitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latitude"},"longitude":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Longitude"},"brokerage_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brokerage Id"},"visibility":{"type":"string","title":"Visibility","default":"network"}},"type":"object","required":["type","title"],"title":"CreatePostRequest"},"app__api__v1__endpoints__offers__CounterOfferRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"}},"type":"object","required":["prompt"],"title":"CounterOfferRequest"},"app__api__v1__endpoints__offers__CounterOfferResponse":{"properties":{"id":{"type":"string","title":"Id"},"offer_id":{"type":"string","title":"Offer Id"},"counter_price":{"type":"integer","title":"Counter Price"},"terms":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Terms"},"status":{"type":"string","title":"Status"},"initiated_by":{"type":"string","title":"Initiated By"},"ai_generated":{"type":"boolean","title":"Ai Generated"},"ai_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Prompt"},"expiration":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expiration"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","offer_id","counter_price","terms","status","initiated_by","ai_generated","ai_prompt","expiration","created_at"],"title":"CounterOfferResponse"},"app__api__v1__endpoints__offers__NetSheetRequest":{"properties":{"commission_rate":{"type":"number","title":"Commission Rate","default":0.06},"mortgage_payoff":{"type":"integer","title":"Mortgage Payoff","default":0},"second_mortgage_payoff":{"type":"integer","title":"Second Mortgage Payoff","default":0},"home_equity_payoff":{"type":"integer","title":"Home Equity Payoff","default":0},"property_tax_proration":{"type":"integer","title":"Property Tax Proration","default":0},"hoa_proration":{"type":"integer","title":"Hoa Proration","default":0},"title_insurance_fee":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Title Insurance Fee"},"closing_costs":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Closing Costs"},"seller_concessions":{"type":"integer","title":"Seller Concessions","default":0},"repair_credits":{"type":"integer","title":"Repair Credits","default":0},"home_warranty":{"type":"integer","title":"Home Warranty","default":0},"other_fees":{"type":"integer","title":"Other Fees","default":0},"other_credits":{"type":"integer","title":"Other Credits","default":0}},"type":"object","title":"NetSheetRequest"},"app__api__v1__endpoints__playbooks__CreatePlaybookRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"type":"string","title":"Trigger Type","default":"manual"},"trigger_conditions":{"additionalProperties":true,"type":"object","title":"Trigger Conditions"},"steps":{"items":{"$ref":"#/components/schemas/PlaybookStepInput"},"type":"array","title":"Steps"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"display_trigger":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Trigger"}},"type":"object","required":["name"],"title":"CreatePlaybookRequest"},"app__api__v1__endpoints__playbooks__UpdatePlaybookRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"trigger_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trigger Type"},"trigger_conditions":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Trigger Conditions"},"steps":{"anyOf":[{"items":{"$ref":"#/components/schemas/PlaybookStepInput"},"type":"array"},{"type":"null"}],"title":"Steps"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"display_trigger":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Trigger"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"UpdatePlaybookRequest"},"app__api__v1__endpoints__portal_notifications__StatusUpdateRequest":{"properties":{"to_email":{"type":"string","title":"To Email"},"deal_address":{"type":"string","title":"Deal Address"},"new_status":{"type":"string","title":"New Status"},"agent_name":{"type":"string","title":"Agent Name","default":"Your agent"}},"type":"object","required":["to_email","deal_address","new_status"],"title":"StatusUpdateRequest"},"app__api__v1__endpoints__portal_uploads__CompleteUploadRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"portal_type":{"type":"string","title":"Portal Type"},"uploader_email":{"type":"string","title":"Uploader Email"},"file_url":{"type":"string","title":"File Url"},"filename":{"type":"string","title":"Filename"},"file_size_bytes":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"File Size Bytes"}},"type":"object","required":["deal_id","portal_type","uploader_email","file_url","filename"],"title":"CompleteUploadRequest"},"app__api__v1__endpoints__pre_listing__NetSheetRequest":{"properties":{"sale_price":{"type":"integer","title":"Sale Price"},"mortgage_balance":{"type":"integer","title":"Mortgage Balance","default":0},"commission_rate":{"type":"number","title":"Commission Rate","default":5.0},"closing_cost_rate":{"type":"number","title":"Closing Cost Rate","default":1.5},"repairs_estimate":{"type":"integer","title":"Repairs Estimate","default":0},"state":{"type":"string","title":"State","default":"FL"}},"type":"object","required":["sale_price"],"title":"NetSheetRequest"},"app__api__v1__endpoints__review_queue__ApproveRequest":{"properties":{"edited_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Edited Body"}},"type":"object","title":"ApproveRequest"},"app__api__v1__endpoints__review_queue__GenerateRequest":{"properties":{"contact_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Contact Id"},"action_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Type"}},"type":"object","title":"GenerateRequest","description":"Manually trigger AI to generate review items."},"app__api__v1__endpoints__signing_templates__TemplateCreate":{"properties":{"name":{"type":"string","title":"Name"},"document_url":{"type":"string","title":"Document Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"fields":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Fields"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","required":["name","document_url"],"title":"TemplateCreate"},"app__api__v1__endpoints__signing_templates__TemplateUpdate":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"document_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Url"},"fields":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Fields"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"}},"type":"object","title":"TemplateUpdate"},"app__api__v1__endpoints__social_factory__ScheduleRequest":{"properties":{"scheduled_at":{"type":"string","format":"date-time","title":"Scheduled At"}},"type":"object","required":["scheduled_at"],"title":"ScheduleRequest"},"app__api__v1__endpoints__social_media__GenerateRequest":{"properties":{"listing_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Listing Id"},"prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt"},"brand_dna":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Brand Dna"},"count":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Count","default":5}},"type":"object","title":"GenerateRequest"},"app__api__v1__endpoints__social_media__ScheduleRequest":{"properties":{"text":{"type":"string","title":"Text","default":""},"images":{"items":{"type":"string"},"type":"array","title":"Images","description":"Remote image URLs"},"platforms":{"items":{"type":"string","enum":["facebook","instagram"]},"type":"array","title":"Platforms"},"facebook_page_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Facebook Page Id"},"instagram_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Instagram User Id"},"scheduled_for":{"type":"string","format":"date-time","title":"Scheduled For","description":"ISO datetime (timezone-aware preferred)"}},"type":"object","required":["scheduled_for"],"title":"ScheduleRequest"},"app__api__v1__endpoints__sphere__ApproveRequest":{"properties":{"action":{"type":"string","title":"Action","default":"approve"},"message_draft":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message Draft"},"channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},"type":"object","title":"ApproveRequest"},"app__api__v1__endpoints__sphere__GenerateRequest":{"properties":{"contact_id":{"type":"string","title":"Contact Id"}},"type":"object","required":["contact_id"],"title":"GenerateRequest"},"app__api__v1__endpoints__storage__CompleteUploadRequest":{"properties":{"key":{"type":"string","minLength":1,"title":"Key"}},"type":"object","required":["key"],"title":"CompleteUploadRequest"},"app__api__v1__endpoints__tc_workspace__GenerateChecklistRequest":{"properties":{"state":{"type":"string","title":"State"},"deal_type":{"type":"string","title":"Deal Type","default":"purchase"}},"type":"object","required":["state"],"title":"GenerateChecklistRequest"},"app__api__v1__endpoints__title_portal__StatusUpdateRequest":{"properties":{"status":{"type":"string","title":"Status"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["status"],"title":"StatusUpdateRequest"},"app__api__v1__endpoints__transaction_coordinator__GenerateChecklistRequest":{"properties":{"template_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Template Id"}},"type":"object","title":"GenerateChecklistRequest"},"app__api__v1__endpoints__vault_folders__CreateFolderRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"deal_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Deal Id"}},"type":"object","required":["name"],"title":"CreateFolderRequest"},"app__api__v1__endpoints__what_if__WhatIfRequest":{"properties":{"scenario":{"type":"string","maxLength":1000,"minLength":5,"title":"Scenario","description":"Natural-language what-if scenario","examples":["What if we counter at $515K?","What if we waive the inspection contingency?","What if we extend closing by 14 days?"]}},"type":"object","required":["scenario"],"title":"WhatIfRequest"},"app__api__v1__endpoints__what_if__WhatIfResponse":{"properties":{"deal_id":{"type":"string","title":"Deal Id"},"scenario":{"$ref":"#/components/schemas/ScenarioResponse"},"outcomes":{"items":{"$ref":"#/components/schemas/OutcomeResponse"},"type":"array","title":"Outcomes"},"recommendation":{"type":"string","title":"Recommendation"},"risk_delta":{"type":"number","title":"Risk Delta"},"model_used":{"type":"string","title":"Model Used"},"tokens_used":{"type":"integer","title":"Tokens Used"},"cost_cents":{"type":"integer","title":"Cost Cents"}},"type":"object","required":["deal_id","scenario","outcomes","recommendation","risk_delta","model_used","tokens_used","cost_cents"],"title":"WhatIfResponse"},"app__api__v1__schemas__brokerage__RoleUpdateRequest":{"properties":{"role":{"type":"string","pattern":"^(admin|agent)$","title":"Role"}},"type":"object","required":["role"],"title":"RoleUpdateRequest"},"app__api__v1__schemas__templates__GenerateRequest":{"properties":{"deal_id":{"type":"string","title":"Deal Id","description":"UUID of the deal to pull data from."}},"type":"object","required":["deal_id"],"title":"GenerateRequest","description":"Request to generate a filled document from a template + deal."},"app__schemas__contract_review__CounterOfferRequest":{"properties":{"original_terms":{"additionalProperties":true,"type":"object","title":"Original Terms"},"agent_goals":{"additionalProperties":true,"type":"object","title":"Agent Goals"}},"type":"object","required":["original_terms","agent_goals"],"title":"CounterOfferRequest"},"app__schemas__contract_review__CounterOfferResponse":{"properties":{"result":{"additionalProperties":true,"type":"object","title":"Result"}},"type":"object","required":["result"],"title":"CounterOfferResponse"},"app__schemas__document_vault__CreateFolderRequest":{"properties":{"folder":{"type":"string","maxLength":255,"minLength":1,"title":"Folder"}},"type":"object","required":["folder"],"title":"CreateFolderRequest"}},"securitySchemes":{"HTTPBearer":{"type":"http","scheme":"bearer"}}},"tags":[{"name":"auth","description":"Public authentication flows for creating accounts, logging in, and refreshing bearer tokens."},{"name":"contacts","description":"CRM endpoints for creating, updating, searching, and retrieving contacts."},{"name":"deals","description":"Pipeline and transaction endpoints for managing deals, stages, compliance, and checklists."},{"name":"dock","description":"Dock AI chat endpoints for natural-language commands, briefings, and AI activity."},{"name":"zapier","description":"Zapier subscriptions, inbound actions, and event trigger helpers for no-code automation."}]}