{"openapi":"3.1.0","info":{"title":"GrowthOS","description":"GrowthOS API","version":"0.4.1"},"paths":{"/api/v1/users/":{"get":{"tags":["users"],"summary":"Get Current User","description":"Get current authenticated user with workspace information and workspace switcher flag","operationId":"get_user_api_v1_users__get","responses":{"200":{"description":"User profile with workspace information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetUserResponse"}}}},"404":{"description":"User not found"}}}},"/api/v1/users/profile":{"patch":{"tags":["users"],"summary":"Update User Profile","operationId":"update_user_profile_api_v1_users_profile_patch","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EditUserProfile"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["users"],"summary":"Create User Profile","operationId":"create_user_profile_api_v1_users_profile_post","parameters":[{"name":"invite_flow","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Invite Flow"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserProfile"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/tour-progress":{"get":{"tags":["users"],"summary":"Get product tour progress","description":"Return the map of tour_id -> completion flag for the authenticated user.","operationId":"get_tour_progress_api_v1_users_tour_progress_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TourProgressResponse"}}}}}}},"/api/v1/users/tour-progress/{tour_id}":{"patch":{"tags":["users"],"summary":"Mark a product tour as completed/not completed","description":"Upsert a single tour completion flag on the authenticated user's profile.","operationId":"update_tour_progress_api_v1_users_tour_progress__tour_id__patch","parameters":[{"name":"tour_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[a-z0-9_]{1,64}$","description":"Tour identifier. Lowercase alphanumerics and underscores, max 64 chars.","title":"Tour Id"},"description":"Tour identifier. Lowercase alphanumerics and underscores, max 64 chars."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTourProgress"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TourProgressResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/users/health/":{"get":{"tags":["users"],"summary":"User Health","operationId":"user_health_api_v1_users_health__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/login/":{"post":{"tags":["auth"],"summary":"User Login/Signup","description":"Authenticate user with email. For OTP login, sends OTP to email. For social login, validates token and returns full authentication response.","operationId":"login_api_v1_auth_login__post","parameters":[{"name":"passcode","in":"header","required":false,"schema":{"type":"string","description":"Super user passcode for testing","title":"Passcode"},"description":"Super user passcode for testing"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}}},"responses":{"200":{"description":"Login successful","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/LoginResponse"},{"$ref":"#/components/schemas/AuthenticatedResponse"},{"$ref":"#/components/schemas/SocialAuthResponse"}],"title":"Response Login Api V1 Auth Login  Post"},"examples":{"otp_login":{"summary":"OTP Login Response","value":{"message":"OTP sent successfully","user":{"id":"user-id","email":"user@example.com","status":"PENDING_APPROVAL","auth_provider":"OTP","created_at":"2024-01-01T00:00:00Z"},"otp_expires_in":5,"requires_otp":true}},"social_login":{"summary":"Social Login Response","value":{"user":{"id":"user-id","email":"user@example.com"},"user_profile":{"id":"profile-id","first_name":"John"},"access_token":"jwt-token","refresh_token":"refresh-token","session_token":"session-token","is_first_time":false,"workspaces":[],"social_profile":{"name":"John Doe","provider":"GOOGLE"}}}}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"402":{"description":"Social auth validation failed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"User not approved","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/validate/otp/":{"post":{"tags":["auth"],"summary":"Validate OTP","description":"Validate OTP code and complete user authentication","operationId":"validate_otp_api_v1_auth_validate_otp__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidateOtpRequest"}}},"required":true},"responses":{"200":{"description":"OTP validated, user authenticated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthenticatedResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"402":{"description":"OTP does not match","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"410":{"description":"OTP expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh/token/":{"post":{"tags":["auth"],"summary":"Refresh Access Token","description":"Generate new access token using refresh token","operationId":"refresh_token_api_v1_auth_refresh_token__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenRequest"}}},"required":true},"responses":{"200":{"description":"Token refreshed successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshTokenResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"423":{"description":"Refresh token expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/validate/invite/token/":{"post":{"tags":["auth"],"summary":"Validate Invitation Token","description":"Validate workspace invitation token","operationId":"validate_invite_token_api_v1_auth_validate_invite_token__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteTokenRequest"}}},"required":true},"responses":{"200":{"description":"Token validation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteTokenResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/resend/otp/":{"post":{"tags":["auth"],"summary":"Resend OTP","description":"Resend OTP to user's email","operationId":"resend_otp_api_v1_auth_resend_otp__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResendOtpRequest"}}},"required":true},"responses":{"200":{"description":"OTP resent successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"404":{"description":"User not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout/":{"post":{"tags":["auth"],"summary":"User Logout","description":"Logout user and invalidate sessions","operationId":"logout_api_v1_auth_logout__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutRequest"}}},"required":true},"responses":{"200":{"description":"Logged out successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoutResponse"}}}},"400":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/health/":{"get":{"tags":["auth"],"summary":"Health Check","description":"Check authentication service health","operationId":"health_check_api_v1_auth_health__get","responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResponse"}}}},"500":{"description":"Service unhealthy","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/api/v1/invitation/validate/token":{"get":{"tags":["invitation"],"summary":"Validate invitation token","description":"Validate invitation token and return invitation details if valid","operationId":"validate_invitation_token_api_v1_invitation_validate_token_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationTokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/invitation/accept/":{"post":{"tags":["invitation"],"summary":"Accept invitation","description":"Accept workspace invitation and create/update user account","operationId":"accept_invitation_api_v1_invitation_accept__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInvitationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationAcceptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/details":{"get":{"tags":["workspace"],"summary":"Get comprehensive workspace details","description":"Get all data of workspace including Workspace, WorkspaceRole, WorkspaceMember, WorkspaceConfig, WorkspaceSetup, WorkspaceInvitation tables","operationId":"get_comprehensive_workspace_details_api_v1_workspace_details_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceDetailsResponse"}}}}}}},"/api/v1/workspace/members/detailed":{"get":{"tags":["workspace"],"summary":"Get detailed workspace members","description":"Get all data of workspace members including user details, user profiles, and role details","operationId":"get_detailed_workspace_members_api_v1_workspace_members_detailed_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkspaceMemberResponse"},"type":"array","title":"Response Get Detailed Workspace Members Api V1 Workspace Members Detailed Get"}}}}}}},"/api/v1/workspace/roles":{"get":{"tags":["workspace"],"summary":"Get all workspace roles","description":"Get all data of workspace roles from workspace_roles table","operationId":"get_all_workspace_roles_api_v1_workspace_roles_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/WorkspaceRoleResponse"},"type":"array","title":"Response Get All Workspace Roles Api V1 Workspace Roles Get"}}}}}}},"/api/v1/workspace/invite":{"post":{"tags":["workspace"],"summary":"Invite user to workspace","description":"Invite a single user to workspace and create entry in workspace_invitations table","operationId":"invite_user_to_workspace_api_v1_workspace_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWorkspaceInvitation"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/config":{"get":{"tags":["workspace"],"summary":"Get workspace config","description":"Get workspace config from workspace_config table","operationId":"get_workspace_config_api_v1_workspace_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceConfigResponse"}}}}}}},"/api/v1/workspace/monitoring/config":{"get":{"tags":["workspace"],"summary":"Get AI monitoring configuration","description":"Get the AI monitoring configuration for the workspace including frequency, platforms, and schedule.","operationId":"get_monitoring_config_api_v1_workspace_monitoring_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigResponse"}}}}}},"put":{"tags":["workspace"],"summary":"Update AI monitoring configuration","description":"Update the AI monitoring configuration for the workspace.","operationId":"update_monitoring_config_api_v1_workspace_monitoring_config_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/aliases":{"get":{"tags":["workspace"],"summary":"Get all workspace aliases","description":"Get all aliases for the workspace","operationId":"get_workspace_aliases_api_v1_workspace_aliases_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Workspace Aliases Api V1 Workspace Aliases Get"}}}}}}},"/api/v1/workspace/user/":{"get":{"tags":["workspace"],"summary":"Get User Workspace Details","description":"Get workspaces for the authenticated user with their role details. If workspace_id is provided, returns single workspace details, otherwise returns all workspaces.","operationId":"get_user_workspace_details_api_v1_workspace_user__get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"description":"Optional workspace ID to filter by specific workspace","title":"Workspace Id"},"description":"Optional workspace ID to filter by specific workspace"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/UserWorkspaceDetailsResponse"}},{"$ref":"#/components/schemas/UserWorkspaceDetailsResponse"}],"title":"Response Get User Workspace Details Api V1 Workspace User  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/create/agency-client":{"post":{"tags":["workspace"],"summary":"Create an agency client workspace","description":"Create an agency client workspace for the agency owner workspace","operationId":"create_agency_client_api_v1_workspace_create_agency_client_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__workspace__schemas__CreateAgencyClientRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAgencyClientResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/agency/invite-member":{"post":{"tags":["workspace"],"summary":"Invite member to agency workspaces","description":"Invite a member to multiple agency workspaces. Validates that the requesting user is the agency owner and can only invite to parent or child workspaces.","operationId":"invite_member_to_agency_api_v1_workspace_agency_invite_member_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteMemberToAgencyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvitationCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace/agency/info":{"get":{"tags":["workspace"],"summary":"Get agency information","description":"Get comprehensive agency information including all sub-workspaces and their members. Only accessible by agency owners.","operationId":"get_agency_info_api_v1_workspace_agency_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__workspace__schemas__AgencyInfoResponse"}}}}}}},"/api/v1/workspace/me/notification-preferences":{"get":{"tags":["workspace"],"summary":"Get my notification preferences","description":"Return notification toggles for the authenticated user in the active workspace. Defaults are applied for keys that have not been set yet.","operationId":"get_my_notification_preferences_api_v1_workspace_me_notification_preferences_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPreferences"}}}}}},"patch":{"tags":["workspace"],"summary":"Update my notification preferences","description":"Partially update notification toggles for the authenticated user in the active workspace.","operationId":"update_my_notification_preferences_api_v1_workspace_me_notification_preferences_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateNotificationPreferences"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationPreferences"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/clients":{"get":{"tags":["agency-owner"],"summary":"List agency clients","description":"Get all client workspaces belonging to an agency.","operationId":"list_clients_api_v1_agency_owner_clients_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyClientListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["agency-owner"],"summary":"Create agency client","description":"Create a new client workspace under the agency.","operationId":"create_client_api_v1_agency_owner_clients_post","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/app__agency_owner__schemas__CreateAgencyClientRequest"},{"type":"null"}],"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Client Api V1 Agency Owner Clients Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/info":{"get":{"tags":["agency-owner"],"summary":"Get agency information","description":"Get comprehensive agency information including all sub-workspaces and members.","operationId":"get_agency_info_api_v1_agency_owner_info_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__agency_owner__schemas__AgencyInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/invite-member":{"post":{"tags":["agency-owner"],"summary":"Invite member to agency workspaces","description":"Invite a member to one or more workspaces in the agency hierarchy.","operationId":"invite_member_api_v1_agency_owner_invite_member_post","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAgencyMemberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteAgencyMemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/billing/overview":{"get":{"tags":["agency-owner"],"summary":"Get agency billing overview","description":"Get aggregated billing information for agency and all clients.","operationId":"get_billing_overview_api_v1_agency_owner_billing_overview_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyBillingOverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/billing/allocations":{"get":{"tags":["agency-owner"],"summary":"Get credit allocation history","description":"Get history of credit allocations from agency to clients.","operationId":"get_allocation_history_api_v1_agency_owner_billing_allocations_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Max records to return","default":50,"title":"Limit"},"description":"Max records to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Offset for pagination","default":0,"title":"Offset"},"description":"Offset for pagination"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditAllocationHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/billing/allocate":{"post":{"tags":["agency-owner"],"summary":"Allocate credits to client","description":"Allocate credits from the agency to a client workspace.","operationId":"allocate_credits_api_v1_agency_owner_billing_allocate_post","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllocateAgencyCreditsRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllocateAgencyCreditsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/usage":{"get":{"tags":["agency-owner"],"summary":"Get agency usage statistics","description":"Get usage statistics for the agency and all clients in a time period.","operationId":"get_usage_stats_api_v1_agency_owner_usage_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"},{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Start date for the usage period (ISO format)","title":"Start Date"},"description":"Start date for the usage period (ISO format)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"End date for the usage period (ISO format)","title":"End Date"},"description":"End date for the usage period (ISO format)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgencyUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agency-owner/monitoring/config":{"get":{"tags":["agency-owner"],"summary":"Get monitoring config for a client workspace","description":"Get AI monitoring configuration for a specific client workspace in the agency.","operationId":"get_client_monitoring_config_api_v1_agency_owner_monitoring_config_get","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Target client workspace ID","title":"Workspace Id"},"description":"Target client workspace ID"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["agency-owner"],"summary":"Update monitoring config for a client workspace","description":"Update AI monitoring configuration for a specific client workspace in the agency.","operationId":"update_client_monitoring_config_api_v1_agency_owner_monitoring_config_put","parameters":[{"name":"agency_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Agency workspace ID","title":"Agency Id"},"description":"Agency workspace ID"},{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","format":"uuid","description":"Target client workspace ID","title":"Workspace Id"},"description":"Target client workspace ID"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitoringConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspace-summary/latest":{"get":{"tags":["workspace-summary"],"summary":"Get Latest Summary","description":"Get the most recent completed summary for the workspace.\n\nReturns null if no summary has been generated yet.","operationId":"get_latest_summary_api_v1_workspace_summary_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceSummaryResponse"},{"type":"null"}],"title":"Response Get Latest Summary Api V1 Workspace Summary Latest Get"}}}}}}},"/api/v1/workspace-summary":{"get":{"tags":["workspace-summary"],"summary":"Get Summaries","description":"Get paginated list of summaries for the workspace.","operationId":"get_summaries_api_v1_workspace_summary_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceSummaryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications":{"get":{"tags":["notifications"],"summary":"Get Notifications","description":"Get notifications for the current user in the current workspace.\n\nReturns paginated list of notifications with unread count and total count.","operationId":"get_notifications_api_v1_notifications_get","parameters":[{"name":"unread_only","in":"query","required":false,"schema":{"type":"boolean","description":"Filter to only unread notifications","default":false,"title":"Unread Only"},"description":"Filter to only unread notifications"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of notifications to return","default":20,"title":"Limit"},"description":"Number of notifications to return"},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"description":"Offset for pagination","default":0,"title":"Offset"},"description":"Offset for pagination"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/unread-count":{"get":{"tags":["notifications"],"summary":"Get Unread Count","description":"Get the count of unread notifications for the current user.\n\nUseful for displaying notification badge counts.","operationId":"get_unread_count_api_v1_notifications_unread_count_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnreadCountResponse"}}}}}}},"/api/v1/notifications/{notification_id}/read":{"patch":{"tags":["notifications"],"summary":"Mark Notification Read","description":"Mark a specific notification as read.\n\nOnly marks if notification belongs to current user and workspace.","operationId":"mark_notification_read_api_v1_notifications__notification_id__read_patch","parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","title":"Notification Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkReadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/notifications/read-all":{"post":{"tags":["notifications"],"summary":"Mark All Read","description":"Mark all notifications as read for the current user in the current workspace.","operationId":"mark_all_read_api_v1_notifications_read_all_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MarkReadResponse"}}}}}}},"/api/v1/competitor-comparison/":{"get":{"tags":["competitor-comparison"],"summary":"List Comparisons","description":"Get paginated list of competitor comparisons for the workspace.","operationId":"list_comparisons_api_v1_competitor_comparison__get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorComparisonListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitor-comparison/latest":{"get":{"tags":["competitor-comparison"],"summary":"Get Latest Comparison","description":"Get the most recent completed comparison for the workspace.\n\nReturns null if no comparison has been generated yet.","operationId":"get_latest_comparison_api_v1_competitor_comparison_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CompetitorComparisonResponse"},{"type":"null"}],"title":"Response Get Latest Comparison Api V1 Competitor Comparison Latest Get"}}}}}}},"/api/v1/competitor-comparison/landscape":{"get":{"tags":["competitor-comparison"],"summary":"Get Landscape Chart","description":"Get competitive landscape chart data: visibility (X) vs share of voice (Y)\nfor the brand and all active competitors.\n\nReturns chart-ready coordinates for each entity. Pure DB aggregation,\nno LLM or external API calls. Defaults to last 30 days if no dates provided.","operationId":"get_landscape_chart_api_v1_competitor_comparison_landscape_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LandscapeChartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitor-comparison/{comparison_id}":{"get":{"tags":["competitor-comparison"],"summary":"Get Comparison","description":"Get a specific competitor comparison by ID.","operationId":"get_comparison_api_v1_competitor_comparison__comparison_id__get","parameters":[{"name":"comparison_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Comparison Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorComparisonResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitor-comparison/trigger":{"post":{"tags":["competitor-comparison"],"summary":"Trigger Comparison","description":"Trigger async competitor comparison generation via Inngest.\n\nThis endpoint triggers the comparison in the background and returns immediately.\nUse the list/get endpoints to check the status.","operationId":"trigger_comparison_api_v1_competitor_comparison_trigger_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerComparisonRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerComparisonResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitor-comparison/generate":{"post":{"tags":["competitor-comparison"],"summary":"Generate Comparison","description":"Generate a competitor comparison report on-demand (synchronous).\n\nThis endpoint first checks if a comparison was generated for the same competitor\nwithin the last 24 hours. If so, returns the existing report. Otherwise,\ngenerates a new comparison.\n\nArgs:\n    competitor_id: ID of the competitor to compare against\n    include_scraping: Whether to scrape fresh competitor data (default: True)\n\nReturns:\n    Complete CompetitorComparisonResponse with metrics and AI insights","operationId":"generate_comparison_api_v1_competitor_comparison_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateComparisonRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorComparisonResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/":{"post":{"tags":["topics"],"summary":"Create Topic","description":"Create a new topic in the workspace.\n\nArgs:\n    request: Request object containing workspace context\n    data: Topic creation data\n    session: Database session\n    \nReturns:\n    Created topic data\n    \nRaises:\n    409 Conflict: If topic name already exists\n    400 Bad Request: If validation fails","operationId":"create_topic_api_v1_topics__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopicRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["topics"],"summary":"Get All Topics","description":"Get all topics for the workspace with prompt counts.\n\nArgs:\n    request: Request object containing workspace context\n    include_inactive: Whether to include inactive topics\n    session: Database session\n    \nReturns:\n    List of topics with prompt counts","operationId":"get_all_topics_api_v1_topics__get","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Inactive"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetAllTopicsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/analytics":{"get":{"tags":["topics"],"summary":"Get Topics With Analytics","description":"Get all topics with their aggregated analytics and unorganized prompts data.\n\nArgs:\n    request: Request object containing workspace context\n    params: Analytics query parameters (date range, platform filter)\n    session: Database session\n    \nReturns:\n    Topics with analytics and unorganized prompts summary","operationId":"get_topics_with_analytics_api_v1_topics_analytics_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllTopicsAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/{topic_id}/analytics":{"get":{"tags":["topics"],"summary":"Get Topic Detailed Analytics","description":"Get detailed analytics for a specific topic with individual prompt data.\n\nArgs:\n    request: Request object containing workspace context\n    topic_id: ID of the topic\n    params: Analytics query parameters (date range, platform filter)\n    session: Database session\n    \nReturns:\n    Topic with detailed prompt-level analytics\n    \nRaises:\n    404 Not Found: If topic doesn't exist or doesn't belong to workspace","operationId":"get_topic_detailed_analytics_api_v1_topics__topic_id__analytics_get","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Topic Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicDetailedAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/prompts/{prompt_id}/topic":{"put":{"tags":["topics"],"summary":"Attach Prompt To Topic","description":"Attach a prompt to a topic or detach it from its current topic.\n\nArgs:\n    request: Request object containing workspace context\n    prompt_id: ID of the prompt\n    data: Topic attachment data (topic_id=null to detach)\n    session: Database session\n    \nReturns:\n    204 No Content on success\n    \nRaises:\n    404 Not Found: If prompt or topic doesn't exist\n    400 Bad Request: If validation fails","operationId":"attach_prompt_to_topic_api_v1_topics_prompts__prompt_id__topic_put","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachPromptToTopicRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/prompts/batch/topic":{"put":{"tags":["topics"],"summary":"Batch Attach Prompts To Topic","description":"Batch attach/detach multiple prompts to/from a topic.\n\nArgs:\n    request: Request object containing workspace context\n    data: Batch operation data with prompt IDs and topic ID\n    session: Database session\n    \nReturns:\n    Batch operation results showing successful and failed operations\n    \nRaises:\n    404 Not Found: If topic doesn't exist (when attaching)\n    400 Bad Request: If validation fails","operationId":"batch_attach_prompts_to_topic_api_v1_topics_prompts_batch_topic_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchPromptTopicRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BatchOperationResult"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/topics/{topic_id}":{"patch":{"tags":["topics"],"summary":"Update Topic","description":"Update a topic's information.\n\nArgs:\n    request: Request object containing workspace context\n    topic_id: ID of the topic to update\n    data: Topic update data\n    session: Database session\n    \nReturns:\n    Updated topic data\n    \nRaises:\n    404 Not Found: If topic doesn't exist or doesn't belong to workspace\n    409 Conflict: If new name already exists\n    400 Bad Request: If validation fails","operationId":"update_topic_api_v1_topics__topic_id__patch","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Topic Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateTopicRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["topics"],"summary":"Delete Topic","description":"Delete a topic (soft delete).\n\nArgs:\n    request: Request object containing workspace context\n    topic_id: ID of the topic to delete\n    session: Database session\n    \nReturns:\n    204 No Content on success\n    \nRaises:\n    404 Not Found: If topic doesn't exist or doesn't belong to workspace","operationId":"delete_topic_api_v1_topics__topic_id__delete","parameters":[{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Topic Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/archived":{"get":{"tags":["prompts"],"summary":"Get archived prompts with analytics","description":"Get all archived prompts with their analytics data.","operationId":"get_archived_prompts_api_v1_prompts_archived_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"competitor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competitor Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PromptSortBy","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__prompt__schemas__SortOrder","default":"desc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/trigger-execution":{"post":{"tags":["prompts"],"summary":"Trigger workspace execution","description":"Trigger immediate execution of all active prompts for a workspace, bypassing the daily cron schedule.","operationId":"trigger_workspace_execution_api_v1_prompts_trigger_execution_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerExecutionResponse"}}}}}}},"/api/v1/prompts/intents":{"get":{"tags":["prompts"],"summary":"Get all intent types","description":"Get all available intent types with their definitions, content recommendations, and typical keywords.","operationId":"get_all_intents_api_v1_prompts_intents_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentListResponse"}}}}}}},"/api/v1/prompts/":{"post":{"tags":["prompts"],"summary":"Create a new prompt","description":"Create a new prompt for the workspace.","operationId":"create_prompt_api_v1_prompts__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePromptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["prompts"],"summary":"Get all prompts with analytics","description":"Get all prompts with analytics. Defaults to last 7 days if dates not provided.","operationId":"get_all_prompts_with_analytics_api_v1_prompts__get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"competitor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competitor Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PromptSortBy","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__prompt__schemas__SortOrder","default":"desc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptsListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/bulk-upload":{"post":{"tags":["prompts"],"summary":"Bulk Upload Prompts","operationId":"bulk_upload_prompts_api_v1_prompts_bulk_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_bulk_upload_prompts_api_v1_prompts_bulk_upload_post"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptCsvImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/{prompt_id}":{"put":{"tags":["prompts"],"summary":"Update a prompt","description":"Update a prompt for the workspace.","operationId":"update_prompt_api_v1_prompts__prompt_id__put","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePromptRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/bulk-archive":{"post":{"tags":["prompts"],"summary":"Bulk archive prompts","description":"Archive multiple prompts at once. IDs that are not found, belong to another workspace, or are already archived are returned in failed_ids.","operationId":"bulk_archive_prompts_api_v1_prompts_bulk_archive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkArchiveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkArchiveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/bulk-unarchive":{"post":{"tags":["prompts"],"summary":"Bulk unarchive prompts","description":"Restore multiple archived prompts to ACTIVE status. IDs that are not found, belong to another workspace, or are not archived are returned in failed_ids.","operationId":"bulk_unarchive_prompts_api_v1_prompts_bulk_unarchive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkArchiveRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkUnarchiveResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/{prompt_id}/archive":{"post":{"tags":["prompts"],"summary":"Archive a prompt","description":"Archive a prompt (soft-delete with ARCHIVED status).","operationId":"archive_prompt_api_v1_prompts__prompt_id__archive_post","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/{prompt_id}/unarchive":{"post":{"tags":["prompts"],"summary":"Unarchive a prompt","description":"Restore an archived prompt to INACTIVE status.","operationId":"unarchive_prompt_api_v1_prompts__prompt_id__unarchive_post","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/{prompt_id}/executions":{"get":{"tags":["prompts"],"summary":"Get prompt execution details","description":"Get detailed execution data for a specific prompt with timeseries analytics. Defaults to last 7 days if dates not provided.","operationId":"get_prompt_execution_details_api_v1_prompts__prompt_id__executions_get","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Prompt Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"competitor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competitor Id"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/ExecutionSortBy","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__prompt__schemas__SortOrder","default":"desc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptExecutionDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/executions/{execution_id}":{"get":{"tags":["prompts"],"summary":"Get prompt execution details","description":"Get detailed information about a specific prompt execution including citations and mentions.","operationId":"get_execution_details_api_v1_prompts_executions__execution_id__get","parameters":[{"name":"execution_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Execution Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExecutionDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/prompts/refresh":{"post":{"tags":["prompts"],"summary":"Refresh prompts for a keyword","description":"Generate new prompts for a specific keyword using AI. This will create fresh queries that are different from existing ones.","operationId":"refresh_prompts_for_keyword_api_v1_prompts_refresh_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshPromptsRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshPromptsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/clusters":{"get":{"tags":["keyword-clusters"],"summary":"List keyword clusters","operationId":"list_clusters_api_v1_keywords_clusters_get","parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter clusters by name or member keyword","title":"Search"},"description":"Filter clusters by name or member keyword"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/clusters/{cluster_id}":{"get":{"tags":["keyword-clusters"],"summary":"Get cluster detail with members","operationId":"get_cluster_detail_api_v1_keywords_clusters__cluster_id__get","parameters":[{"name":"cluster_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cluster Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/clusters/{cluster_id}/rename":{"post":{"tags":["keyword-clusters"],"summary":"Rename a cluster","operationId":"rename_cluster_api_v1_keywords_clusters__cluster_id__rename_post","parameters":[{"name":"cluster_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Cluster Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameClusterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClusterResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/recluster":{"post":{"tags":["keyword-clusters"],"summary":"Trigger cluster rebuild","operationId":"recluster_api_v1_keywords_recluster_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReclusterResponse"}}}}}}},"/api/v1/keywords/":{"get":{"tags":["keywords"],"summary":"Get all keywords for workspace","description":"Get all keywords for a workspace with their latest monthly search data.","operationId":"get_keywords_api_v1_keywords__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordListResponse"}}}}}},"post":{"tags":["keywords"],"summary":"Add a keyword to workspace","description":"Add a new keyword to the workspace. Triggers background fetch of search volume data.","operationId":"add_keyword_api_v1_keywords__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddKeywordRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddKeywordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/explorer":{"get":{"tags":["keywords"],"summary":"Keyword explorer with scores and filters","operationId":"get_keyword_explorer_api_v1_keywords_explorer_get","parameters":[{"name":"status_filter","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/KeywordStatus"},{"type":"null"}],"title":"Status Filter"}},{"name":"is_quick_win","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Quick Win"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}},{"name":"min_health_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Health Score"}},{"name":"min_volume","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Min Volume"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/KeywordSortBy","default":"health_score"}},{"name":"sort_order","in":"query","required":false,"schema":{"enum":["asc","desc"],"type":"string","default":"desc","title":"Sort Order"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnhancedKeywordListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/quick-wins":{"get":{"tags":["keywords"],"summary":"Get quick-win keywords","operationId":"get_quick_wins_api_v1_keywords_quick_wins_get","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":{"type":"array","items":{"$ref":"#/components/schemas/EnhancedKeywordResponse"},"title":"Response Get Quick Wins Api V1 Keywords Quick Wins Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/bulk-archive":{"post":{"tags":["keywords"],"summary":"Archive keywords in bulk","operationId":"bulk_archive_keywords_api_v1_keywords_bulk_archive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/bulk-unarchive":{"post":{"tags":["keywords"],"summary":"Unarchive keywords in bulk","operationId":"bulk_unarchive_keywords_api_v1_keywords_bulk_unarchive_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/bulk-tag":{"post":{"tags":["keywords"],"summary":"Tag keywords in bulk","operationId":"bulk_tag_keywords_api_v1_keywords_bulk_tag_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkTagRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/bulk-delete":{"post":{"tags":["keywords"],"summary":"Soft-delete keywords in bulk","operationId":"bulk_delete_keywords_api_v1_keywords_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/trending":{"get":{"tags":["keywords"],"summary":"Get trending keywords relevant to workspace","operationId":"get_trending_keywords_api_v1_keywords_trending_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":30,"minimum":1,"default":7,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrendingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/competitor-gap/{competitor_id}":{"get":{"tags":["keywords"],"summary":"Get keyword gap vs competitor","operationId":"get_competitor_gap_api_v1_keywords_competitor_gap__competitor_id__get","parameters":[{"name":"competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competitor Id"}},{"name":"workspace_domain","in":"query","required":true,"schema":{"type":"string","description":"Your domain","title":"Workspace Domain"},"description":"Your domain"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorGapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/competitor-overlap/{competitor_id}":{"get":{"tags":["keywords"],"summary":"Get keyword overlap with competitor","operationId":"get_competitor_overlap_api_v1_keywords_competitor_overlap__competitor_id__get","parameters":[{"name":"competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competitor Id"}},{"name":"workspace_domain","in":"query","required":true,"schema":{"type":"string","description":"Your domain","title":"Workspace Domain"},"description":"Your domain"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorGapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/{workspace_keyword_id}/brief":{"post":{"tags":["keywords"],"summary":"Generate optimization brief (3 credits)","operationId":"generate_keyword_brief_api_v1_keywords__workspace_keyword_id__brief_post","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordBriefResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/{workspace_keyword_id}/briefs":{"get":{"tags":["keywords"],"summary":"List briefs for keyword","operationId":"list_keyword_briefs_api_v1_keywords__workspace_keyword_id__briefs_get","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordBriefListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/{workspace_keyword_id}/history":{"get":{"tags":["keywords"],"summary":"Get keyword score history","operationId":"get_keyword_history_api_v1_keywords__workspace_keyword_id__history_get","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}},{"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":{"$ref":"#/components/schemas/ScoreHistoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/{workspace_keyword_id}/prompts":{"get":{"tags":["keywords"],"summary":"Get keyword with prompts and analytics","description":"Get a single keyword with all its associated prompts and their analytics data.","operationId":"get_keyword_prompts_api_v1_keywords__workspace_keyword_id__prompts_get","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"competitor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Competitor Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":10,"title":"Page Size"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/PromptSortBy","default":"created_at"}},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__prompt__schemas__SortOrder","default":"desc"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/KeywordWithPromptsDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/keywords/{workspace_keyword_id}":{"get":{"tags":["keywords"],"summary":"Get single keyword with scores","operationId":"get_keyword_detail_api_v1_keywords__workspace_keyword_id__get","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnhancedKeywordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitors/":{"get":{"tags":["competitors"],"summary":"Get all competitors for workspace","description":"Get all active competitors for the current workspace. Optionally include metrics by providing date range.","operationId":"get_competitors_api_v1_competitors__get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CompetitorResponse"},"title":"Response Get Competitors Api V1 Competitors  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["competitors"],"summary":"Create a new competitor","description":"Create a new competitor for the current workspace.","operationId":"create_competitor_api_v1_competitors__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCompetitorRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitors/{competitor_id}":{"put":{"tags":["competitors"],"summary":"Update a competitor","description":"Update an existing competitor in the current workspace.","operationId":"update_competitor_api_v1_competitors__competitor_id__put","parameters":[{"name":"competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competitor Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCompetitorRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompetitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["competitors"],"summary":"Delete a competitor","description":"Delete (soft delete) a competitor from the current workspace.","operationId":"delete_competitor_api_v1_competitors__competitor_id__delete","parameters":[{"name":"competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Competitor Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitors/proposed/":{"get":{"tags":["competitor-extraction"],"summary":"Get Proposed Competitors","operationId":"get_proposed_competitors_api_v1_competitors_proposed__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProposedCompetitorListResponse"}}}}}}},"/api/v1/competitors/proposed/{proposed_competitor_id}/approve":{"post":{"tags":["competitor-extraction"],"summary":"Approve Proposed Competitor","operationId":"approve_proposed_competitor_api_v1_competitors_proposed__proposed_competitor_id__approve_post","parameters":[{"name":"proposed_competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposed Competitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApproveProposedCompetitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/competitors/proposed/{proposed_competitor_id}/reject":{"post":{"tags":["competitor-extraction"],"summary":"Reject Proposed Competitor","operationId":"reject_proposed_competitor_api_v1_competitors_proposed__proposed_competitor_id__reject_post","parameters":[{"name":"proposed_competitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Proposed Competitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RejectProposedCompetitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contents/":{"get":{"tags":["content"],"summary":"List Contents","description":"List contents for the workspace with optional filtering and pagination.","operationId":"list_contents_api_v1_contents__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ContentStatus"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":50,"title":"Limit"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["content"],"summary":"Create Content","description":"Create new content and trigger strategy generation workflow.","operationId":"create_content_api_v1_contents__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contents/{content_id}":{"get":{"tags":["content"],"summary":"Get Content","description":"Get content details with polymorphic data based on status.","operationId":"get_content_api_v1_contents__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["content"],"summary":"Update Content","description":"Update content (submit titles, approve brief, or regenerate).","operationId":"update_content_api_v1_contents__content_id__patch","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["content"],"summary":"Delete Content","description":"Soft delete a content item.","operationId":"delete_content_api_v1_contents__content_id__delete","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contents/{content_id}/cancel":{"post":{"tags":["content"],"summary":"Cancel Content","description":"Request cancellation of in-progress content generation.","operationId":"cancel_content_api_v1_contents__content_id__cancel_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/generate":{"post":{"tags":["content-roadmaps"],"summary":"Generate Content Roadmap","operationId":"generate_content_roadmap_api_v1_content_roadmaps_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapGenerateRequest"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapStatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/latest":{"get":{"tags":["content-roadmaps"],"summary":"Get Latest Content Roadmap","operationId":"get_latest_content_roadmap_api_v1_content_roadmaps_latest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapDetailResponse"}}}}}}},"/api/v1/content-roadmaps/{roadmap_id}/items/{item_id}":{"patch":{"tags":["content-roadmaps"],"summary":"Update Content Roadmap Item","operationId":"update_content_roadmap_item_api_v1_content_roadmaps__roadmap_id__items__item_id__patch","parameters":[{"name":"roadmap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Roadmap Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapItemActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapItemActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/{roadmap_id}/items/{item_id}/generate-content":{"post":{"tags":["content-roadmaps"],"summary":"Generate Content For Roadmap Item","operationId":"generate_content_for_roadmap_item_api_v1_content_roadmaps__roadmap_id__items__item_id__generate_content_post","parameters":[{"name":"roadmap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Roadmap Id"}},{"name":"item_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Item Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapGenerateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/{roadmap_id}/evaluation":{"get":{"tags":["content-roadmaps"],"summary":"Get Content Roadmap Evaluation","operationId":"get_content_roadmap_evaluation_api_v1_content_roadmaps__roadmap_id__evaluation_get","parameters":[{"name":"roadmap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Roadmap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapEvaluationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/{roadmap_id}/intelligence-audit":{"get":{"tags":["content-roadmaps"],"summary":"Get Content Roadmap Intelligence Audit","operationId":"get_content_roadmap_intelligence_audit_api_v1_content_roadmaps__roadmap_id__intelligence_audit_get","parameters":[{"name":"roadmap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Roadmap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentIntelligenceAuditResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-roadmaps/{roadmap_id}":{"get":{"tags":["content-roadmaps"],"summary":"Get Content Roadmap","operationId":"get_content_roadmap_api_v1_content_roadmaps__roadmap_id__get","parameters":[{"name":"roadmap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Roadmap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentRoadmapDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/analyze-company":{"post":{"tags":["ai-visibility"],"summary":"Analyze Company Endpoint","operationId":"analyze_company_endpoint_api_v1_ai_analyze_company_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeCompanyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeCompanyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/find-competitors":{"post":{"tags":["ai-visibility"],"summary":"Find Competitors Endpoint","operationId":"find_competitors_endpoint_api_v1_ai_find_competitors_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindCompetitorsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FindCompetitorsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/generate-queries":{"post":{"tags":["ai-visibility"],"summary":"Generate Queries Endpoint","operationId":"generate_queries_endpoint_api_v1_ai_generate_queries_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateQueriesRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateQueriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/generate-queries-with-keyword":{"post":{"tags":["ai-visibility"],"summary":"Generate Queries With Keyword Endpoint","operationId":"generate_queries_with_keyword_endpoint_api_v1_ai_generate_queries_with_keyword_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateQueriesWithKeywordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateQueriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai/analyze-citations":{"post":{"tags":["ai-visibility"],"summary":"Analyze Citations Endpoint","operationId":"analyze_citations_endpoint_api_v1_ai_analyze_citations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeCitationsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyzeCitationsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/score":{"get":{"tags":["visibility"],"summary":"Get Visibility Score","description":"Get visibility score for the workspace brand.\n\nThe visibility score represents how often your brand is mentioned in AI responses\ncompared to the total number of prompt executions.\n\nFormula: (Brand mentions / Total executions) * 100","operationId":"get_visibility_score_api_v1_visibility_score_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}},{"name":"include_time_series","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Time Series"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilityScoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/ranking":{"get":{"tags":["visibility"],"summary":"Get Visibility Ranking","description":"Get visibility ranking comparing user brand vs competitors.\n\nReturns a ranked list of all brands (user brand + competitors) based on\ntheir visibility scores in descending order.","operationId":"get_visibility_ranking_api_v1_visibility_ranking_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilityRankingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/share-of-voice":{"get":{"tags":["visibility"],"summary":"Get Share Of Voice","description":"Get share of voice for the workspace brand and competitors.\n\nShare of voice represents the percentage of total company mentions\nthat belong to each brand across all AI responses.\n\nFormula: (Brand mentions / Total company mentions) * 100","operationId":"get_share_of_voice_api_v1_visibility_share_of_voice_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":5,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareOfVoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/share-of-voice/ranking":{"get":{"tags":["visibility"],"summary":"Get Share Of Voice Ranking","description":"Get share of voice ranking for all brands.\n\nReturns a complete ranking of all brands (user brand + competitors)\nbased on their share of voice percentages in descending order.","operationId":"get_share_of_voice_ranking_api_v1_visibility_share_of_voice_ranking_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ShareOfVoiceRankingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/average-position":{"get":{"tags":["visibility"],"summary":"Get Average Position","description":"Get average position score for the workspace brand.\n\nThe average position represents the average ranking position of your brand\nwhen mentioned in AI responses (lower is better - 1st position is best).","operationId":"get_average_position_api_v1_visibility_average_position_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}},{"name":"include_time_series","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Time Series"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AveragePositionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/average-position/ranking":{"get":{"tags":["visibility"],"summary":"Get Average Position Ranking","description":"Get average position ranking comparing user brand vs competitors.\n\nReturns a ranked list of all brands based on their average mention position\nin AI responses. Lower average position is better (1st position beats 2nd position).","operationId":"get_average_position_ranking_api_v1_visibility_average_position_ranking_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AveragePositionRankingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/sentiment-distribution":{"get":{"tags":["visibility"],"summary":"Get Sentiment Distribution","description":"Get sentiment distribution for brand mentions.\n\nReturns counts of positive, neutral, and negative sentiment mentions\nacross all AI platform responses within the specified date range.\nOnly includes mentions where sentiment analysis data is available.","operationId":"get_sentiment_distribution_api_v1_visibility_sentiment_distribution_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentimentDistributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/citation-type-distribution":{"get":{"tags":["visibility"],"summary":"Get Citation Type Distribution","description":"Get citation type distribution.\n\nReturns counts of citations grouped by type (OWNED, COMPETITOR, SOCIAL, REVIEW, EARNED)\nacross all AI platform responses within the specified date range.","operationId":"get_citation_type_distribution_api_v1_visibility_citation_type_distribution_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CitationTypeDistributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/visibility/visibility-comparison":{"get":{"tags":["visibility"],"summary":"Get Visibility Comparison","description":"Get visibility comparison for user brand vs top 4 competitors.\n\nReturns daily time series data showing visibility percentages for:\n- Your brand\n- Top 4 competitors (by mention count)\n\nUses simple aggregation (mentions / executions) for fair comparison across all brands.\nThis calculation differs from /score which uses per-prompt averaging.","operationId":"get_visibility_comparison_api_v1_visibility_visibility_comparison_get","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"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"default":"UTC","title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VisibilityComparisonResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/onboarding/step":{"get":{"tags":["onboarding"],"summary":"Get Step","description":"Get data for a specific onboarding step.","operationId":"get_step_api_v1_onboarding_step_get","parameters":[{"name":"step_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OnboardingStep","description":"The onboarding step to retrieve"},"description":"The onboarding step to retrieve"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStepResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["onboarding"],"summary":"Save Step","description":"Save data for a specific onboarding step.","operationId":"save_step_api_v1_onboarding_step_post","parameters":[{"name":"step_type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/OnboardingStep","description":"The onboarding step to save"},"description":"The onboarding step to save"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostStepResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/onboarding/status":{"get":{"tags":["onboarding"],"summary":"Get Status","description":"Get current onboarding status.","operationId":"get_status_api_v1_onboarding_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetStatusResponse"}}}}}}},"/api/v1/workspace/onboarding/checklist":{"get":{"tags":["getting-started","getting-started"],"summary":"Get Checklist","operationId":"get_checklist_api_v1_workspace_onboarding_checklist_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChecklistResponse"}}}}}}},"/api/v1/log-drain/integrations":{"get":{"tags":["log-drain"],"summary":"Get Integrations","description":"Get all integrations for a workspace.","operationId":"get_integrations_api_v1_log_drain_integrations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/LogDrainIntegrationResponse"},"type":"array","title":"Response Get Integrations Api V1 Log Drain Integrations Get"}}}}}},"post":{"tags":["log-drain"],"summary":"Create Integration","description":"Create a new integration.","operationId":"create_integration_api_v1_log_drain_integrations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogDrainIntegrationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogDrainIntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/integrations/{id}/verify":{"post":{"tags":["log-drain"],"summary":"Verify Integration","description":"Verify an integration.","operationId":"verify_integration_api_v1_log_drain_integrations__id__verify_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogDrainIntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/integrations/{id}/vercel/verification-token":{"post":{"tags":["log-drain"],"summary":"Add Vercel Verification Token","description":"Add a new Vercel verification token.","operationId":"add_vercel_verification_token_api_v1_log_drain_integrations__id__vercel_verification_token_post","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddVercelVerificationTokenRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogDrainIntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/process/pending":{"post":{"tags":["log-drain"],"summary":"Process Pending Logs","description":"Process pending raw logs into analytics data.","operationId":"process_pending_logs_api_v1_log_drain_process_pending_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Limit number of logs to process","title":"Limit"},"description":"Limit number of logs to process"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Process Pending Logs Api V1 Log Drain Process Pending Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/process/retry-failed":{"post":{"tags":["log-drain"],"summary":"Retry Failed Logs","description":"Retry processing of failed logs.","operationId":"retry_failed_logs_api_v1_log_drain_process_retry_failed_post","parameters":[{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Limit number of logs to retry","title":"Limit"},"description":"Limit number of logs to retry"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"type":"integer"},"title":"Response Retry Failed Logs Api V1 Log Drain Process Retry Failed Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/summary":{"get":{"tags":["log-drain"],"summary":"Get Analytics Summary","description":"Get comprehensive analytics summary for the workspace.","operationId":"get_analytics_summary_api_v1_log_drain_analytics_summary_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Analytics Summary Api V1 Log Drain Analytics Summary Get"}}}}}}},"/api/v1/log-drain/analytics/ai-traffic":{"get":{"tags":["log-drain"],"summary":"Get Ai Traffic","description":"Get AI traffic logs for the workspace.","operationId":"get_ai_traffic_api_v1_log_drain_analytics_ai_traffic_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by AI platform (e.g., CHATGPT, PERPLEXITY)","title":"Platform"},"description":"Filter by AI platform (e.g., CHATGPT, PERPLEXITY)"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Limit number of results","default":100,"title":"Limit"},"description":"Limit number of results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Get Ai Traffic Api V1 Log Drain Analytics Ai Traffic Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/human-referrals":{"get":{"tags":["log-drain"],"summary":"Get Human Referrals","description":"Get human traffic referred from AI systems.","operationId":"get_human_referrals_api_v1_log_drain_analytics_human_referrals_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Limit number of results","default":100,"title":"Limit"},"description":"Limit number of results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Get Human Referrals Api V1 Log Drain Analytics Human Referrals Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/popular-pages":{"get":{"tags":["log-drain"],"summary":"Get Popular Pages","description":"Get most popular pages by visit count.","operationId":"get_popular_pages_api_v1_log_drain_analytics_popular_pages_get","parameters":[{"name":"traffic_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by traffic type (e.g., AI_CITATION, HUMAN_REFERRAL)","title":"Traffic Type"},"description":"Filter by traffic type (e.g., AI_CITATION, HUMAN_REFERRAL)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","description":"Number of popular pages to return","default":10,"title":"Limit"},"description":"Number of popular pages to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Get Popular Pages Api V1 Log Drain Analytics Popular Pages Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/traffic-counts":{"get":{"tags":["log-drain"],"summary":"Get Traffic Counts","description":"Get count of traffic by type.","operationId":"get_traffic_counts_api_v1_log_drain_analytics_traffic_counts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"type":"object","title":"Response Get Traffic Counts Api V1 Log Drain Analytics Traffic Counts Get"}}}}}}},"/api/v1/log-drain/analytics/platform-counts":{"get":{"tags":["log-drain"],"summary":"Get Platform Counts","description":"Get count of AI traffic by platform.","operationId":"get_platform_counts_api_v1_log_drain_analytics_platform_counts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":{"type":"integer"},"type":"object","title":"Response Get Platform Counts Api V1 Log Drain Analytics Platform Counts Get"}}}}}}},"/api/v1/log-drain/analytics/overview":{"get":{"tags":["log-drain"],"summary":"Get Overview","description":"Get overview of the workspace.","operationId":"get_overview_api_v1_log_drain_analytics_overview_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsOverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/logs":{"get":{"tags":["log-drain"],"summary":"Get Logs","description":"Get paginated logs of the workspace with optimized filtering support.\n\nHigh-performance endpoint with database-optimized filtering by:\n- Date range (start_date, end_date) - Uses indexed timestamp filtering\n- AI Platform (platform) - Enum-based filtering with composite indexes\n- Search in request path (search) - Pattern matching with path indexes\n- Pagination (page, page_size) - Efficient offset-based pagination\n\nPerformance optimizations:\n- Composite database indexes for fast filtering\n- Efficient query structure avoiding cartesian products\n- Index-friendly ordering (timestamp + id)\n- Direct enum validation\n\nReturns paginated results with metadata including:\n- Current page and page size\n- Total count and total pages\n- Filtered log entries with complete metadata","operationId":"get_logs_api_v1_log_drain_analytics_logs_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/Platform"},{"type":"null"}],"title":"Platform"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_ProcessedLogResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/ai/paths":{"post":{"tags":["log-drain"],"summary":"Get Ai Path Analytics","description":"Get AI path analytics showing how AI systems and AI-referred users interact with each path.\n\nIncludes both:\n- Direct AI traffic (bots crawling, citing, training on content)\n- Human traffic referred from AI systems (users who clicked links in AI responses)\n\nReturns metrics for AI citations, indexing, training, and human referrals per path.","operationId":"get_ai_path_analytics_api_v1_log_drain_ai_paths_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIPathAnalyticsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_AIPathMetricsResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/analytics/overview-chart-data":{"get":{"tags":["log-drain"],"summary":"Get Overview Chart Data","description":"Get daily chart data for analytics overview with platform breakdown.\n\nReturns data for 3 chart types:\n- AI Citation: Visits from AI assistants citing content in responses\n- AI Training: Visits from AI platforms crawling/indexing content\n- Human Referral: Humans who visited from AI systems\n\nEach day includes platform-level breakdown for tooltip display.\n\nDate parameters accept ISO format:\n- YYYY-MM-DD (e.g., 2023-12-01)\n- YYYY-MM-DDTHH:MM:SS (e.g., 2023-12-01T10:30:00)\n- YYYY-MM-DDTHH:MM:SSZ (e.g., 2023-12-01T10:30:00Z)","operationId":"get_overview_chart_data_api_v1_log_drain_analytics_overview_chart_data_get","parameters":[{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter data from this datetime (ISO format: YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD)","title":"Start Date"},"description":"Filter data from this datetime (ISO format: YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD)"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter data until this datetime (ISO format: YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD)","title":"End Date"},"description":"Filter data until this datetime (ISO format: YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD)"},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Timezone for date conversion (e.g., 'America/Los_Angeles', 'UTC')","title":"Timezone"},"description":"Timezone for date conversion (e.g., 'America/Los_Angeles', 'UTC')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewChartDataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/path/details":{"get":{"tags":["log-drain"],"summary":"Get Path Details","description":"Get details for a specific path including AI metrics, platform breakdown, and recent visits.","operationId":"get_path_details_api_v1_log_drain_path_details_get","parameters":[{"name":"path","in":"query","required":true,"schema":{"type":"string","description":"Path to get details for","title":"Path"},"description":"Path to get details for"},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter data from this date","title":"Start Date"},"description":"Filter data from this date"},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Filter data until this date","title":"End Date"},"description":"Filter data until this date"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PathDetailsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/log-drain/external/vercel/":{"post":{"tags":["log-drain-webhook"],"summary":"Vercel Webhook","description":"Vercel webhook endpoint with signature verification.\n\nThis endpoint receives log drain data from Vercel and processes it\nwith signature verification for security.","operationId":"vercel_webhook_api_v1_log_drain_external_vercel__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Vercel Webhook Api V1 Log Drain External Vercel  Post"}}}}}}},"/api/v1/log-drain/external/wordpress/":{"post":{"tags":["log-drain-webhook"],"summary":"Wordpress Webhook","description":"WordPress webhook endpoint with signature verification.","operationId":"wordpress_webhook_api_v1_log_drain_external_wordpress__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Wordpress Webhook Api V1 Log Drain External Wordpress  Post"}}}}}}},"/api/v1/log-drain/external/custom/":{"post":{"tags":["log-drain-webhook"],"summary":"Custom Webhook","description":"Custom integration webhook endpoint with API key authentication.\n\nThis endpoint receives log data from custom JavaScript tracking scripts\nand processes it for analytics.","operationId":"custom_webhook_api_v1_log_drain_external_custom__post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Custom Webhook Api V1 Log Drain External Custom  Post"}}}}}}},"/api/v1/seo/monitors":{"post":{"tags":["seo"],"summary":"Create Seo Monitor","description":"Create a new SEO monitor for the current workspace.","operationId":"create_seo_monitor_api_v1_seo_monitors_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSEOMonitor"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SEOMonitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["seo"],"summary":"Get Workspace Monitors","description":"Get all SEO monitors for the current workspace.","operationId":"get_workspace_monitors_api_v1_seo_monitors_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/SEOMonitorStatus"},{"type":"null"}],"description":"Filter by monitor status","title":"Status"},"description":"Filter by monitor status"},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Limit results","title":"Limit"},"description":"Limit results"},{"name":"offset","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","minimum":0},{"type":"null"}],"description":"Offset for pagination","title":"Offset"},"description":"Offset for pagination"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SEOMonitorResponse"},"title":"Response Get Workspace Monitors Api V1 Seo Monitors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/{monitor_id}":{"get":{"tags":["seo"],"summary":"Get Monitor","description":"Get a specific SEO monitor by ID.","operationId":"get_monitor_api_v1_seo_monitors__monitor_id__get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SEOMonitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/{monitor_id}/results":{"get":{"tags":["seo"],"summary":"Get Monitor Results","description":"Get scan results for a specific SEO monitor.","operationId":"get_monitor_results_api_v1_seo_monitors__monitor_id__results_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":100,"minimum":1},{"type":"null"}],"description":"Limit results","title":"Limit"},"description":"Limit results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SEOMonitorResultResponse"},"title":"Response Get Monitor Results Api V1 Seo Monitors  Monitor Id  Results Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/{monitor_id}/trend":{"get":{"tags":["seo"],"summary":"Get Performance Trend","description":"Get performance trend data for a monitor.","operationId":"get_performance_trend_api_v1_seo_monitors__monitor_id__trend_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Number of days for trend analysis","default":30,"title":"Days"},"description":"Number of days for trend analysis"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SEOPerformanceTrend"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/{monitor_id}/issues":{"get":{"tags":["seo"],"summary":"Get Monitor Issues","description":"Get recent issues summary for a monitor.","operationId":"get_monitor_issues_api_v1_seo_monitors__monitor_id__issues_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"description":"Limit number of results","default":10,"title":"Limit"},"description":"Limit number of results"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Get Monitor Issues Api V1 Seo Monitors  Monitor Id  Issues Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/workspace/overview":{"get":{"tags":["seo"],"summary":"Get Workspace Overview","description":"Get comprehensive SEO monitoring overview for the current workspace.","operationId":"get_workspace_overview_api_v1_seo_workspace_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SEOWorkspaceOverview"}}}}}}},"/api/v1/seo/workspace/latest-results":{"get":{"tags":["seo"],"summary":"Get Workspace Latest Results","description":"Get latest SEO scan results for all monitors in the workspace.","operationId":"get_workspace_latest_results_api_v1_seo_workspace_latest_results_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceLatestResultsResponse"}}}}}}},"/api/v1/seo/workspace/results":{"get":{"tags":["seo"],"summary":"Get Workspace Results","description":"Get latest SEO scan results for all monitors in the workspace.","operationId":"get_workspace_results_api_v1_seo_workspace_results_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResultsResponse"}}}}}}},"/api/v1/seo/workspace/analytics":{"get":{"tags":["seo"],"summary":"Get Workspace Analytics","description":"Get comprehensive analytics for the workspace.","operationId":"get_workspace_analytics_api_v1_seo_workspace_analytics_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Number of days for analytics","default":30,"title":"Days"},"description":"Number of days for analytics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Workspace Analytics Api V1 Seo Workspace Analytics Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/{monitor_id}/scan":{"post":{"tags":["seo"],"summary":"Trigger Monitor Scan","description":"Manually trigger a scan for a specific monitor.","operationId":"trigger_monitor_scan_api_v1_seo_monitors__monitor_id__scan_post","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SEOScanTriggerResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/seo/monitors/bulk/scan":{"post":{"tags":["seo"],"summary":"Bulk Trigger Scans","description":"Trigger scans for multiple monitors.","operationId":"bulk_trigger_scans_api_v1_seo_monitors_bulk_scan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkSEOMonitorAction"}}},"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/seo/health":{"get":{"tags":["seo"],"summary":"Health Check","description":"Health check endpoint for SEO monitoring service.","operationId":"health_check_api_v1_seo_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/sitemaps/":{"post":{"tags":["sitemaps"],"summary":"Add Website","description":"Add a new website for sitemap auditing. The sitemap will be parsed and pages will be synced in the background.","operationId":"add_website_api_v1_sitemaps__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AddWebsiteRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Add Website Api V1 Sitemaps  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sitemaps"],"summary":"List Sitemaps","description":"Get paginated list of active sitemaps with domain audit data for the current workspace.","operationId":"list_sitemaps_api_v1_sitemaps__get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSitemapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sitemaps/{sitemap_id}/pages/url-patterns":{"get":{"tags":["sitemaps"],"summary":"Get Distinct URL Path Segments","description":"Return distinct first path segments from all active page URLs for a sitemap (e.g. /blog, /product).","operationId":"get_url_patterns_api_v1_sitemaps__sitemap_id__pages_url_patterns_get","parameters":[{"name":"sitemap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sitemap Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UrlPatternsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sitemaps/{sitemap_id}/pages/search":{"post":{"tags":["sitemaps"],"summary":"Search Sitemap Pages","description":"Search and filter sitemap pages with advanced URL pattern matching and issue count filters.","operationId":"search_sitemap_pages_api_v1_sitemaps__sitemap_id__pages_search_post","parameters":[{"name":"sitemap_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Sitemap Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapPageFilterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedSitemapPageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sitemaps/pages/{page_id}/audit":{"post":{"tags":["sitemaps"],"summary":"Trigger Page Audit","description":"Trigger a complete audit for a specific page. Audit runs in background.","operationId":"trigger_page_audit_api_v1_sitemaps_pages__page_id__audit_post","parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__sitemap__schemas__MessageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["sitemaps"],"summary":"Get Page Details","description":"Get comprehensive page details with all metrics, health score breakdown, and issues.","operationId":"get_page_audit_results_api_v1_sitemaps_pages__page_id__audit_get","parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PageAuditDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/sitemaps/pages/{page_id}/issues":{"get":{"tags":["sitemaps"],"summary":"Get Page Issues","description":"Get list of issues detected for a page with optional filtering.","operationId":"get_page_issues_api_v1_sitemaps_pages__page_id__issues_get","parameters":[{"name":"page_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Page Id"}},{"name":"issue_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by issue type (TECHNICAL, CONTENT, ACCESSIBILITY, PERFORMANCE, AEO)","title":"Issue Type"},"description":"Filter by issue type (TECHNICAL, CONTENT, ACCESSIBILITY, PERFORMANCE, AEO)"},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by priority (HIGH, MEDIUM, LOW, INFO)","title":"Priority"},"description":"Filter by priority (HIGH, MEDIUM, LOW, INFO)"},{"name":"is_fixed","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by fixed status","title":"Is Fixed"},"description":"Filter by fixed status"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IssueResponse"},"title":"Response Get Page Issues Api V1 Sitemaps Pages  Page Id  Issues Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors":{"post":{"tags":["ai-seo"],"summary":"Create AI SEO Monitor","description":"Create a new AI SEO monitor for a website. This will automatically schedule an initial analysis.","operationId":"create_monitor_api_v1_ai_seo_monitors_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateAISeoMonitor"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISeoMonitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["ai-seo"],"summary":"List AI SEO Monitors","description":"Get a paginated list of AI SEO monitors for the current workspace.","operationId":"list_monitors_api_v1_ai_seo_monitors_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/AISeoMonitorStatus"},{"type":"null"}],"title":"Status"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}":{"get":{"tags":["ai-seo"],"summary":"Get AI SEO Monitor","description":"Get details of a specific AI SEO monitor.","operationId":"get_monitor_api_v1_ai_seo_monitors__monitor_id__get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISeoMonitorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}/analyze":{"post":{"tags":["ai-seo"],"summary":"Run Analysis","description":"Run LLM readiness analysis for a specific monitor. This may take several minutes depending on website size.","operationId":"run_analysis_api_v1_ai_seo_monitors__monitor_id__analyze_post","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AnalysisConfig"},{"type":"null"}],"title":"Analysis Config"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISeoMonitorResultResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}/results":{"get":{"tags":["ai-seo"],"summary":"Get Analysis Results","description":"Get paginated analysis results for a specific monitor.","operationId":"get_analysis_results_api_v1_ai_seo_monitors__monitor_id__results_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}/latest-result":{"get":{"tags":["ai-seo"],"summary":"Get Latest Result","description":"Get the most recent analysis result for a monitor.","operationId":"get_latest_result_api_v1_ai_seo_monitors__monitor_id__latest_result_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AISeoMonitorResultResponse"},{"type":"null"}],"title":"Response Get Latest Result Api V1 Ai Seo Monitors  Monitor Id  Latest Result Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}/summary":{"get":{"tags":["ai-seo"],"summary":"Get Analysis Summary","description":"Get a concise summary of the latest analysis results for a monitor.","operationId":"get_analysis_summary_api_v1_ai_seo_monitors__monitor_id__summary_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/AnalysisResultSummary"},{"type":"null"}],"title":"Response Get Analysis Summary Api V1 Ai Seo Monitors  Monitor Id  Summary Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/monitors/{monitor_id}/analytics":{"get":{"tags":["ai-seo"],"summary":"Get Monitor Analytics","description":"Get analytics and trend data for a specific monitor over a specified period.","operationId":"get_monitor_analytics_api_v1_ai_seo_monitors__monitor_id__analytics_get","parameters":[{"name":"monitor_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Monitor Id"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"description":"Number of days to include in analytics","default":30,"title":"Days"},"description":"Number of days to include in analytics"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonitorAnalytics"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ai-seo/overview":{"get":{"tags":["ai-seo"],"summary":"Get Workspace Overview","description":"Get a comprehensive overview of AI SEO monitoring for the current workspace.","operationId":"get_workspace_overview_api_v1_ai_seo_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceOverview"}}}}}}},"/api/v1/ai-seo/health":{"get":{"tags":["ai-seo"],"summary":"Health Check","description":"Check the health status of the AI SEO monitoring service.","operationId":"health_check_api_v1_ai_seo_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Health Check Api V1 Ai Seo Health Get"}}}}}}},"/api/v1/ai-seo/config":{"get":{"tags":["ai-seo"],"summary":"Get Default Config","description":"Get the default analysis configuration parameters.","operationId":"get_default_config_api_v1_ai_seo_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalysisConfig"}}}}}}},"/api/v1/llm-txt-generator/generate":{"post":{"tags":["llm-txt-generator"],"summary":"Generate LLM text from website","description":"Generate llms.txt content from a website URL. Supports both basic web scraping and AI-enhanced generation.","operationId":"generate_llm_text_api_v1_llm_txt_generator_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateLLMTextRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMTextGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/llm-txt-generator/generations":{"get":{"tags":["llm-txt-generator"],"summary":"List LLM text generations","description":"Get a list of LLM text generations for the current user and workspace.","operationId":"list_generations_api_v1_llm_txt_generator_generations_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LLMTextGeneratorResponse"},"title":"Response List Generations Api V1 Llm Txt Generator Generations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/llm-txt-generator/generations/{generation_id}":{"get":{"tags":["llm-txt-generator"],"summary":"Get specific generation","description":"Get details of a specific LLM text generation by ID.","operationId":"get_generation_api_v1_llm_txt_generator_generations__generation_id__get","parameters":[{"name":"generation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Generation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMTextGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/llm-txt-generator/stats":{"get":{"tags":["llm-txt-generator"],"summary":"Get user generation statistics","description":"Get statistics about the user's LLM text generations including weekly limits.","operationId":"get_user_stats_api_v1_llm_txt_generator_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LLMTextGenerationStats"}}}}}}},"/api/v1/citations/data/domain":{"get":{"tags":["citations"],"summary":"Get Domain Data","operationId":"get_domain_data_api_v1_citations_data_domain_get","parameters":[{"name":"start_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date filter in ISO format","title":"Start Datetime"},"description":"Start date filter in ISO format"},{"name":"end_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date filter in ISO format","title":"End Datetime"},"description":"End date filter in ISO format"},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list of platforms (e.g., 'CHATGPT,CLAUDE')","title":"Platforms"},"description":"Comma-separated list of platforms (e.g., 'CHATGPT,CLAUDE')"},{"name":"source_domain_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated domain types (CORPORATE,EDITORIAL,INSTITUTIONAL,UGC,REFERENCE,COMPETITOR,YOU,OTHER)","title":"Source Domain Type"},"description":"Comma-separated domain types (CORPORATE,EDITORIAL,INSTITUTIONAL,UGC,REFERENCE,COMPETITOR,YOU,OTHER)"},{"name":"citation_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"DEPRECATED: Use source_domain_type. Comma-separated legacy types (OWNED,EARNED,COMPETITOR,SOCIAL,REVIEW)","title":"Citation Type"},"description":"DEPRECATED: Use source_domain_type. Comma-separated legacy types (OWNED,EARNED,COMPETITOR,SOCIAL,REVIEW)"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search term for domain names","title":"Search"},"description":"Search term for domain names"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/DomainSortBy","description":"Field to sort by","default":"used_percentage"},"description":"Field to sort by"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__citation__schemas__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (starts from 1)","default":1,"title":"Page"},"description":"Page number (starts from 1)"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of items per page","default":20,"title":"Page Size"},"description":"Number of items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DomainDataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/citations/data/url":{"get":{"tags":["citations"],"summary":"Get Url Data","operationId":"get_url_data_api_v1_citations_data_url_get","parameters":[{"name":"start_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Start date filter in ISO format","title":"Start Datetime"},"description":"Start date filter in ISO format"},{"name":"end_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"End date filter in ISO format","title":"End Datetime"},"description":"End date filter in ISO format"},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list of platforms (e.g., 'CHATGPT,CLAUDE')","title":"Platforms"},"description":"Comma-separated list of platforms (e.g., 'CHATGPT,CLAUDE')"},{"name":"source_domain_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated domain types (CORPORATE,EDITORIAL,INSTITUTIONAL,UGC,REFERENCE,COMPETITOR,YOU,OTHER)","title":"Source Domain Type"},"description":"Comma-separated domain types (CORPORATE,EDITORIAL,INSTITUTIONAL,UGC,REFERENCE,COMPETITOR,YOU,OTHER)"},{"name":"citation_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"DEPRECATED: Use source_domain_type. Comma-separated legacy types (OWNED,EARNED,COMPETITOR,SOCIAL,REVIEW)","title":"Citation Type"},"description":"DEPRECATED: Use source_domain_type. Comma-separated legacy types (OWNED,EARNED,COMPETITOR,SOCIAL,REVIEW)"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search term for URLs and page titles","title":"Search"},"description":"Search term for URLs and page titles"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/URLSortBy","description":"Field to sort by","default":"used_total"},"description":"Field to sort by"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__citation__schemas__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number (starts from 1)","default":1,"title":"Page"},"description":"Page number (starts from 1)"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Number of items per page","default":20,"title":"Page Size"},"description":"Number of items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/URLDataResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/citations/data/prompt-attribution":{"get":{"tags":["citations"],"summary":"Get Prompt Attribution","operationId":"get_prompt_attribution_api_v1_citations_data_prompt_attribution_get","parameters":[{"name":"source_domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Domain"}},{"name":"source_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"}},{"name":"start_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Datetime"}},{"name":"end_datetime","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Datetime"}},{"name":"platforms","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platforms"}},{"name":"source_domain_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Domain Type"}},{"name":"citation_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"deprecated":true,"title":"Citation Type"},"deprecated":true},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptAttributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/coupons/redeem":{"post":{"tags":["coupons"],"summary":"Redeem Coupon","description":"Redeem a coupon for the workspace.","operationId":"redeem_coupon_api_v1_coupons_redeem_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponRedeemRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CouponResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/actions/":{"get":{"tags":["actions"],"summary":"List actions","description":"Get all actions with minimal fields for list display.","operationId":"list_actions_api_v1_actions__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ActionStatus"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"category","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ActionCategory"},{"type":"null"}],"description":"Filter by category","title":"Category"},"description":"Filter by category"},{"name":"action_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ActionTypeV2"},{"type":"null"}],"description":"Filter by action type","title":"Action Type"},"description":"Filter by action type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/actions/{action_id}":{"get":{"tags":["actions"],"summary":"Get action","description":"Get action with full details.","operationId":"get_action_api_v1_actions__action_id__get","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["actions"],"summary":"Update action status","description":"Update action status (blocked_reason when BLOCKED; archived_reason when ARCHIVED).","operationId":"update_action_api_v1_actions__action_id__patch","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/actions/{action_id}/feedback":{"patch":{"tags":["actions"],"summary":"Update action feedback","description":"Submit feedback (thumbs up/down) for an action.","operationId":"update_action_feedback_api_v1_actions__action_id__feedback_patch","parameters":[{"name":"action_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Action Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateActionFeedbackRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/actions/generate":{"post":{"tags":["actions"],"summary":"Generate actions","description":"Manually trigger action generation for the current workspace.","operationId":"generate_actions_api_v1_actions_generate_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ActionGenerationQueueResponse"}}}}}}},"/api/v1/engagement/opportunities/":{"get":{"tags":["engagement"],"summary":"List engagement opportunities (statuses is comma-separated lowercase values, e.g. ?statuses=new,todo)","operationId":"list_opportunities_api_v1_engagement_opportunities__get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EngagementPlatform"},{"type":"null"}],"title":"Platform"}},{"name":"opportunity_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EngagementOpportunityType"},{"type":"null"}],"title":"Opportunity Type"}},{"name":"channel_name","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Channel Name"}},{"name":"has_competitor_mention","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Competitor Mention"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"statuses","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Statuses"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/channels":{"get":{"tags":["engagement"],"summary":"List enriched workspace engagement channels","operationId":"list_channels_api_v1_engagement_opportunities_channels_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EngagementPlatform"},{"type":"null"}],"title":"Platform"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"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/WorkspaceEngagementChannelResponse"},"title":"Response List Channels Api V1 Engagement Opportunities Channels Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/channels/recommended":{"get":{"tags":["engagement"],"summary":"List recommended (and not dismissed) channels, scored + ranked","operationId":"list_recommended_channels_api_v1_engagement_opportunities_channels_recommended_get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EngagementPlatform"},{"type":"null"}],"title":"Platform"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":0,"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/RecommendedChannelResponse"},"title":"Response List Recommended Channels Api V1 Engagement Opportunities Channels Recommended Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/channels/{channel_name}/dismiss":{"post":{"tags":["engagement"],"summary":"Dismiss a channel (sticky; removed from recommendations)","operationId":"dismiss_channel_api_v1_engagement_opportunities_channels__channel_name__dismiss_post","parameters":[{"name":"channel_name","in":"path","required":true,"schema":{"type":"string","title":"Channel Name"}},{"name":"platform","in":"query","required":false,"schema":{"$ref":"#/components/schemas/EngagementPlatform","default":"reddit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceEngagementChannelResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/{opportunity_id}":{"get":{"tags":["engagement"],"summary":"Get opportunity by id","operationId":"get_opportunity_api_v1_engagement_opportunities__opportunity_id__get","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/{opportunity_id}/status":{"patch":{"tags":["engagement"],"summary":"Update opportunity status (any -> any allowed; status value is lowercase)","operationId":"update_status_api_v1_engagement_opportunities__opportunity_id__status_patch","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpportunityResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/opportunities/{opportunity_id}/draft":{"post":{"tags":["engagement"],"summary":"Generate a single humanized comment draft for an opportunity","operationId":"draft_comment_api_v1_engagement_opportunities__opportunity_id__draft_post","parameters":[{"name":"opportunity_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Opportunity Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DraftCommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/tracked-keywords/":{"get":{"tags":["engagement"],"summary":"List tracked keywords for the current workspace","operationId":"list_tracked_keywords_api_v1_engagement_tracked_keywords__get","parameters":[{"name":"platform","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/EngagementPlatform"},{"type":"null"}],"title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackedKeywordResponse"},"title":"Response List Tracked Keywords Api V1 Engagement Tracked Keywords  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["engagement"],"summary":"Track a keyword on a platform","operationId":"track_keyword_api_v1_engagement_tracked_keywords__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackKeywordRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrackedKeywordResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/tracked-keywords/{workspace_keyword_id}":{"delete":{"tags":["engagement"],"summary":"Untrack a keyword (idempotent — returns 204 even if not currently tracked; platform query param is required to make destructive intent explicit)","operationId":"untrack_keyword_api_v1_engagement_tracked_keywords__workspace_keyword_id__delete","parameters":[{"name":"workspace_keyword_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Keyword Id"}},{"name":"platform","in":"query","required":true,"schema":{"$ref":"#/components/schemas/EngagementPlatform"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/engagement/tracked-keywords/auto-select":{"post":{"tags":["engagement"],"summary":"Auto-select top 3 workspace keywords by search volume","operationId":"auto_select_top_3_api_v1_engagement_tracked_keywords_auto_select_post","parameters":[{"name":"platform","in":"query","required":false,"schema":{"$ref":"#/components/schemas/EngagementPlatform","default":"reddit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TrackedKeywordResponse"},"title":"Response Auto Select Top 3 Api V1 Engagement Tracked Keywords Auto Select Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/":{"get":{"tags":["outreach"],"summary":"List outreach contacts","description":"Get all enriched contacts for the workspace.","operationId":"list_contacts_api_v1_outreach__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by enrichment status (pending, in_progress, completed, partial, failed, skipped)","title":"Status"},"description":"Filter by enrichment status (pending, in_progress, completed, partial, failed, skipped)"},{"name":"source_domain","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by source domain","title":"Source Domain"},"description":"Filter by source domain"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutreachContactListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/stats":{"get":{"tags":["outreach"],"summary":"Get enrichment stats","description":"Get enrichment statistics for the workspace.","operationId":"get_stats_api_v1_outreach_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnrichmentStatsResponse"}}}}}}},"/api/v1/outreach/{contact_id}":{"get":{"tags":["outreach"],"summary":"Get contact details","description":"Get full details for a specific contact.","operationId":"get_contact_api_v1_outreach__contact_id__get","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":{"$ref":"#/components/schemas/OutreachContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/{contact_id}/status":{"patch":{"tags":["outreach"],"summary":"Update outreach status","description":"Update the outreach lifecycle status for a contact.","operationId":"update_outreach_status_api_v1_outreach__contact_id__status_patch","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/UpdateOutreachStatusRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OutreachContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/{contact_id}/draft-email":{"post":{"tags":["outreach"],"summary":"Generate AI email draft","description":"Use Claude Sonnet to generate a personalized outreach email draft for a contact.","operationId":"draft_email_api_v1_outreach__contact_id__draft_email_post","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/DraftEmailRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/{contact_id}/drafts":{"get":{"tags":["outreach"],"summary":"List email drafts","description":"Get all AI-generated email drafts for a contact.","operationId":"list_drafts_api_v1_outreach__contact_id__drafts_get","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":{"$ref":"#/components/schemas/EmailDraftListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/outreach/{contact_id}/enrich":{"post":{"tags":["outreach"],"summary":"Trigger enrichment","description":"Manually trigger enrichment for a contact.","operationId":"trigger_enrichment_api_v1_outreach__contact_id__enrich_post","parameters":[{"name":"contact_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Contact Id"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerEnrichmentRequest","default":{"force":false}}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__outreach__schemas__TriggerEnrichmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/initiate-oauth/":{"post":{"tags":["integrations"],"summary":"Initiate OAuth Flow","description":"Initiate OAuth2 flow for connecting an integration","operationId":"initiate_oauth_api_v1_integrations_initiate_oauth__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InitiateOAuthRequest"}}},"required":true},"responses":{"200":{"description":"OAuth URL generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthUrlResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/posthog/connect/":{"post":{"tags":["integrations"],"summary":"Connect PostHog","description":"Validate a PostHog personal API key and connect the workspace integration","operationId":"connect_posthog_api_v1_integrations_posthog_connect__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHogConnectRequest"}}},"required":true},"responses":{"200":{"description":"PostHog connected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostHogConnectResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/posthog/status/":{"get":{"tags":["integrations"],"summary":"Check PostHog Status","description":"Check the workspace's native PostHog connection status","operationId":"status_posthog_api_v1_integrations_posthog_status__get","responses":{"200":{"description":"PostHog status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStatusResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}}}}},"/api/v1/integrations/posthog/{integration_id}/":{"delete":{"tags":["integrations"],"summary":"Disconnect PostHog","description":"Disconnect the workspace's native PostHog integration","operationId":"disconnect_posthog_api_v1_integrations_posthog__integration_id___delete","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"PostHog disconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisconnectIntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/contentful/connect/":{"post":{"tags":["integrations"],"summary":"Connect Contentful","description":"Validate a Contentful CMA personal access token and connect the workspace integration","operationId":"connect_contentful_api_v1_integrations_contentful_connect__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentfulConnectRequest"}}},"required":true},"responses":{"200":{"description":"Contentful connected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentfulConnectResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/contentful/status/":{"get":{"tags":["integrations"],"summary":"Check Contentful Status","description":"Check the workspace's native Contentful connection status","operationId":"status_contentful_api_v1_integrations_contentful_status__get","responses":{"200":{"description":"Contentful status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStatusResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}}}}},"/api/v1/integrations/contentful/{integration_id}/":{"delete":{"tags":["integrations"],"summary":"Disconnect Contentful","description":"Disconnect the workspace's native Contentful integration","operationId":"disconnect_contentful_api_v1_integrations_contentful__integration_id___delete","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"Contentful disconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisconnectIntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/callrail/form-tracking/setup/":{"post":{"tags":["integrations"],"summary":"Set Up CallRail Form Tracking","description":"Create or reconnect Stella-owned CallRail form tracking","operationId":"initiate_callrail_form_tracking_api_v1_integrations_callrail_form_tracking_setup__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRailFormTrackingSetupRequest"}}},"required":true},"responses":{"200":{"description":"CallRail form tracking setup completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRailFormTrackingSetupResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/callrail/form-tracking/status/":{"get":{"tags":["integrations"],"summary":"Check CallRail Form Tracking Status","description":"Check the workspace's CallRail form tracking setup status","operationId":"status_callrail_form_tracking_api_v1_integrations_callrail_form_tracking_status__get","responses":{"200":{"description":"CallRail status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStatusResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}}}}},"/api/v1/integrations/callrail/form-tracking/reconnect/":{"post":{"tags":["integrations"],"summary":"Reconnect CallRail Form Tracking","description":"Re-run setup for the workspace's CallRail form tracking integration","operationId":"reconnect_callrail_form_tracking_api_v1_integrations_callrail_form_tracking_reconnect__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRailFormTrackingSetupRequest"}}},"required":true},"responses":{"200":{"description":"CallRail form tracking reconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRailFormTrackingSetupResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/callrail/form-tracking/{integration_id}/":{"delete":{"tags":["integrations"],"summary":"Disconnect CallRail Form Tracking","description":"Disable the CallRail webhook and disconnect the local integration","operationId":"disconnect_callrail_form_tracking_api_v1_integrations_callrail_form_tracking__integration_id___delete","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"CallRail form tracking disconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisconnectIntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/oauth/callback/{integration_type}/":{"post":{"tags":["integrations"],"summary":"OAuth Callback","description":"Handle OAuth callback from integration provider","operationId":"oauth_callback_api_v1_integrations_oauth_callback__integration_type___post","parameters":[{"name":"integration_type","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IntegrationType"}},{"name":"code","in":"query","required":true,"schema":{"type":"string","description":"Authorization code","title":"Code"},"description":"Authorization code"},{"name":"state","in":"query","required":true,"schema":{"type":"string","description":"OAuth state","title":"State"},"description":"OAuth state"}],"responses":{"200":{"description":"Integration connected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationConnectedResponse"}}}},"400":{"description":"Invalid OAuth callback","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/":{"get":{"tags":["integrations"],"summary":"List Integrations","description":"Get all integrations for the workspace","operationId":"list_integrations_api_v1_integrations__get","parameters":[{"name":"include_inactive","in":"query","required":false,"schema":{"type":"boolean","description":"Include inactive integrations","default":false,"title":"Include Inactive"},"description":"Include inactive integrations"}],"responses":{"200":{"description":"List of integrations","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationListResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/":{"get":{"tags":["integrations"],"summary":"Get Integration","description":"Get integration details by ID","operationId":"get_integration_api_v1_integrations__integration_id___get","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"Integration details","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["integrations"],"summary":"Disconnect Integration","description":"Soft-delete an integration for the current workspace","operationId":"disconnect_integration_api_v1_integrations__integration_id___delete","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"Integration disconnected","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DisconnectIntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Failed to disconnect integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/status/{integration_type}/":{"get":{"tags":["integrations"],"summary":"Check Integration Status","description":"Check if an integration type is connected for the workspace","operationId":"check_integration_status_api_v1_integrations_status__integration_type___get","parameters":[{"name":"integration_type","in":"path","required":true,"schema":{"$ref":"#/components/schemas/IntegrationType"}}],"responses":{"200":{"description":"Integration status","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationStatusResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/refresh-token/":{"post":{"tags":["integrations"],"summary":"Refresh Integration Token","description":"Manually refresh OAuth token for an integration","operationId":"refresh_token_api_v1_integrations__integration_id__refresh_token__post","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"Token refreshed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Failed to refresh token","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/settings/":{"patch":{"tags":["integrations"],"summary":"Update Integration Settings","description":"Update integration settings and configuration","operationId":"update_settings_api_v1_integrations__integration_id__settings__patch","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateIntegrationSettingsRequest"}}}},"responses":{"200":{"description":"Settings updated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/available-properties/":{"get":{"tags":["integrations"],"summary":"Get Available Properties","description":"Get available properties/sites for selection after OAuth","operationId":"get_available_properties_api_v1_integrations__integration_id__available_properties__get","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"List of available properties/sites","content":{"application/json":{"schema":{}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/select-property/":{"post":{"tags":["integrations"],"summary":"Select Property","description":"Select a property/site to complete the integration setup","operationId":"select_property_api_v1_integrations__integration_id__select_property__post","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectPropertyRequest"}}}},"responses":{"200":{"description":"Property selected successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SelectPropertyResponse"}}}},"400":{"description":"Invalid property selection","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/gsc/sites/":{"get":{"tags":["integrations"],"summary":"Get GSC Sites","description":"Get all Google Search Console sites for an integration","operationId":"get_gsc_sites_api_v1_integrations__integration_id__gsc_sites__get","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"responses":{"200":{"description":"List of GSC sites","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GSCSitesListResponse"}}}},"400":{"description":"Not a GSC integration","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/{integration_id}/gsc/search-analytics/":{"post":{"tags":["integrations"],"summary":"Query GSC Search Analytics","description":"Query Google Search Console search analytics data","operationId":"query_gsc_search_analytics_api_v1_integrations__integration_id__gsc_search_analytics__post","parameters":[{"name":"integration_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Integration Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GSCSearchAnalyticsRequest"}}}},"responses":{"200":{"description":"Search analytics data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GSCSearchAnalyticsResponse"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"404":{"description":"Integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integration-runtime/webhooks/callrail/form-submission":{"post":{"tags":["integration-runtime"],"summary":"Callrail Form Submission Webhook","operationId":"callrail_form_submission_webhook_api_v1_integration_runtime_webhooks_callrail_form_submission_post","responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationInboundAcceptedResponse"}}}}}}},"/api/v1/search-analytics/overview":{"get":{"tags":["search-analytics"],"summary":"Get Overview","description":"Get search analytics overview statistics.\n\nReturns clicks, impressions, CTR, position, and branded percentage\nwith period-over-period changes.","operationId":"get_overview_api_v1_search_analytics_overview_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's timezone","default":"UTC","title":"Timezone"},"description":"User's timezone"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OverviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/chart":{"get":{"tags":["search-analytics"],"summary":"Get Chart","description":"Get time series chart data for clicks and impressions.","operationId":"get_chart_api_v1_search_analytics_chart_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's timezone","default":"UTC","title":"Timezone"},"description":"User's timezone"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChartResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/branded-clicks":{"get":{"tags":["search-analytics"],"summary":"Get Branded Clicks","description":"Get branded vs non-branded clicks breakdown.","operationId":"get_branded_clicks_api_v1_search_analytics_branded_clicks_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's timezone","default":"UTC","title":"Timezone"},"description":"User's timezone"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandedClicksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/query-counting":{"get":{"tags":["search-analytics"],"summary":"Get Query Counting","description":"Get query count by ranking positions (1-3, 4-10, 11-20, 21+).","operationId":"get_query_counting_api_v1_search_analytics_query_counting_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"timezone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"User's timezone","default":"UTC","title":"Timezone"},"description":"User's timezone"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/QueryCountingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/topic-clusters":{"get":{"tags":["search-analytics"],"summary":"Get Topic Clusters","description":"Get topic clusters data with filtering, sorting, and pagination.","operationId":"get_topic_clusters_api_v1_search_analytics_topic_clusters_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopicClustersResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/content-groups":{"get":{"tags":["search-analytics"],"summary":"Get Content Groups","description":"Get content groups data with filtering, sorting, and pagination.","operationId":"get_content_groups_api_v1_search_analytics_content_groups_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentGroupsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/queries":{"get":{"tags":["search-analytics"],"summary":"Get Queries","description":"Get search queries data with filtering, sorting, search, and pagination.","operationId":"get_queries_api_v1_search_analytics_queries_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search term to filter queries","title":"Search"},"description":"Search term to filter queries"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchQueriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/pages":{"get":{"tags":["search-analytics"],"summary":"Get Pages","description":"Get search pages data with filtering, sorting, search, and pagination.","operationId":"get_pages_api_v1_search_analytics_pages_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search term to filter pages","title":"Search"},"description":"Search term to filter pages"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchPagesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/devices":{"get":{"tags":["search-analytics"],"summary":"Get Devices","description":"Get devices breakdown data.","operationId":"get_devices_api_v1_search_analytics_devices_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DevicesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/countries":{"get":{"tags":["search-analytics"],"summary":"Get Countries","description":"Get countries breakdown data with filtering, sorting, and pagination.","operationId":"get_countries_api_v1_search_analytics_countries_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CountriesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/new-rankings":{"get":{"tags":["search-analytics"],"summary":"Get New Rankings","description":"Get new rankings (queries or pages that appeared in current period).","operationId":"get_new_rankings_api_v1_search_analytics_new_rankings_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/NewRankingType","description":"Type: queries or pages"},"description":"Type: queries or pages"},{"name":"sort_by","in":"query","required":false,"schema":{"$ref":"#/components/schemas/SortField","description":"Sort field","default":"clicks"},"description":"Sort field"},{"name":"sort_order","in":"query","required":false,"schema":{"$ref":"#/components/schemas/app__search_analytics__enums__SortOrder","description":"Sort order","default":"desc"},"description":"Sort order"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":10,"title":"Page Size"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewRankingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/search-analytics/export":{"get":{"tags":["search-analytics"],"summary":"Export Data","description":"Export search analytics data as CSV or JSON file.","operationId":"export_data_api_v1_search_analytics_export_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","description":"Start date (YYYY-MM-DD)","title":"Start Date"},"description":"Start date (YYYY-MM-DD)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","description":"End date (YYYY-MM-DD)","title":"End Date"},"description":"End date (YYYY-MM-DD)"},{"name":"type","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ExportType","description":"Export type: queries, pages, countries, devices"},"description":"Export type: queries, pages, countries, devices"},{"name":"format","in":"query","required":true,"schema":{"$ref":"#/components/schemas/ExportFormat","description":"Export format: csv or json"},"description":"Export format: csv or json"},{"name":"filter","in":"query","required":false,"schema":{"$ref":"#/components/schemas/FilterType","description":"Filter type","default":"all"},"description":"Filter type"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/site-visits-per-country/":{"post":{"tags":["google-analytics"],"summary":"Get Site Visits Per Country","description":"Get site visits breakdown by country from Google Analytics for a given date range","operationId":"get_site_visits_per_country_api_v1_google_analytics_site_visits_per_country__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteVisitsPerCountryRequest"}}},"required":true},"responses":{"200":{"description":"Site visits per country data","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SiteVisitsPerCountryResponse"}}}},"400":{"description":"Invalid request or integration not configured","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"404":{"description":"Google Analytics integration not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/traffic-overview/":{"post":{"tags":["google-analytics"],"summary":"Traffic Overview","description":"KPI metrics (Active Users, New Users, Sessions, Page Views) with comparison period and daily time-series chart data.","operationId":"get_traffic_overview_api_v1_google_analytics_traffic_overview__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafficOverviewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafficOverviewResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/traffic-acquisition/":{"post":{"tags":["google-analytics"],"summary":"Traffic Acquisition","description":"Session acquisition by default channel group (Organic Search, Direct, Referral, etc.).","operationId":"get_traffic_acquisition_api_v1_google_analytics_traffic_acquisition__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafficAcquisitionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TrafficAcquisitionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/user-acquisition/":{"post":{"tags":["google-analytics"],"summary":"User Acquisition","description":"New user acquisition by first-touch channel group with daily trend breakdown.","operationId":"get_user_acquisition_api_v1_google_analytics_user_acquisition__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAcquisitionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserAcquisitionResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/pages-and-screens/":{"post":{"tags":["google-analytics"],"summary":"Pages and Screens","description":"Top pages by views with engagement metrics (bounce rate, engagement time, sessions, new users).","operationId":"get_pages_and_screens_api_v1_google_analytics_pages_and_screens__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagesAndScreensRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PagesAndScreensResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/devices/":{"post":{"tags":["google-analytics"],"summary":"Device Breakdown","description":"Active users by device category (desktop, mobile, tablet) with percentages.","operationId":"get_device_breakdown_api_v1_google_analytics_devices__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceBreakdownRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceBreakdownResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/ai-summary/":{"post":{"tags":["google-analytics"],"summary":"AI Summary","description":"LLM-generated insights from aggregated traffic analytics data.","operationId":"get_ai_summary_api_v1_google_analytics_ai_summary__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISummaryRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AISummaryResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/referral-overview/":{"post":{"tags":["google-analytics"],"summary":"Referral Overview","description":"Top referral sources split into AI platforms and human referral sources.","operationId":"get_referral_overview_api_v1_google_analytics_referral_overview__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralOverviewRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReferralOverviewResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/google-analytics/source-trend/":{"post":{"tags":["google-analytics"],"summary":"Source Trend","description":"Daily time-series of sessions by source category (organic, direct, social, referral, AI platform, paid, email, other).","operationId":"get_source_trend_api_v1_google_analytics_source_trend__post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceTrendRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourceTrendResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/generate/ai-visibility-report":{"post":{"tags":["free-tools"],"summary":"Generate Ai Visibility Report","description":"Generate an AI visibility report.","operationId":"generate_ai_visibility_report_api_v1_tools_generate_ai_visibility_report_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAIVisibilityReportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAIVisibilityReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/generate/ai-visibility-report/{usage_id}":{"get":{"tags":["free-tools"],"summary":"Get Ai Visibility Report","description":"Get an AI visibility report.","operationId":"get_ai_visibility_report_api_v1_tools_generate_ai_visibility_report__usage_id__get","parameters":[{"name":"usage_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Usage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateAIVisibilityReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/generate/llm-txt-generator":{"post":{"tags":["free-tools"],"summary":"Generate Llm Txt Generator","description":"Generate LLM-ready text content from a website.\n\nThis endpoint crawls a website and generates text content optimized for LLM consumption.\nReturns immediately with an acknowledgment; the generated content is emailed to the user.\nSupports multiple output formats:\n- llms_txt: Proper llms.txt format according to spec\n- full: Consolidated text from all pages\n- LL: Title-URL pairs list","operationId":"generate_llm_txt_generator_api_v1_tools_generate_llm_txt_generator_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateLLMTextGeneratorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateLLMTextGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/generate/llm-txt-generator/{usage_id}":{"get":{"tags":["free-tools"],"summary":"Get Llm Txt Generator","description":"Get an existing LLM text generator result by usage ID.","operationId":"get_llm_txt_generator_api_v1_tools_generate_llm_txt_generator__usage_id__get","parameters":[{"name":"usage_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Usage Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateLLMTextGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ucp/check":{"post":{"tags":["free-tools"],"summary":"Check Ucp Readiness","description":"Check a merchant's UCP (Universal Commerce Protocol) readiness.\n\nThis endpoint:\n- Fetches the UCP manifest from /.well-known/ucp on the specified domain\n- Validates the manifest structure and content\n- Extracts capabilities (checkout, identity linking, etc.)\n- Identifies supported transport protocols (REST, MCP, A2A, Embedded)\n- Calculates a readiness score from 0-100\n- Returns detailed analysis of the merchant's agentic commerce readiness\n\nThe result is cached for 24 hours unless force_refresh is set to true.","operationId":"check_ucp_readiness_api_v1_tools_ucp_check_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UCPCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UCPCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ucp/check/{domain}":{"get":{"tags":["free-tools"],"summary":"Get Ucp By Domain","description":"Get UCP readiness data for a specific domain.\n\nIf the domain has been checked before and data is fresh (< 24 hours old),\nreturns cached data. Otherwise, performs a new check.\n\nUse force_refresh=true to always perform a new check.","operationId":"get_ucp_by_domain_api_v1_tools_ucp_check__domain__get","parameters":[{"name":"domain","in":"path","required":true,"schema":{"type":"string","title":"Domain"}},{"name":"force_refresh","in":"query","required":false,"schema":{"type":"boolean","description":"Force a fresh check even if cached data exists","default":false,"title":"Force Refresh"},"description":"Force a fresh check even if cached data exists"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UCPCheckResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ucp/directory":{"get":{"tags":["free-tools"],"summary":"Get Ucp Directory","description":"Get the searchable UCP merchant directory.\n\nThis endpoint returns a paginated, filterable list of all merchants\nthat have been checked for UCP readiness.\n\nFilters available:\n- ucp_status: Filter by readiness status (READY, PARTIAL, NOT_READY, UNREACHABLE)\n- min/max_readiness_score: Filter by score range\n- has_checkout: Only merchants with checkout capability\n- has_identity_linking: Only merchants with identity linking\n- is_stale: Only merchants with old data (useful for re-checking)\n- search: Text search in domain and merchant name\n\nResults include summary statistics about the entire directory.","operationId":"get_ucp_directory_api_v1_tools_ucp_directory_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Page Size"},"description":"Items per page"},{"name":"order_by","in":"query","required":false,"schema":{"type":"string","description":"Field to order by (prefix with - for descending)","default":"-readiness_score","title":"Order By"},"description":"Field to order by (prefix with - for descending)"},{"name":"ucp_status","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"$ref":"#/components/schemas/UCPStatus"}},{"type":"null"}],"description":"Filter by UCP status","title":"Ucp Status"},"description":"Filter by UCP status"},{"name":"min_readiness_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":100,"minimum":0},{"type":"null"}],"description":"Minimum readiness score","title":"Min Readiness Score"},"description":"Minimum readiness score"},{"name":"max_readiness_score","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":100,"minimum":0},{"type":"null"}],"description":"Maximum readiness score","title":"Max Readiness Score"},"description":"Maximum readiness score"},{"name":"has_checkout","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by checkout capability support","title":"Has Checkout"},"description":"Filter by checkout capability support"},{"name":"has_identity_linking","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by identity linking support","title":"Has Identity Linking"},"description":"Filter by identity linking support"},{"name":"is_stale","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"description":"Filter by data freshness (stale = not checked in 24h)","title":"Is Stale"},"description":"Filter by data freshness (stale = not checked in 24h)"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search in domain and merchant name","title":"Search"},"description":"Search in domain and merchant name"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UCPDirectoryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/ucp/stats":{"get":{"tags":["free-tools"],"summary":"Get Ucp Stats","description":"Get statistics about the UCP merchant directory.\n\nReturns aggregated statistics including:\n- Total merchants monitored\n- Count by UCP status (READY, PARTIAL, NOT_READY, etc.)\n- Count of stale records\n- Average readiness score","operationId":"get_ucp_stats_api_v1_tools_ucp_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/tools/sitemap/find":{"post":{"tags":["free-tools"],"summary":"Find Sitemaps","description":"Find and validate all sitemaps on a website.\n\nThis endpoint:\n- Checks robots.txt for sitemap declarations\n- Checks common sitemap locations (/sitemap.xml, /sitemap_index.xml, etc.)\n- Parses and validates each sitemap found\n- Handles sitemap index files and nested sitemaps\n- Returns total URL counts and sitemap structure\n\nPerfect for SEO audits and website analysis.","operationId":"find_sitemaps_api_v1_tools_sitemap_find_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapFinderRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapFinderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/extract-urls":{"post":{"tags":["free-tools"],"summary":"Extract Sitemap Urls","description":"Extract all URLs from a sitemap XML URL.\n\nThis endpoint:\n- Fetches and parses the sitemap at the given URL\n- Recursively checks sub-sitemaps in sitemap indexes\n- Returns a list of all extracted URLs, up to a reasonable limit (e.g. 50,000)","operationId":"extract_sitemap_urls_api_v1_tools_sitemap_extract_urls_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapUrlExtractorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapUrlExtractorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/validate":{"post":{"tags":["free-tools"],"summary":"Validate Sitemap","description":"Validate a specific sitemap XML URL.\n\nThis endpoint:\n- Fetches and parses the sitemap at the given URL\n- Detects XML errors, missing declarations, empty sitemaps\n- Validates lastmod, priority, changefreq values\n- Recursively checks sub-sitemaps in sitemap indexes\n- Returns a score (0-100) with per-issue fix suggestions","operationId":"validate_sitemap_api_v1_tools_sitemap_validate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapValidatorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapValidatorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/analyze":{"post":{"tags":["free-tools"],"summary":"Analyze Sitemap","description":"Analyse a sitemap and return structured metrics.\n\nAccepts either a direct sitemap URL or a domain (auto-discovers sitemap).\nReturns URL count, directory distribution, depth distribution, content-type\nbreakdown, metadata quality, and actionable recommendations.","operationId":"analyze_sitemap_api_v1_tools_sitemap_analyze_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapAnalyticsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapAnalyticsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/generate-robots-txt":{"post":{"tags":["free-tools"],"summary":"Generate Robots Txt","description":"Generate or update a robots.txt file with Sitemap directives.\n\nOptionally fetches the existing robots.txt from a domain, preserves all\nnon-Sitemap rules, deduplicates sitemap URLs, and returns the merged output.","operationId":"generate_robots_txt_api_v1_tools_sitemap_generate_robots_txt_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RobotsTxtGeneratorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RobotsTxtGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/generate":{"post":{"tags":["free-tools"],"summary":"Generate Sitemap","description":"Generate an XML sitemap by crawling a website.\n\nThis endpoint:\n- Crawls the website using BFS with a headless browser (Playwright)\n- Discovers all internal pages up to the configured depth\n- Generates a standards-compliant XML sitemap\n- Returns the sitemap XML and list of discovered URLs","operationId":"generate_sitemap_api_v1_tools_sitemap_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapGeneratorRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapGeneratorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/tools/sitemap/generate/stream":{"post":{"tags":["free-tools"],"summary":"Generate Sitemap Stream","description":"Streaming version of sitemap generation.\n\nReturns NDJSON (newline-delimited JSON) with progress events:\n- {\"type\": \"progress\", \"crawled\": 5, \"total\": 500, \"current_url\": \"...\"}\n- {\"type\": \"complete\", \"data\": { ... full SitemapGeneratorResponse ... }}\n- {\"type\": \"error\", \"message\": \"...\"}","operationId":"generate_sitemap_stream_api_v1_tools_sitemap_generate_stream_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapGeneratorRequest"}}},"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/variables/sectors/":{"get":{"tags":["variables"],"summary":"Get All Sectors","operationId":"get_all_sectors_api_v1_variables_sectors__get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variables/countries/":{"get":{"tags":["variables"],"summary":"Get All Countries","operationId":"get_all_countries_api_v1_variables_countries__get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variables/timezones/":{"get":{"tags":["variables"],"summary":"Get All Timezones","operationId":"get_all_timezones_api_v1_variables_timezones__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/languages/":{"get":{"tags":["variables"],"summary":"Get All Languages","operationId":"get_all_languages_api_v1_variables_languages__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/job_titles/":{"get":{"tags":["variables"],"summary":"Get All Job Titles","operationId":"get_all_job_titles_api_v1_variables_job_titles__get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variables/locations/":{"get":{"tags":["variables"],"summary":"Get Suggestions For Locations","operationId":"get_suggestions_for_locations_api_v1_variables_locations__get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variables/languages_and_flags/":{"get":{"tags":["variables"],"summary":"Get All Languages And Flags","operationId":"get_all_languages_and_flags_api_v1_variables_languages_and_flags__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/revenues/":{"get":{"tags":["variables"],"summary":"Get All Revenues","operationId":"get_all_revenues_api_v1_variables_revenues__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/company_sizes/":{"get":{"tags":["variables"],"summary":"Get All Company Sizes","operationId":"get_all_company_sizes_api_v1_variables_company_sizes__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/seniority/":{"get":{"tags":["variables"],"summary":"Get All Seniority","operationId":"get_all_seniority_api_v1_variables_seniority__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/sub-departments/":{"get":{"tags":["variables"],"summary":"Get All Sub Departments","operationId":"get_all_sub_departments_api_v1_variables_sub_departments__get","parameters":[{"name":"query","in":"query","required":false,"schema":{"type":"string","title":"Query"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/variables/departments/":{"get":{"tags":["variables"],"summary":"Get All Departments","operationId":"get_all_departments_api_v1_variables_departments__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/variables/languages":{"get":{"tags":["variables"],"summary":"Get All Languages","operationId":"get_all_languages_api_v1_variables_languages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/brand-vault/core":{"get":{"tags":["brand-vault"],"summary":"Get Brand Core","description":"Get Brand Core data for current workspace.\n\nReturns the brand vault core data if it exists, otherwise returns null.","operationId":"get_brand_core_api_v1_brand_vault_core_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BrandVaultCoreResponse"},{"type":"null"}],"title":"Response Get Brand Core Api V1 Brand Vault Core Get"}}}}}},"put":{"tags":["brand-vault"],"summary":"Update Brand Core","description":"Update Brand Core fields (user edits).\n\nAllows users to manually update brand vault data.","operationId":"update_brand_core_api_v1_brand_vault_core_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandVaultCoreRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultCoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/enrich":{"post":{"tags":["brand-vault"],"summary":"Trigger Enrichment","description":"Trigger Brand Vault enrichment for all pillars.\n\nTriggers the brand vault enrichment background job which runs:\n- Pillar 1: Brand Core (identity, archetype, values)\n- Pillar 2: Personas (target customer profiles)\n- Pillar 3: Voice & Tone (writing style, vocabulary)\n- Pillar 4: Products (product profiles, features, pricing)","operationId":"trigger_enrichment_api_v1_brand_vault_enrich_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__brand_vault__schemas__TriggerEnrichmentResponse"}}}}}}},"/api/v1/brand-vault/core/hero-template":{"post":{"tags":["brand-vault"],"summary":"Upload Hero Template","description":"Upload a hero image template PNG for the workspace brand.\n\nValidates:\n- PNG format (magic bytes check)\n- Max file size: 10MB\n- Dimensions: min 600x315, max 4096x4096\n\nOverwrites any existing template.","operationId":"upload_hero_template_api_v1_brand_vault_core_hero_template_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_hero_template_api_v1_brand_vault_core_hero_template_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HeroTemplateUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/core/hero-text-style":{"put":{"tags":["brand-vault"],"summary":"Update Hero Text Style","description":"Update hero template text style configuration.\n\nSupports partial updates — only provided fields are changed.","operationId":"update_hero_text_style_api_v1_brand_vault_core_hero_text_style_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateHeroTextStyleRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultCoreResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/personas":{"get":{"tags":["brand-vault"],"summary":"Get Personas","description":"Get all personas for current workspace.\n\nReturns the list of target customer personas extracted from solutions pages.","operationId":"get_personas_api_v1_brand_vault_personas_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BrandVaultPersonaResponse"},"type":"array","title":"Response Get Personas Api V1 Brand Vault Personas Get"}}}}}},"post":{"tags":["brand-vault"],"summary":"Create Persona","description":"Create a new persona manually.\n\nAllows users to add custom personas. Source will be marked as 'manual'.","operationId":"create_persona_api_v1_brand_vault_personas_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandVaultPersonaRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/personas/{persona_id}":{"get":{"tags":["brand-vault"],"summary":"Get Persona","description":"Get a single persona by ID.\n\nReturns the persona if it exists and belongs to the current workspace.","operationId":"get_persona_api_v1_brand_vault_personas__persona_id__get","parameters":[{"name":"persona_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Persona Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["brand-vault"],"summary":"Update Persona","description":"Update a persona (user edits).\n\nAllows users to manually update persona data. Automatically marks source as 'manual'.","operationId":"update_persona_api_v1_brand_vault_personas__persona_id__put","parameters":[{"name":"persona_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Persona Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandVaultPersonaRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultPersonaResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["brand-vault"],"summary":"Delete Persona","description":"Soft delete a persona.\n\nMarks the persona as inactive and deleted.","operationId":"delete_persona_api_v1_brand_vault_personas__persona_id__delete","parameters":[{"name":"persona_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Persona Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/voice":{"get":{"tags":["brand-vault"],"summary":"Get Voice","description":"Get Voice & Tone profile for current workspace.\n\nReturns the brand voice and tone characteristics if they exist, otherwise returns null.","operationId":"get_voice_api_v1_brand_vault_voice_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/BrandVaultVoiceResponse"},{"type":"null"}],"title":"Response Get Voice Api V1 Brand Vault Voice Get"}}}}}},"put":{"tags":["brand-vault"],"summary":"Update Voice","description":"Update Voice & Tone profile (user edits).\n\nAllows users to manually update voice data. Automatically marks source as 'manual'.","operationId":"update_voice_api_v1_brand_vault_voice_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandVaultVoiceRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultVoiceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/products":{"get":{"tags":["brand-vault"],"summary":"Get Products","description":"Get all products for current workspace.\n\nReturns the list of product profiles extracted from product/pricing pages.","operationId":"get_products_api_v1_brand_vault_products_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BrandVaultProductResponse"},"type":"array","title":"Response Get Products Api V1 Brand Vault Products Get"}}}}}},"post":{"tags":["brand-vault"],"summary":"Create Product","description":"Create a new product manually.\n\nAllows users to add custom products. Source will be marked as 'manual'.","operationId":"create_product_api_v1_brand_vault_products_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateBrandVaultProductRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultProductResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/brand-vault/products/{product_id}":{"get":{"tags":["brand-vault"],"summary":"Get Product","description":"Get a single product by ID.\n\nReturns the product if it exists and belongs to the current workspace.","operationId":"get_product_api_v1_brand_vault_products__product_id__get","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Product Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultProductResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["brand-vault"],"summary":"Update Product","description":"Update a product (user edits).\n\nAllows users to manually update product data. Automatically marks source as 'manual'.","operationId":"update_product_api_v1_brand_vault_products__product_id__put","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Product Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateBrandVaultProductRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandVaultProductResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["brand-vault"],"summary":"Delete Product","description":"Soft delete a product.\n\nMarks the product as inactive and deleted.","operationId":"delete_product_api_v1_brand_vault_products__product_id__delete","parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Product Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/ops/talk-to-sales":{"post":{"tags":["ops"],"summary":"Create Website Contact","description":"Process a talk-to-sales form submission.\n\nSends the contact information to Slack for sales team follow-up.","operationId":"create_website_contact_api_v1_ops_talk_to_sales_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebsiteContactRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWebsiteContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export-events/destinations":{"get":{"tags":["export-events"],"summary":"List Destinations","operationId":"list_destinations_api_v1_export_events_destinations_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDestinationListResponse"}}}}}},"post":{"tags":["export-events"],"summary":"Create Destination","operationId":"create_destination_api_v1_export_events_destinations_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateExportDestinationRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDestinationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export-events/destinations/{destination_id}":{"get":{"tags":["export-events"],"summary":"Get Destination","operationId":"get_destination_api_v1_export_events_destinations__destination_id__get","parameters":[{"name":"destination_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Destination Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDestinationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["export-events"],"summary":"Update Destination","operationId":"update_destination_api_v1_export_events_destinations__destination_id__patch","parameters":[{"name":"destination_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Destination Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateExportDestinationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportDestinationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["export-events"],"summary":"Delete Destination","operationId":"delete_destination_api_v1_export_events_destinations__destination_id__delete","parameters":[{"name":"destination_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Destination Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export-events/trigger":{"post":{"tags":["export-events"],"summary":"Trigger Export","operationId":"trigger_export_api_v1_export_events_trigger_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerExportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TriggerExportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export-events/logs":{"get":{"tags":["export-events"],"summary":"List Export Logs","operationId":"list_export_logs_api_v1_export_events_logs_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ExportStatus"},{"type":"null"}],"title":"Status"}},{"name":"event_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ExportEventType"},{"type":"null"}],"title":"Event Type"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ExportResourceType"},{"type":"null"}],"title":"Resource Type"}},{"name":"destination_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportEventLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/export-events/logs/{log_id}":{"get":{"tags":["export-events"],"summary":"Get Export Log","operationId":"get_export_log_api_v1_export_events_logs__log_id__get","parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Log Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExportEventLogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/plans":{"get":{"tags":["billing"],"summary":"Get Plans","description":"Get all available subscription plans.","operationId":"get_plans_api_v1_billing_plans_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/SubscriptionPlanResponse"},"type":"array","title":"Response Get Plans Api V1 Billing Plans Get"}}}}}}},"/api/v1/billing/topup-packages":{"get":{"tags":["billing"],"summary":"Get Topup Packages","description":"Get all available top-up packages.","operationId":"get_topup_packages_api_v1_billing_topup_packages_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/TopUpPackageResponse"},"type":"array","title":"Response Get Topup Packages Api V1 Billing Topup Packages Get"}}}}}}},"/api/v1/billing/subscription":{"get":{"tags":["billing"],"summary":"Get Subscription","description":"Get current subscription for the workspace.","operationId":"get_subscription_api_v1_billing_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionResponse"},{"type":"null"}],"title":"Response Get Subscription Api V1 Billing Subscription Get"}}}}}}},"/api/v1/billing/subscription/cancel":{"post":{"tags":["billing"],"summary":"Cancel Subscription","description":"Cancel subscription.\n\nBy default, cancels at end of billing period (user keeps access until then).\nSet cancel_immediately=true in the request body to cancel right away.\n\nOptionally provide a reason and feedback for the cancellation.\n\n**Request body (optional):**\n- reason: Reason for cancellation (e.g., 'too_expensive', 'missing_features')\n- feedback: Additional feedback\n- cancel_immediately: If true, cancel immediately (default: false)\n\n**Response:**\n- subscription: Updated subscription details\n- effective_date: When the cancellation takes effect\n- will_lose_access_immediately: Whether access is lost immediately\n- credits_remaining: Remaining credits in the account\n- message: Human-readable status message","operationId":"cancel_subscription_api_v1_billing_subscription_cancel_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/CancelSubscriptionRequest"},{"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/billing/subscription/reactivate":{"post":{"tags":["billing"],"summary":"Reactivate Subscription","description":"Reactivate a subscription that was set to cancel at period end.","operationId":"reactivate_subscription_api_v1_billing_subscription_reactivate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}}}}},"/api/v1/billing/subscription/change-plan/preview":{"post":{"tags":["billing"],"summary":"Preview Plan Change","description":"Preview what will happen when changing to a new plan.\n\nReturns detailed information about:\n- Billing changes (price difference, proration amount)\n- Credit changes (prorated credits to be granted on upgrade)\n- Timing (effective date, whether charge is immediate)\n\nThis does NOT make any changes - use POST /subscription/change-plan to execute.","operationId":"preview_plan_change_api_v1_billing_subscription_change_plan_preview_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}},"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/billing/subscription/change-plan":{"post":{"tags":["billing"],"summary":"Change Plan","description":"Change subscription to a new plan (upgrade or downgrade).\n\n**Upgrades:**\n- Take effect immediately\n- User is charged prorated amount for the price difference\n- Prorated credits are granted for the credit difference (if prorate_credits=true)\n\n**Downgrades:**\n- Take effect at end of current billing period\n- Credits continue until period ends\n- New (lower) plan applies from next billing cycle\n\n**Free to Paid:**\n- Requires checkout flow (returns error with instructions)\n- Use POST /checkout endpoint instead\n\n**Response includes:**\n- Previous and new plan details\n- Whether it was an upgrade or downgrade\n- Prorated credits granted (if any)\n- Updated subscription status","operationId":"change_plan_api_v1_billing_subscription_change_plan_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}},"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/billing/checkout":{"post":{"tags":["billing"],"summary":"Create Checkout","description":"Create a Stripe Checkout session for subscription.","operationId":"create_checkout_api_v1_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/topup":{"post":{"tags":["billing"],"summary":"Create Topup Checkout","description":"Create a Stripe Checkout session for top-up credits.","operationId":"create_topup_checkout_api_v1_billing_topup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTopUpCheckoutRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/portal":{"post":{"tags":["billing"],"summary":"Create Portal Session","description":"Create a Stripe Customer Portal session.","operationId":"create_portal_session_api_v1_billing_portal_post","parameters":[{"name":"return_url","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return Url"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePortalSessionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/credits/config":{"get":{"tags":["billing"],"summary":"Get Credit Config","description":"Get credit configuration for all actions and platforms.\n\nReturns the credit costs for prompt executions (per platform) and\nother actions like content generation and page audits.","operationId":"get_credit_config_api_v1_billing_credits_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditConfigResponse"}}}}}}},"/api/v1/billing/credits/utilization":{"get":{"tags":["billing"],"summary":"Get Credit Utilization","description":"Get credit utilization data for the workspace.\n\nReturns detailed breakdown of credit usage by action type, platform,\nand time period. Supports timezone-aware date filtering.","operationId":"get_credit_utilization_api_v1_billing_credits_utilization_get","parameters":[{"name":"start_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"Start date for the filter (ISO format with timezone, e.g., 2024-01-01T00:00:00Z)","title":"Start Date"},"description":"Start date for the filter (ISO format with timezone, e.g., 2024-01-01T00:00:00Z)"},{"name":"end_date","in":"query","required":true,"schema":{"type":"string","format":"date-time","description":"End date for the filter (ISO format with timezone, e.g., 2024-01-31T23:59:59Z)","title":"End Date"},"description":"End date for the filter (ISO format with timezone, e.g., 2024-01-31T23:59:59Z)"},{"name":"timezone","in":"query","required":false,"schema":{"type":"string","description":"Timezone for date display (e.g., 'America/New_York', 'Europe/London')","default":"UTC","title":"Timezone"},"description":"Timezone for date display (e.g., 'America/New_York', 'Europe/London')"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditUtilizationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/credits":{"get":{"tags":["billing"],"summary":"Get Credit Balance","description":"Get credit balance for the workspace.","operationId":"get_credit_balance_api_v1_billing_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditBalanceResponse"}}}}}}},"/api/v1/billing/credits/check":{"get":{"tags":["billing"],"summary":"Check Credits","description":"Check if workspace has sufficient credits for an action.","operationId":"check_credits_api_v1_billing_credits_check_get","parameters":[{"name":"amount","in":"query","required":true,"schema":{"type":"integer","title":"Amount"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckCreditsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/credits/consume":{"post":{"tags":["billing"],"summary":"Consume Credits","description":"Consume credits for an action.\nThis is typically called internally by other services.","operationId":"consume_credits_api_v1_billing_credits_consume_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumeCreditsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsumeCreditsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/transactions":{"get":{"tags":["billing"],"summary":"Get Transactions","description":"Get credit transaction history for the workspace.","operationId":"get_transactions_api_v1_billing_transactions_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreditTransactionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/allocate":{"post":{"tags":["billing"],"summary":"Allocate Credits","description":"Allocate credits from parent agency to agency client workspace.\n\nThe target_workspace_id must be an AGENCY_CLIENT workspace.\nThe parent agency is automatically determined from the target workspace.\nUser must be a member of the parent agency to allocate credits.","operationId":"allocate_credits_api_v1_billing_allocate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllocateCreditsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AllocateCreditsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/overview":{"get":{"tags":["billing"],"summary":"Get Billing Overview","description":"Get complete billing overview for the workspace.","operationId":"get_billing_overview_api_v1_billing_overview_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingOverviewResponse"}}}}}}},"/api/v1/billing/invoices":{"get":{"tags":["billing"],"summary":"Get Invoices","description":"Get invoices for the workspace.\n\nReturns a paginated list of invoices from Stripe with PDF download URLs.\nUse the `starting_after` parameter with an invoice ID for pagination.","operationId":"get_invoices_api_v1_billing_invoices_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Max invoices to return","default":10,"title":"Limit"},"description":"Max invoices to return"},{"name":"starting_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Invoice ID for pagination","title":"Starting After"},"description":"Invoice ID for pagination"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filter by status (draft, open, paid, uncollectible, void)","title":"Status"},"description":"Filter by status (draft, open, paid, uncollectible, void)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvoiceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/invoices/{invoice_id}/pdf":{"get":{"tags":["billing"],"summary":"Get Invoice Pdf","description":"Get the PDF download URL for a specific invoice.\n\nReturns a URL that can be used to download the invoice PDF directly.\nThe URL is valid for a limited time.","operationId":"get_invoice_pdf_api_v1_billing_invoices__invoice_id__pdf_get","parameters":[{"name":"invoice_id","in":"path","required":true,"schema":{"type":"string","title":"Invoice Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/billing/webhooks/stripe":{"post":{"tags":["billing"],"summary":"Stripe Webhook","description":"Handle Stripe webhook events.\nThis endpoint must be publicly accessible (no auth).","operationId":"stripe_webhook_api_v1_billing_webhooks_stripe_post","parameters":[{"name":"Stripe-Signature","in":"header","required":false,"schema":{"type":"string","title":"Stripe-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/enterprise/setup":{"post":{"tags":["billing-admin"],"summary":"Setup Enterprise Plan","description":"Set up an enterprise plan for a workspace (Admin only).\n\nThis creates a subscription without Stripe for manual billing.\nEnterprise plans support custom credit allocations and features.","operationId":"setup_enterprise_plan_api_v1_admin_billing_enterprise_setup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetupEnterprisePlanRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/enterprise/grant-credits":{"post":{"tags":["billing-admin"],"summary":"Grant Enterprise Credits","description":"Grant credits to an enterprise workspace (Admin only).\n\nThis manually adds credits outside of the normal subscription cycle.\nUseful for promotional grants, adjustments, or custom agreements.","operationId":"grant_enterprise_credits_api_v1_admin_billing_enterprise_grant_credits_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnterpriseGrantCreditsRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/enterprise/renew/{workspace_id}":{"post":{"tags":["billing-admin"],"summary":"Renew Enterprise Subscription","description":"Manually renew an enterprise subscription (Admin only).\n\nExtends the billing period and grants monthly credits.\nCan override the default monthly credit amount.","operationId":"renew_enterprise_subscription_api_v1_admin_billing_enterprise_renew__workspace_id__post","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}},{"name":"monthly_credits","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Credits"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/billing/enterprise/check/{workspace_id}":{"get":{"tags":["billing-admin"],"summary":"Check Enterprise Status","description":"Check if a workspace is on an enterprise plan (Admin only).","operationId":"check_enterprise_status_api_v1_admin_billing_enterprise_check__workspace_id__get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Workspace Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/rewards/status":{"get":{"tags":["rewards"],"summary":"Get Reward Status","operationId":"get_reward_status_api_v1_rewards_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardStatusResponse"}}}}}}},"/api/v1/rewards/claims":{"post":{"tags":["rewards"],"summary":"Submit Reward Claim","operationId":"submit_reward_claim_api_v1_rewards_claims_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardClaimRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/rewards/review-claims":{"post":{"tags":["rewards"],"summary":"Submit Review Claim","operationId":"submit_review_claim_api_v1_rewards_review_claims_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_submit_review_claim_api_v1_rewards_review_claims_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/rewards/case-study-request":{"post":{"tags":["rewards"],"summary":"Submit Case Study Request","operationId":"submit_case_study_request_api_v1_rewards_case_study_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CaseStudyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/rewards/claims":{"get":{"tags":["rewards-admin"],"summary":"List Pending Reward Claims","operationId":"list_pending_reward_claims_api_v1_admin_rewards_claims_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/RewardClaimStatus","default":"PENDING"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"x-admin-key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PendingRewardClaimsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/rewards/review":{"post":{"tags":["rewards-admin"],"summary":"Review Reward Claim","operationId":"review_reward_claim_api_v1_admin_rewards_review_post","parameters":[{"name":"x-admin-key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardAdminReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewardClaimResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/contents":{"post":{"tags":["admin"],"summary":"Create Content","operationId":"create_content_api_v1_admin_contents_post","parameters":[{"name":"x-admin-key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreateContentRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCreateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/ai-costs":{"get":{"tags":["admin"],"summary":"Get Ai Costs","operationId":"get_ai_costs_api_v1_admin_ai_costs_get","parameters":[{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id"}},{"name":"execution_context","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ExecutionContext"},{"type":"null"}],"title":"Execution Context"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"End Date"}},{"name":"x-admin-key","in":"header","required":true,"schema":{"type":"string","title":"X-Admin-Key"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AdminCostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/agent/chat":{"post":{"tags":["agent","Agent"],"summary":"Chat","description":"Streaming chat endpoint using Vercel AI SDK v6 UI Message Stream Protocol.","operationId":"chat_api_v1_agent_chat_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/agent":{"get":{"tags":["agent","Agent"],"summary":"List Conversations","operationId":"list_conversations_api_v1_agent_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationListResponse"}}}}}}},"/api/v1/agent/{conversation_id}":{"get":{"tags":["agent","Agent"],"summary":"Get Conversation","operationId":"get_conversation_api_v1_agent__conversation_id__get","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["agent","Agent"],"summary":"Delete Conversation","operationId":"delete_conversation_api_v1_agent__conversation_id__delete","parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Conversation Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-inventory/":{"get":{"tags":["Content Inventory"],"summary":"List Inventory","description":"List content inventory items with pagination and optional filters.","operationId":"list_inventory_api_v1_content_inventory__get","parameters":[{"name":"funnel_stage","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FunnelStage"},{"type":"null"}],"title":"Funnel Stage"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ContentSource"},{"type":"null"}],"title":"Source"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentInventoryListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-inventory/similar":{"get":{"tags":["Content Inventory"],"summary":"Find Similar","description":"Find similar content and detect cannibalization risks.","operationId":"find_similar_api_v1_content_inventory_similar_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","title":"Query"}},{"name":"funnel_stage","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/FunnelStage"},{"type":"null"}],"title":"Funnel Stage"}},{"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":{"$ref":"#/components/schemas/SimilarContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-inventory/stats":{"get":{"tags":["Content Inventory"],"summary":"Get Stats","description":"Return inventory statistics for the workspace.","operationId":"get_stats_api_v1_content_inventory_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentInventoryStatsResponse"}}}}}}},"/api/v1/content-inventory/funnel-detect":{"post":{"tags":["Content Inventory"],"summary":"Detect Funnel Stage","description":"Detect funnel stage for a keyword.","operationId":"detect_funnel_stage_api_v1_content_inventory_funnel_detect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunnelStageDetectionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FunnelStageDetectionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-inventory/import":{"post":{"tags":["Content Inventory"],"summary":"Import Content","description":"Import content from URL or markdown into inventory.","operationId":"import_content_api_v1_content_inventory_import_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentImportRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentImportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-performance/article":{"get":{"tags":["Content Performance"],"summary":"Get Article Performance","description":"Get combined performance metrics for a single article URL.","operationId":"get_article_performance_api_v1_content_performance_article_get","parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","description":"Full article URL","title":"Url"},"description":"Full article URL"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticlePerformanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/content-performance/":{"get":{"tags":["Content Performance"],"summary":"List Performance","description":"List paginated article performance for all tracked URLs in the workspace.","operationId":"list_performance_api_v1_content_performance__get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArticlePerformanceListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/contents/":{"get":{"tags":["content-v2"],"summary":"List Contents V2","description":"List contents for the workspace with V2 typed responses including quality_grade.","operationId":"list_contents_v2_api_v2_contents__get","parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/ContentStatus"},{"type":"null"}],"description":"Filter by status","title":"Status"},"description":"Filter by status"},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":50,"title":"Limit"},"description":"Items per page"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentListResponseV2"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["content-v2"],"summary":"Create Content V2","description":"Create new content and trigger strategy generation workflow.","operationId":"create_content_v2_api_v2_contents__post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/contents/{content_id}":{"get":{"tags":["content-v2"],"summary":"Get Content V2","description":"Get content details with V2 typed sub-schemas for quality_scores, fact_check_report, etc.","operationId":"get_content_v2_api_v2_contents__content_id__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentDetailResponseV2"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["content-v2"],"summary":"Update Content V2","description":"Update content (submit titles, approve brief, or regenerate).","operationId":"update_content_v2_api_v2_contents__content_id__patch","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContentRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["content-v2"],"summary":"Delete Content V2","description":"Soft delete a content item.","operationId":"delete_content_v2_api_v2_contents__content_id__delete","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/contents/{content_id}/cancel":{"post":{"tags":["content-v2"],"summary":"Cancel Content V2","description":"Request cancellation of in-progress content generation.","operationId":"cancel_content_v2_api_v2_contents__content_id__cancel_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelContentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/generate":{"post":{"tags":["image-generation"],"summary":"Generate Image","description":"Generate an AI image for the given content.","operationId":"generate_image_api_v2_content__content_id__images_generate_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/search":{"post":{"tags":["image-generation"],"summary":"Search Stock","description":"Search stock image providers for images matching query.","operationId":"search_stock_api_v2_content__content_id__images_search_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockSearchRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/search/select":{"post":{"tags":["image-generation"],"summary":"Select Stock Image","description":"Download a selected stock image, upload to S3, and create DB record.","operationId":"select_stock_image_api_v2_content__content_id__images_search_select_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StockSelectRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/{image_id}/regenerate":{"post":{"tags":["image-generation"],"summary":"Regenerate Image","description":"Delete an existing image and generate a new one.","operationId":"regenerate_image_api_v2_content__content_id__images__image_id__regenerate_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}},{"name":"image_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Image Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateImageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/":{"get":{"tags":["image-generation"],"summary":"List Images","description":"List all images for the given content.","operationId":"list_images_api_v2_content__content_id__images__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImageListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/images/{image_id}":{"delete":{"tags":["image-generation"],"summary":"Delete Image","description":"Soft-delete an image.","operationId":"delete_image_api_v2_content__content_id__images__image_id__delete","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}},{"name":"image_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteImageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/links/suggest":{"post":{"tags":["internal-linking"],"summary":"Suggest Links","description":"Generate internal link suggestions for a content article.","operationId":"suggest_links_api_v2_content__content_id__links_suggest_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestLinksRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkSuggestionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/links/apply":{"post":{"tags":["internal-linking"],"summary":"Apply Links","description":"Apply accepted link suggestions to the content markdown.","operationId":"apply_links_api_v2_content__content_id__links_apply_post","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyLinksRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplyLinksResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v2/content/{content_id}/links/":{"get":{"tags":["internal-linking"],"summary":"List Links","description":"List persisted link suggestions for a content article.","operationId":"list_links_api_v2_content__content_id__links__get","parameters":[{"name":"content_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Content Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinkSuggestionsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/inngest":{"get":{"summary":"Get Api Inngest","operationId":"get_api_inngest_api_inngest_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"put":{"summary":"Put Inngest Api","operationId":"put_inngest_api_api_inngest_put","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"post":{"summary":"Post Inngest Api","operationId":"post_inngest_api_api_inngest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"AIPathAnalyticsRequest":{"properties":{"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date","description":"Filter logs from this date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date","description":"Filter logs until this date"},"platform":{"anyOf":[{"$ref":"#/components/schemas/Platform"},{"type":"null"}],"description":"Filter by specific AI platform"},"page":{"type":"integer","minimum":1.0,"title":"Page","description":"Page number (starts from 1)","default":1},"page_size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Page Size","description":"Number of items per page (max 100)","default":20},"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search","description":"Search in request path"}},"type":"object","title":"AIPathAnalyticsRequest","description":"Request schema for AI path analytics"},"AIPathMetricsResponse":{"properties":{"path":{"type":"string","title":"Path","description":"Request path"},"ai_citations":{"type":"integer","title":"Ai Citations","description":"Number of AI citations"},"ai_indexing":{"type":"integer","title":"Ai Indexing","description":"Number of AI indexing requests"},"ai_training":{"type":"integer","title":"Ai Training","description":"Number of AI training requests"},"humans_referred":{"type":"integer","title":"Humans Referred","description":"Number of human users who visited this page after being referred by AI assistants"},"total_requests":{"type":"integer","title":"Total Requests","description":"Total number of requests for this path"},"bot_referral_percentage":{"type":"number","title":"Bot Referral Percentage","description":"Percentage of requests that are referrals from AI systems"}},"type":"object","required":["path","ai_citations","ai_indexing","ai_training","humans_referred","total_requests","bot_referral_percentage"],"title":"AIPathMetricsResponse","description":"Response schema for individual path metrics"},"AIReadinessMetrics":{"properties":{"clean_content_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clean Content Ratio","description":"Ratio of clean content vs boilerplate"},"has_clear_sections":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Clear Sections","description":"Content has clear sections"},"has_summary_or_takeaways":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Summary Or Takeaways","description":"Content has summary/takeaways"},"qa_pairs_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qa Pairs Count","description":"Number of Q&A pairs found"},"chunk_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Count","description":"Number of content chunks"},"avg_chunk_tokens":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Chunk Tokens","description":"Average tokens per chunk"},"chunk_boundary_quality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Chunk Boundary Quality Score","description":"Quality of chunk boundaries (0-100)"},"has_llms_txt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Llms Txt","description":"Domain has llms.txt file"},"has_robots_txt":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Robots Txt","description":"Domain has robots.txt file"}},"type":"object","title":"AIReadinessMetrics","description":"AI/GEO readiness metrics."},"AIReadinessResponse":{"properties":{"clean_main_content_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clean Main Content Ratio"},"boilerplate_noise_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Boilerplate Noise Ratio"},"has_clear_sections":{"type":"boolean","title":"Has Clear Sections","default":false},"has_summary_or_takeaways":{"type":"boolean","title":"Has Summary Or Takeaways","default":false},"total_images":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Images"},"images_with_alt":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Images With Alt"},"alt_text_coverage":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Alt Text Coverage"},"qa_pairs_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Qa Pairs Count"},"faq_schema_present":{"type":"boolean","title":"Faq Schema Present","default":false},"answerability_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Answerability Score"},"incoming_internal_links":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Incoming Internal Links"},"avg_anchor_text_length":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Anchor Text Length"},"non_descriptive_anchor_ratio":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Non Descriptive Anchor Ratio"},"llm_indexing_allowed":{"type":"boolean","title":"Llm Indexing Allowed","default":true},"chunk_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Chunk Count"},"avg_chunk_tokens":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Chunk Tokens"},"chunk_boundary_quality_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Chunk Boundary Quality Score"}},"type":"object","title":"AIReadinessResponse","description":"AI readiness metrics response."},"AISeoMonitorProvider":{"type":"string","enum":["IN_HOUSE_VISION"],"title":"AISeoMonitorProvider"},"AISeoMonitorResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"website_url":{"type":"string","title":"Website Url"},"status":{"$ref":"#/components/schemas/AISeoMonitorStatus"},"provider":{"$ref":"#/components/schemas/AISeoMonitorProvider"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","user_id","workspace_id","website_url","status","provider","created_at","updated_at","is_active"],"title":"AISeoMonitorResponse","description":"Response schema for AI SEO monitor."},"AISeoMonitorResultResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"ai_seo_monitor_id":{"type":"string","format":"uuid","title":"Ai Seo Monitor Id"},"summary":{"additionalProperties":true,"type":"object","title":"Summary"},"scores":{"additionalProperties":true,"type":"object","title":"Scores"},"score_weights":{"additionalProperties":true,"type":"object","title":"Score Weights"},"pages":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Pages"},"recommendations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Recommendations"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["id","ai_seo_monitor_id","summary","scores","score_weights","pages","recommendations","created_at","updated_at","is_active"],"title":"AISeoMonitorResultResponse","description":"Response schema for AI SEO monitor result."},"AISeoMonitorStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PAUSED","ARCHIVED"],"title":"AISeoMonitorStatus"},"AISummaryContext":{"properties":{"active_users":{"type":"integer","title":"Active Users"},"new_users":{"type":"integer","title":"New Users"},"sessions":{"type":"integer","title":"Sessions"},"page_views":{"type":"integer","title":"Page Views"},"active_users_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Active Users Change"},"sessions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sessions Change"},"top_channel":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Channel"},"top_channel_sessions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Channel Sessions"},"top_page":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Top Page"},"top_page_views":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Top Page Views"},"device_breakdown":{"anyOf":[{"additionalProperties":{"type":"number"},"type":"object"},{"type":"null"}],"title":"Device Breakdown"},"bounce_rate_avg":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bounce Rate Avg"}},"type":"object","required":["active_users","new_users","sessions","page_views"],"title":"AISummaryContext","description":"Aggregated data from the other Traffic Analytics APIs."},"AISummaryInsight":{"properties":{"text":{"type":"string","title":"Text"},"sentiment":{"type":"string","title":"Sentiment"}},"type":"object","required":["text","sentiment"],"title":"AISummaryInsight"},"AISummaryRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"context":{"$ref":"#/components/schemas/AISummaryContext"}},"type":"object","required":["start_date","end_date","context"],"title":"AISummaryRequest"},"AISummaryResponse":{"properties":{"insights":{"items":{"$ref":"#/components/schemas/AISummaryInsight"},"type":"array","title":"Insights"},"generated_at":{"type":"string","title":"Generated At"}},"type":"object","required":["insights","generated_at"],"title":"AISummaryResponse"},"AISystemType":{"type":"string","enum":["CONVERSATIONAL_AI","SEARCH_AI","CODING_AI","RESEARCH_AI","UNKNOWN_AI"],"title":"AISystemType","description":"Types of AI systems for more granular classification"},"AIVisibilityMetrics":{"properties":{"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Percentage of prompts where brand was mentioned"},"share_of_voice":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Share Of Voice","description":"Share of mentions vs all companies"},"avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Position","description":"Average ranking position in AI responses"},"mention_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mention Count","description":"Total number of mentions"},"sentiment_positive":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sentiment Positive","description":"Count of positive sentiment mentions"},"sentiment_neutral":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sentiment Neutral","description":"Count of neutral sentiment mentions"},"sentiment_negative":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sentiment Negative","description":"Count of negative sentiment mentions"}},"type":"object","title":"AIVisibilityMetrics","description":"AI Visibility metrics for brand or competitor."},"AcceptInvitationRequest":{"properties":{"token":{"type":"string","title":"Token","description":"Invitation token"},"first_name":{"type":"string","maxLength":100,"minLength":1,"title":"First Name","description":"User first name"},"last_name":{"type":"string","maxLength":100,"minLength":1,"title":"Last Name","description":"User last name"}},"type":"object","required":["token","first_name","last_name"],"title":"AcceptInvitationRequest","description":"Request schema for accepting workspace invitation"},"ActionCategory":{"type":"string","enum":["TECHNICAL","CONTENT","AUTHORITY","COMPETITIVE"],"title":"ActionCategory","description":"High-level category for action recommendations.\nGroups related action types for filtering and display."},"ActionCreditCost":{"properties":{"action_type":{"type":"string","title":"Action Type"},"display_name":{"type":"string","title":"Display Name"},"credits":{"type":"integer","title":"Credits"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["action_type","display_name","credits"],"title":"ActionCreditCost","description":"Credit cost for a specific action."},"ActionDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"status":{"$ref":"#/components/schemas/ActionStatus"},"feedback":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Feedback"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"category":{"$ref":"#/components/schemas/ActionCategory"},"action_type":{"$ref":"#/components/schemas/ActionTypeV2"},"issue":{"additionalProperties":true,"type":"object","title":"Issue"},"recommendation":{"additionalProperties":true,"type":"object","title":"Recommendation"},"deep_link":{"additionalProperties":true,"type":"object","title":"Deep Link"},"impact_score":{"type":"integer","title":"Impact Score"},"impact_level":{"type":"string","title":"Impact Level"},"effort_level":{"$ref":"#/components/schemas/ActionEffort"},"priority_score":{"type":"number","title":"Priority Score"},"action_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Action Metadata"},"trigger_source":{"anyOf":[{"$ref":"#/components/schemas/ActionTrigger"},{"type":"null"}]},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"}},"type":"object","required":["id","workspace_id","title","status","created_at","category","action_type","issue","recommendation","deep_link","impact_score","impact_level","effort_level","priority_score"],"title":"ActionDetail","description":"Full action details."},"ActionEffort":{"type":"string","enum":["QUICK_WIN","MODERATE","SIGNIFICANT"],"title":"ActionEffort","description":"Effort level for completing an action.\nUsed in priority calculation as the \"ease\" component."},"ActionGenerationQueueResponse":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"status":{"type":"string","const":"queued","title":"Status","default":"queued"}},"type":"object","required":["workspace_id"],"title":"ActionGenerationQueueResponse","description":"Acknowledgement for a queued manual workspace generation run."},"ActionListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"$ref":"#/components/schemas/ActionStatus"},"category":{"$ref":"#/components/schemas/ActionCategory"},"action_type":{"$ref":"#/components/schemas/ActionTypeV2"},"impact_score":{"type":"integer","title":"Impact Score"},"impact_level":{"type":"string","title":"Impact Level"},"effort_level":{"$ref":"#/components/schemas/ActionEffort"},"priority_score":{"type":"number","title":"Priority Score"},"issue_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issue Summary","description":"From issue.summary"},"cta_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cta Text","description":"From deep_link.cta_text"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","status","category","action_type","impact_score","impact_level","effort_level","priority_score","created_at"],"title":"ActionListItem","description":"Minimal action for list views."},"ActionListResponse":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/ActionListItem"},"type":"array","title":"Items"}},"type":"object","required":["total","items"],"title":"ActionListResponse","description":"Wrapped response for action list endpoint."},"ActionResponse":{"properties":{"data":{"$ref":"#/components/schemas/ActionDetail"}},"type":"object","required":["data"],"title":"ActionResponse","description":"Wrapped response for single action endpoint."},"ActionStatus":{"type":"string","enum":["SUGGESTED","IN_PROGRESS","BLOCKED","COMPLETED","ARCHIVED"],"title":"ActionStatus","description":"Status of an action."},"ActionTrigger":{"type":"string","enum":["EVENT","CRON","MANUAL"],"title":"ActionTrigger","description":"Source that triggered the action generation."},"ActionTypeV2":{"type":"string","enum":["SETUP_GSC","FIX_GHOST_PAGES","ESTABLISH_ENTITY_TRUST","TRACK_HIDDEN_WINS","FIX_ENTITY_SCHEMA","CAPTURE_BREAKOUT","STEAL_BACKLINKS","HIJACK_VIRAL_CITATIONS","BUILD_RELATIONSHIPS","COUNTER_COMPETITOR_CONTENT","FIX_CLUSTER_GAP","ADD_LLMS_TXT","FIX_WEB_VITALS","CONTENT_REFRESH","OWNED_CONTENT_CREATE"],"title":"ActionTypeV2","description":"Specific action type identifier for v2 actions.\nEach type corresponds to a specific generator and pillar."},"AddKeywordRequest":{"properties":{"keyword_text":{"type":"string","maxLength":200,"minLength":1,"title":"Keyword Text","description":"Keyword text to add"}},"type":"object","required":["keyword_text"],"title":"AddKeywordRequest","description":"Schema for adding a keyword to workspace."},"AddKeywordResponse":{"properties":{"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword_id":{"type":"string","title":"Keyword Id"},"keyword_text":{"type":"string","title":"Keyword Text"},"message":{"type":"string","title":"Message","default":"Keyword added successfully. Volume data will be fetched in the background."}},"type":"object","required":["workspace_keyword_id","keyword_id","keyword_text"],"title":"AddKeywordResponse","description":"Schema for add keyword API response."},"AddVercelVerificationTokenRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"AddVercelVerificationTokenRequest"},"AddWebsiteRequest":{"properties":{"url":{"type":"string","title":"Url","description":"Homepage URL of the website"}},"type":"object","required":["url"],"title":"AddWebsiteRequest","description":"Request to add a new website for sitemap auditing.","example":{"url":"https://example.com"}},"AdminCostBreakdownItem":{"properties":{"execution_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Execution Context"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"total_cost_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Cost Usd"},"call_count":{"type":"integer","title":"Call Count"},"total_input_tokens":{"type":"integer","title":"Total Input Tokens"},"total_output_tokens":{"type":"integer","title":"Total Output Tokens"},"avg_latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Avg Latency Ms"}},"type":"object","required":["execution_context","provider","model","total_cost_usd","call_count","total_input_tokens","total_output_tokens","avg_latency_ms"],"title":"AdminCostBreakdownItem"},"AdminCostResponse":{"properties":{"summary":{"$ref":"#/components/schemas/AdminCostSummary"},"breakdown":{"items":{"$ref":"#/components/schemas/AdminCostBreakdownItem"},"type":"array","title":"Breakdown"}},"type":"object","required":["summary","breakdown"],"title":"AdminCostResponse"},"AdminCostSummary":{"properties":{"total_cost_usd":{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","title":"Total Cost Usd"},"total_calls":{"type":"integer","title":"Total Calls"},"total_input_tokens":{"type":"integer","title":"Total Input Tokens"},"total_output_tokens":{"type":"integer","title":"Total Output Tokens"},"avg_latency_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Avg Latency Ms"}},"type":"object","required":["total_cost_usd","total_calls","total_input_tokens","total_output_tokens","avg_latency_ms"],"title":"AdminCostSummary"},"AdminCreateContentRequest":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"primary_keyword":{"type":"string","maxLength":500,"minLength":1,"title":"Primary Keyword"},"content_type":{"$ref":"#/components/schemas/ContentType-Input"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"slug":{"type":"string","minLength":1,"title":"Slug"},"meta_description":{"type":"string","minLength":1,"title":"Meta Description"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excerpt"},"markdown_text":{"type":"string","minLength":1,"title":"Markdown Text"}},"type":"object","required":["workspace_id","name","primary_keyword","content_type","title","slug","meta_description","markdown_text"],"title":"AdminCreateContentRequest"},"AdminCreateContentResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"content_version_id":{"type":"string","format":"uuid","title":"Content Version Id"},"message":{"type":"string","title":"Message"}},"type":"object","required":["id","content_version_id","message"],"title":"AdminCreateContentResponse"},"AgencyBillingOverviewResponse":{"properties":{"agency_id":{"type":"string","format":"uuid","title":"Agency Id"},"agency_name":{"type":"string","title":"Agency Name"},"agency_credit_balance":{"type":"integer","title":"Agency Credit Balance"},"agency_lifetime_credits_received":{"type":"integer","title":"Agency Lifetime Credits Received"},"agency_lifetime_credits_used":{"type":"integer","title":"Agency Lifetime Credits Used"},"total_credits_allocated_to_clients":{"type":"integer","title":"Total Credits Allocated To Clients"},"total_credits_available_in_hierarchy":{"type":"integer","title":"Total Credits Available In Hierarchy"},"client_credits":{"items":{"$ref":"#/components/schemas/ClientCreditInfo"},"type":"array","title":"Client Credits","default":[]}},"type":"object","required":["agency_id","agency_name","agency_credit_balance","agency_lifetime_credits_received","agency_lifetime_credits_used","total_credits_allocated_to_clients","total_credits_available_in_hierarchy"],"title":"AgencyBillingOverviewResponse","description":"Response containing agency billing overview."},"AgencyClientInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType"},"status":{"$ref":"#/components/schemas/WorkspaceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"member_count":{"type":"integer","title":"Member Count"},"active_member_count":{"type":"integer","title":"Active Member Count"},"pending_invitations_count":{"type":"integer","title":"Pending Invitations Count"},"credit_balance":{"type":"integer","title":"Credit Balance","default":0}},"type":"object","required":["id","name","workspace_type","status","created_at","updated_at","member_count","active_member_count","pending_invitations_count"],"title":"AgencyClientInfo","description":"Information about an agency client workspace."},"AgencyClientListResponse":{"properties":{"agency_id":{"type":"string","format":"uuid","title":"Agency Id"},"agency_name":{"type":"string","title":"Agency Name"},"clients":{"items":{"$ref":"#/components/schemas/AgencyClientInfo"},"type":"array","title":"Clients"},"total_clients":{"type":"integer","title":"Total Clients"}},"type":"object","required":["agency_id","agency_name","clients","total_clients"],"title":"AgencyClientListResponse","description":"Response containing list of agency clients."},"AgencyMemberInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"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"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"role_name":{"type":"string","title":"Role Name"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"}},"type":"object","required":["id","user_id","email","role_name"],"title":"AgencyMemberInfo","description":"Basic member information."},"AgencyUsageResponse":{"properties":{"agency_id":{"type":"string","format":"uuid","title":"Agency Id"},"agency_name":{"type":"string","title":"Agency Name"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"type":"string","format":"date-time","title":"End Date"},"total_credits_used":{"type":"integer","title":"Total Credits Used"},"total_transactions":{"type":"integer","title":"Total Transactions"},"average_daily_usage":{"type":"number","title":"Average Daily Usage"},"total_credits_available":{"type":"integer","title":"Total Credits Available","default":0},"estimated_days_left":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Days Left"},"agency_credits_used":{"type":"integer","title":"Agency Credits Used"},"agency_transactions":{"type":"integer","title":"Agency Transactions"},"client_usage":{"items":{"$ref":"#/components/schemas/ClientUsageInfo"},"type":"array","title":"Client Usage","default":[]},"by_action":{"items":{"$ref":"#/components/schemas/UsageByActionType"},"type":"array","title":"By Action","default":[]},"by_platform":{"items":{"$ref":"#/components/schemas/UsageByPlatform"},"type":"array","title":"By Platform","default":[]}},"type":"object","required":["agency_id","agency_name","start_date","end_date","total_credits_used","total_transactions","average_daily_usage","agency_credits_used","agency_transactions"],"title":"AgencyUsageResponse","description":"Response containing agency usage statistics."},"AgencyWorkspaceDetailInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType"},"status":{"$ref":"#/components/schemas/WorkspaceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"member_count":{"type":"integer","title":"Member Count"},"active_member_count":{"type":"integer","title":"Active Member Count"},"pending_invitations_count":{"type":"integer","title":"Pending Invitations Count"},"members":{"items":{"$ref":"#/components/schemas/AgencyMemberInfo"},"type":"array","title":"Members","default":[]}},"type":"object","required":["id","name","workspace_type","status","created_at","updated_at","member_count","active_member_count","pending_invitations_count"],"title":"AgencyWorkspaceDetailInfo","description":"Detailed information about a workspace in the agency hierarchy."},"AgencyWorkspaceInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType"},"status":{"$ref":"#/components/schemas/WorkspaceStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"member_count":{"type":"integer","title":"Member Count"},"active_member_count":{"type":"integer","title":"Active Member Count"},"pending_invitations_count":{"type":"integer","title":"Pending Invitations Count"},"members":{"items":{"$ref":"#/components/schemas/WorkspaceMemberResponse"},"type":"array","title":"Members","default":[]}},"type":"object","required":["id","name","workspace_type","status","created_at","updated_at","member_count","active_member_count","pending_invitations_count"],"title":"AgencyWorkspaceInfo","description":"Information about a workspace in the agency hierarchy."},"AiCitationMetrics":{"properties":{"total_30d":{"type":"integer","title":"Total 30D"},"by_platform":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Platform"},"trend":{"$ref":"#/components/schemas/app__content_performance__enums__TrendDirection"}},"type":"object","required":["total_30d","by_platform","trend"],"title":"AiCitationMetrics"},"AllTopicsAnalyticsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicWithAnalyticsResponse"},"type":"array","title":"Topics","description":"Topics with analytics"},"period":{"$ref":"#/components/schemas/AnalyticsPeriod","description":"Analytics period"},"unorganized_prompts_count":{"type":"integer","title":"Unorganized Prompts Count","description":"Number of unorganized prompts"},"unorganized_analytics":{"$ref":"#/components/schemas/TopicAnalytics","description":"Analytics for unorganized prompts"}},"type":"object","required":["topics","period","unorganized_prompts_count","unorganized_analytics"],"title":"AllTopicsAnalyticsResponse","description":"Response schema for all topics with analytics."},"AllocateAgencyCreditsRequest":{"properties":{"target_workspace_id":{"type":"string","format":"uuid","title":"Target Workspace Id","description":"ID of the client workspace to allocate credits to"},"amount":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount","description":"Number of credits to allocate"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes","description":"Optional notes for the allocation"}},"type":"object","required":["target_workspace_id","amount"],"title":"AllocateAgencyCreditsRequest","description":"Request body for allocating credits from agency to client."},"AllocateAgencyCreditsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"allocation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Allocation Id"},"amount":{"type":"integer","title":"Amount"},"source_workspace_id":{"type":"string","format":"uuid","title":"Source Workspace Id"},"source_workspace_name":{"type":"string","title":"Source Workspace Name"},"target_workspace_id":{"type":"string","format":"uuid","title":"Target Workspace Id"},"target_workspace_name":{"type":"string","title":"Target Workspace Name"},"source_balance_after":{"type":"integer","title":"Source Balance After"},"target_balance_after":{"type":"integer","title":"Target Balance After"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","amount","source_workspace_id","source_workspace_name","target_workspace_id","target_workspace_name","source_balance_after","target_balance_after","message"],"title":"AllocateAgencyCreditsResponse","description":"Response for credit allocation."},"AllocateCreditsRequest":{"properties":{"target_workspace_id":{"type":"string","format":"uuid","title":"Target Workspace Id"},"amount":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount","description":"Number of credits to allocate"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["target_workspace_id","amount"],"title":"AllocateCreditsRequest","description":"Request to allocate credits from agency to client workspace."},"AllocateCreditsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"allocation_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Allocation Id"},"amount":{"type":"integer","title":"Amount"},"source_workspace_id":{"type":"string","format":"uuid","title":"Source Workspace Id"},"target_workspace_id":{"type":"string","format":"uuid","title":"Target Workspace Id"},"source_balance_after":{"type":"integer","title":"Source Balance After"},"target_balance_after":{"type":"integer","title":"Target Balance After"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","amount","source_workspace_id","target_workspace_id","source_balance_after","target_balance_after","message"],"title":"AllocateCreditsResponse","description":"Response for credit allocation."},"AnalysisConfig":{"properties":{"max_pages":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Max Pages","default":40},"concurrency":{"type":"integer","maximum":20.0,"minimum":1.0,"title":"Concurrency","default":10},"seed_paths":{"items":{"type":"string"},"type":"array","title":"Seed Paths","default":["/about","/team","/mission","/company","/authors","/press","/blog"]},"score_weights":{"additionalProperties":{"type":"integer"},"type":"object","title":"Score Weights","default":{"crawlability":15,"semantic_html":20,"internal_linking":15,"multimodal_accessibility":15,"authority_signals":15,"citable_content":10,"structured_data":10}}},"type":"object","title":"AnalysisConfig","description":"Configuration for LLM readiness analysis."},"AnalysisResultSummary":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id"},"website_url":{"type":"string","title":"Website Url"},"overall_score":{"type":"integer","title":"Overall Score"},"category_scores":{"$ref":"#/components/schemas/CategoryScores"},"total_pages_analyzed":{"type":"integer","title":"Total Pages Analyzed"},"recommendations_count":{"type":"integer","title":"Recommendations Count"},"analysis_date":{"type":"string","format":"date-time","title":"Analysis Date"}},"type":"object","required":["monitor_id","website_url","overall_score","category_scores","total_pages_analyzed","recommendations_count","analysis_date"],"title":"AnalysisResultSummary","description":"Summary of analysis results."},"AnalyticsOverviewResponse":{"properties":{"date_range":{"$ref":"#/components/schemas/DateRangeResponse","description":"Date range filter applied"},"top_pages":{"items":{"$ref":"#/components/schemas/PopularPageResponse"},"type":"array","title":"Top Pages","description":"Most popular pages by visits"},"top_platforms":{"items":{"$ref":"#/components/schemas/TopPlatformResponse"},"type":"array","title":"Top Platforms","description":"Top AI platforms by visits"},"top_referrals":{"items":{"$ref":"#/components/schemas/TopReferralResponse"},"type":"array","title":"Top Referrals","description":"Top referral sources by visits"},"top_bot_types":{"items":{"$ref":"#/components/schemas/TopBotTypeResponse"},"type":"array","title":"Top Bot Types","description":"Top bot types by visits"},"summary":{"$ref":"#/components/schemas/OverviewSummaryResponse","description":"Summary statistics"},"data_source":{"type":"string","title":"Data Source","description":"Data source used: log_drain | google_analytics | none","default":"log_drain"}},"type":"object","required":["date_range","top_pages","top_platforms","top_referrals","top_bot_types","summary"],"title":"AnalyticsOverviewResponse"},"AnalyticsPeriod":{"properties":{"start_date":{"type":"string","title":"Start Date"},"end_date":{"type":"string","title":"End Date"}},"type":"object","required":["start_date","end_date"],"title":"AnalyticsPeriod","description":"Schema for analytics time period."},"AnalyzeCitationsRequest":{"properties":{"queries_list":{"items":{"type":"string"},"type":"array","title":"Queries List"},"target_domain":{"type":"string","title":"Target Domain"},"country":{"type":"string","title":"Country"}},"type":"object","required":["queries_list","target_domain","country"],"title":"AnalyzeCitationsRequest"},"AnalyzeCitationsResponse":{"properties":{"result":{"$ref":"#/components/schemas/CitationAnalyzerResult"}},"type":"object","required":["result"],"title":"AnalyzeCitationsResponse"},"AnalyzeCompanyRequest":{"properties":{"domain":{"type":"string","minLength":1,"title":"Domain"},"country":{"type":"string","minLength":1,"title":"Country"}},"type":"object","required":["domain","country"],"title":"AnalyzeCompanyRequest"},"AnalyzeCompanyResponse":{"properties":{"result":{"$ref":"#/components/schemas/AnalyzeCompanyResult"}},"type":"object","required":["result"],"title":"AnalyzeCompanyResponse"},"AnalyzeCompanyResult":{"properties":{"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"target_customers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Customers"},"primary_offerings":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Primary Offerings"},"value_proposition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Proposition"},"use_cases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Use Cases"},"key_features":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Key Features"},"company_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Stage"}},"type":"object","title":"AnalyzeCompanyResult"},"ApplyLinksRequest":{"properties":{"suggestions":{"items":{"$ref":"#/components/schemas/LinkSuggestion"},"type":"array","title":"Suggestions"}},"type":"object","required":["suggestions"],"title":"ApplyLinksRequest","description":"Request to apply accepted link suggestions to markdown."},"ApplyLinksResponse":{"properties":{"updated_markdown":{"type":"string","title":"Updated Markdown"},"links_applied":{"type":"integer","title":"Links Applied"}},"type":"object","required":["updated_markdown","links_applied"],"title":"ApplyLinksResponse","description":"Response after applying links to markdown."},"ApproveProposedCompetitorResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"ApproveProposedCompetitorResponse"},"ArticlePerformanceListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ArticlePerformanceResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["items","total","page","page_size"],"title":"ArticlePerformanceListResponse"},"ArticlePerformanceResponse":{"properties":{"url":{"type":"string","title":"Url"},"gsc":{"anyOf":[{"$ref":"#/components/schemas/GscMetrics"},{"type":"null"}]},"ai_citations":{"anyOf":[{"$ref":"#/components/schemas/AiCitationMetrics"},{"type":"null"}]},"ai_seo_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Seo Score"},"health_state":{"$ref":"#/components/schemas/HealthState"}},"type":"object","required":["url","gsc","ai_citations","ai_seo_score","health_state"],"title":"ArticlePerformanceResponse"},"AspectRatio":{"type":"string","enum":["16:9","3:2","1:1","1200x630"],"title":"AspectRatio"},"AttachPromptToTopicRequest":{"properties":{"topic_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Topic Id","description":"Topic ID to attach prompt to (null to detach)"}},"type":"object","title":"AttachPromptToTopicRequest","description":"Request schema for attaching a prompt to a topic."},"AuthProvider":{"type":"string","enum":["GOOGLE","OTP"],"title":"AuthProvider"},"AuthenticatedResponse":{"properties":{"user":{"$ref":"#/components/schemas/app__auth__response_schema__UserResponse"},"user_profile":{"anyOf":[{"$ref":"#/components/schemas/UserProfileResponse"},{"type":"null"}],"description":"User profile"},"access_token":{"type":"string","title":"Access Token","description":"JWT access token"},"refresh_token":{"type":"string","title":"Refresh Token","description":"JWT refresh token"},"session_token":{"type":"string","title":"Session Token","description":"Session token"},"is_first_time":{"type":"boolean","title":"Is First Time","description":"Whether this is user's first login","default":false},"workspaces":{"items":{"$ref":"#/components/schemas/WorkspaceResponse"},"type":"array","title":"Workspaces","description":"User's workspaces","default":[]},"pending_invitations":{"items":{"$ref":"#/components/schemas/PendingInvitationResponse"},"type":"array","title":"Pending Invitations","description":"Pending workspace invitations for this email","default":[]},"token_expires_in":{"type":"integer","title":"Token Expires In","description":"Access token expiration in seconds"}},"type":"object","required":["user","access_token","refresh_token","session_token","token_expires_in"],"title":"AuthenticatedResponse","description":"Response for successful authentication"},"AveragePositionRankingResponse":{"properties":{"rankings":{"items":{"$ref":"#/components/schemas/BrandAveragePositionRanking"},"type":"array","title":"Rankings","description":"List of all brands ranked by average position (lower position is better)"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_mentions":{"type":"integer","title":"Total Mentions","description":"Total mentions across all brands"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["rankings","period","total_mentions"],"title":"AveragePositionRankingResponse","description":"Response schema for average position ranking API."},"AveragePositionResponse":{"properties":{"average_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Position","description":"Average position across all mentions (null if no mentions)"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_mentions":{"type":"integer","title":"Total Mentions","description":"Total mentions in the period"},"mentions_with_position":{"type":"integer","title":"Mentions With Position","description":"Number of mentions that have position data"},"time_series":{"anyOf":[{"items":{"$ref":"#/components/schemas/DailyAveragePosition"},"type":"array"},{"type":"null"}],"title":"Time Series","description":"Daily breakdown (if requested)"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["period","total_mentions","mentions_with_position"],"title":"AveragePositionResponse","description":"Response schema for average position API."},"BatchOperationResult":{"properties":{"successful_prompt_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Successful Prompt Ids","description":"Prompt IDs that were successfully processed"},"failed_operations":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Failed Operations","description":"Failed operations with error details"},"total_requested":{"type":"integer","title":"Total Requested","description":"Total number of prompts requested for processing"},"total_successful":{"type":"integer","title":"Total Successful","description":"Total number of successfully processed prompts"},"total_failed":{"type":"integer","title":"Total Failed","description":"Total number of failed operations"}},"type":"object","required":["successful_prompt_ids","failed_operations","total_requested","total_successful","total_failed"],"title":"BatchOperationResult","description":"Result of a batch operation."},"BatchPromptTopicRequest":{"properties":{"prompt_ids":{"items":{"type":"string","format":"uuid"},"type":"array","minItems":1,"title":"Prompt Ids","description":"List of prompt IDs to attach/detach"},"topic_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Topic Id","description":"Topic ID to attach prompts to (null to detach all prompts)"}},"type":"object","required":["prompt_ids"],"title":"BatchPromptTopicRequest","description":"Request schema for batch attaching/detaching prompts to/from a topic."},"BillingInterval":{"type":"string","enum":["MONTHLY","YEARLY","ONE_TIME"],"title":"BillingInterval","description":"Billing interval for subscription plans."},"BillingOverviewResponse":{"properties":{"subscription":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionResponse"},{"type":"null"}]},"credit_balance":{"$ref":"#/components/schemas/CreditBalanceSummary"},"recent_transactions":{"items":{"$ref":"#/components/schemas/CreditTransactionResponse"},"type":"array","title":"Recent Transactions","default":[]},"available_plans":{"items":{"$ref":"#/components/schemas/SubscriptionPlanResponse"},"type":"array","title":"Available Plans","default":[]},"topup_packages":{"items":{"$ref":"#/components/schemas/TopUpPackageResponse"},"type":"array","title":"Topup Packages","default":[]},"first_time_discount":{"anyOf":[{"$ref":"#/components/schemas/FirstTimeDiscount"},{"type":"null"}]}},"type":"object","required":["credit_balance"],"title":"BillingOverviewResponse","description":"Complete billing overview for a workspace."},"Body_bulk_upload_prompts_api_v1_prompts_bulk_upload_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_bulk_upload_prompts_api_v1_prompts_bulk_upload_post"},"Body_submit_review_claim_api_v1_rewards_review_claims_post":{"properties":{"review_platform":{"$ref":"#/components/schemas/ReviewPlatform"},"proof_url":{"type":"string","title":"Proof Url"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"screenshot":{"type":"string","format":"binary","title":"Screenshot"}},"type":"object","required":["review_platform","proof_url","screenshot"],"title":"Body_submit_review_claim_api_v1_rewards_review_claims_post"},"Body_upload_hero_template_api_v1_brand_vault_core_hero_template_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_hero_template_api_v1_brand_vault_core_hero_template_post"},"BotType":{"type":"string","enum":["AI_INDEXING","AI_ASSISTANT","SEARCH_INDEXING","SEO_CRAWLER","SOCIAL_MEDIA_BOT","MONITORING_BOT","SECURITY_SCANNER","UNKNOWN_BOT"],"title":"BotType","description":"Types of bots/crawlers"},"BrandAveragePositionRanking":{"properties":{"brand_name":{"type":"string","title":"Brand Name","description":"Name of the brand"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Brand domain/website"},"average_position":{"type":"number","title":"Average Position","description":"Average position (lower is better)"},"total_mentions":{"type":"integer","title":"Total Mentions","description":"Total number of mentions"},"mentions_with_position":{"type":"integer","title":"Mentions With Position","description":"Number of mentions that have position data"},"ranking":{"type":"integer","title":"Ranking","description":"Ranking position (1 is best - lowest average position)"},"is_user_brand":{"type":"boolean","title":"Is User Brand","description":"Whether this is the user's brand"}},"type":"object","required":["brand_name","average_position","total_mentions","mentions_with_position","ranking","is_user_brand"],"title":"BrandAveragePositionRanking","description":"Individual brand average position ranking data."},"BrandMetrics":{"properties":{"ai_visibility":{"anyOf":[{"$ref":"#/components/schemas/AIVisibilityMetrics"},{"type":"null"}]},"domain_authority":{"anyOf":[{"$ref":"#/components/schemas/DomainAuthorityMetrics"},{"type":"null"}]},"ai_readiness":{"anyOf":[{"$ref":"#/components/schemas/AIReadinessMetrics"},{"type":"null"}]},"content_quality":{"anyOf":[{"$ref":"#/components/schemas/ContentQualityMetrics"},{"type":"null"}]},"technical_seo":{"anyOf":[{"$ref":"#/components/schemas/TechnicalSEOMetrics"},{"type":"null"}]},"citation_analysis":{"anyOf":[{"$ref":"#/components/schemas/CitationAnalysisMetrics"},{"type":"null"}]},"keyword_intelligence":{"anyOf":[{"$ref":"#/components/schemas/KeywordIntelligenceMetrics"},{"type":"null"}]}},"type":"object","title":"BrandMetrics","description":"Complete metrics for brand."},"BrandRanking":{"properties":{"brand_name":{"type":"string","title":"Brand Name","description":"Name of the brand"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Brand domain/website"},"mentions":{"type":"integer","title":"Mentions","description":"Number of mentions"},"visibility_score":{"type":"number","title":"Visibility Score","description":"Visibility score as percentage"},"ranking":{"type":"integer","title":"Ranking","description":"Ranking position (1 is best)"},"is_user_brand":{"type":"boolean","title":"Is User Brand","description":"Whether this is the user's brand"}},"type":"object","required":["brand_name","mentions","visibility_score","ranking","is_user_brand"],"title":"BrandRanking","description":"Individual brand ranking data."},"BrandShareOfVoice":{"properties":{"brand_name":{"type":"string","title":"Brand Name","description":"Name of the brand"},"mentions":{"type":"integer","title":"Mentions","description":"Number of mentions"},"share_of_voice":{"type":"number","title":"Share Of Voice","description":"Share of voice as percentage"},"is_user_brand":{"type":"boolean","title":"Is User Brand","description":"Whether this is the user's brand"}},"type":"object","required":["brand_name","mentions","share_of_voice","is_user_brand"],"title":"BrandShareOfVoice","description":"Individual brand share of voice data."},"BrandShareOfVoiceRanking":{"properties":{"brand_name":{"type":"string","title":"Brand Name","description":"Name of the brand"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Brand domain/website"},"mentions":{"type":"integer","title":"Mentions","description":"Number of mentions"},"share_of_voice":{"type":"number","title":"Share Of Voice","description":"Share of voice as percentage"},"ranking":{"type":"integer","title":"Ranking","description":"Ranking position (1 is best)"},"is_user_brand":{"type":"boolean","title":"Is User Brand","description":"Whether this is the user's brand"}},"type":"object","required":["brand_name","mentions","share_of_voice","ranking","is_user_brand"],"title":"BrandShareOfVoiceRanking","description":"Individual brand share of voice ranking data."},"BrandVaultCoreResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"status":{"type":"string","title":"Status"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"brand_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Description"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"mission_statement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mission Statement"},"brand_archetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Archetype"},"archetype_rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archetype Rationale"},"core_value_proposition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Core Value Proposition"},"anti_identity":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Anti Identity"},"competitor_stance":{"anyOf":[{"items":{"$ref":"#/components/schemas/CompetitorStanceSchema"},"type":"array"},{"type":"null"}],"title":"Competitor Stance"},"hero_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hero Image Url"},"hero_text_style":{"anyOf":[{"$ref":"#/components/schemas/HeroTextStyleSchema"},{"type":"null"}]}},"type":"object","required":["id","workspace_id","status"],"title":"BrandVaultCoreResponse","description":"Response schema for Brand Vault Core data."},"BrandVaultPersonaResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"persona_name":{"type":"string","title":"Persona Name"},"proficiency_level":{"type":"string","title":"Proficiency Level"},"pain_points":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Pain Points"},"desired_outcomes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Desired Outcomes"},"buying_barriers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Buying Barriers"},"jobs_to_be_done":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Jobs To Be Done"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"source_type":{"type":"string","title":"Source Type"}},"type":"object","required":["id","workspace_id","persona_name","proficiency_level","source_type"],"title":"BrandVaultPersonaResponse","description":"Response schema for Brand Vault Persona data."},"BrandVaultProductResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"product_name":{"type":"string","title":"Product Name"},"hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hook"},"pricing_model":{"type":"string","title":"Pricing Model"},"differentiator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Differentiator"},"features":{"anyOf":[{"items":{"$ref":"#/components/schemas/FeatureSchema"},"type":"array"},{"type":"null"}],"title":"Features"},"source_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Urls"},"source_type":{"type":"string","title":"Source Type"}},"type":"object","required":["id","workspace_id","product_name","pricing_model","source_type"],"title":"BrandVaultProductResponse","description":"Response schema for Brand Vault Product data."},"BrandVaultVoiceResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"tone_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ToneAttributeSchema"},"type":"array"},{"type":"null"}],"title":"Tone Attributes"},"writing_style":{"anyOf":[{"$ref":"#/components/schemas/WritingStyleSchema"},{"type":"null"}]},"vocabulary":{"anyOf":[{"$ref":"#/components/schemas/VocabularySchema"},{"type":"null"}]},"sample_phrases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sample Phrases"},"source_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Source Urls"},"source_type":{"type":"string","title":"Source Type"}},"type":"object","required":["id","workspace_id","source_type"],"title":"BrandVaultVoiceResponse","description":"Response schema for Brand Vault Voice data."},"BrandVisibilityTimeSeries":{"properties":{"name":{"type":"string","title":"Name","description":"Brand name"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Brand domain"},"is_user_brand":{"type":"boolean","title":"Is User Brand","description":"Whether this is the user's brand"},"current_visibility":{"type":"number","title":"Current Visibility","description":"Latest visibility percentage"},"time_series":{"items":{"$ref":"#/components/schemas/app__visibility__schemas__TimeSeriesDataPoint__2"},"type":"array","title":"Time Series","description":"Daily visibility data points"}},"type":"object","required":["name","is_user_brand","current_visibility","time_series"],"title":"BrandVisibilityTimeSeries","description":"Brand visibility data with time series."},"BrandedClicksChartPoint":{"properties":{"date":{"type":"string","title":"Date"},"branded":{"type":"integer","title":"Branded","default":0},"non_branded":{"type":"integer","title":"Non Branded","default":0},"branded_percentage":{"type":"number","title":"Branded Percentage","default":0.0}},"type":"object","required":["date"],"title":"BrandedClicksChartPoint","description":"Chart data point for branded clicks."},"BrandedClicksData":{"properties":{"summary":{"$ref":"#/components/schemas/BrandedClicksSummary"},"chart":{"items":{"$ref":"#/components/schemas/BrandedClicksChartPoint"},"type":"array","title":"Chart"}},"type":"object","required":["summary","chart"],"title":"BrandedClicksData","description":"Data for branded clicks endpoint."},"BrandedClicksResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/BrandedClicksData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"BrandedClicksResponse","description":"Response for branded clicks endpoint."},"BrandedClicksSummary":{"properties":{"branded_clicks":{"type":"integer","title":"Branded Clicks","default":0},"branded_clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Branded Clicks Change"},"non_branded_clicks":{"type":"integer","title":"Non Branded Clicks","default":0},"non_branded_clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Non Branded Clicks Change"},"branded_percentage":{"type":"number","title":"Branded Percentage","default":0.0},"branded_percentage_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Branded Percentage Change"}},"type":"object","title":"BrandedClicksSummary","description":"Summary for branded clicks."},"BriefMetadataSchema":{"properties":{"primary_keyword":{"type":"string","title":"Primary Keyword","default":""},"secondary_keywords":{"items":{"type":"string"},"type":"array","title":"Secondary Keywords","default":[]},"target_word_count":{"anyOf":[{"$ref":"#/components/schemas/WordCountRangeSchema"},{"type":"null"}]},"sections_meta":{"items":{"$ref":"#/components/schemas/SectionMetaSchema"},"type":"array","title":"Sections Meta","default":[]},"faq_section":{"items":{"$ref":"#/components/schemas/FaqItemSchema"},"type":"array","title":"Faq Section","default":[]},"eeat_checklist":{"anyOf":[{"$ref":"#/components/schemas/EeatChecklistSchema"},{"type":"null"}]}},"type":"object","title":"BriefMetadataSchema","description":"Typed schema for brief_metadata from the V2 pipeline brief planner."},"BulkActionRequest":{"properties":{"keyword_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"minItems":1,"title":"Keyword Ids"}},"type":"object","required":["keyword_ids"],"title":"BulkActionRequest","description":"Request body for bulk keyword actions (archive, activate, etc.)."},"BulkActionResponse":{"properties":{"affected_count":{"type":"integer","title":"Affected Count"},"failed_ids":{"items":{"type":"string"},"type":"array","title":"Failed Ids","default":[]}},"type":"object","required":["affected_count"],"title":"BulkActionResponse","description":"Response for bulk keyword operations."},"BulkArchiveRequest":{"properties":{"prompt_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Prompt Ids"}},"type":"object","required":["prompt_ids"],"title":"BulkArchiveRequest"},"BulkArchiveResponse":{"properties":{"archived_count":{"type":"integer","title":"Archived Count"},"failed_ids":{"items":{"type":"string"},"type":"array","title":"Failed Ids"}},"type":"object","required":["archived_count","failed_ids"],"title":"BulkArchiveResponse"},"BulkSEOMonitorAction":{"properties":{"monitor_ids":{"items":{"type":"string","format":"uuid"},"type":"array","title":"Monitor Ids","description":"List of monitor IDs"},"action":{"type":"string","title":"Action","description":"Action to perform"}},"type":"object","required":["monitor_ids","action"],"title":"BulkSEOMonitorAction","description":"Schema for bulk actions on SEO monitors.","example":{"action":"pause","monitor_ids":["123e4567-e89b-12d3-a456-426614174000"]}},"BulkTagRequest":{"properties":{"keyword_ids":{"items":{"type":"string","format":"uuid"},"type":"array","maxItems":100,"minItems":1,"title":"Keyword Ids"},"tags":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Tags"}},"type":"object","required":["keyword_ids","tags"],"title":"BulkTagRequest","description":"Request body for bulk-tagging keywords."},"BulkUnarchiveResponse":{"properties":{"unarchived_count":{"type":"integer","title":"Unarchived Count"},"failed_ids":{"items":{"type":"string"},"type":"array","title":"Failed Ids"}},"type":"object","required":["unarchived_count","failed_ids"],"title":"BulkUnarchiveResponse"},"CallRailFormTrackingSetupRequest":{"properties":{"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name"},"time_zone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Time Zone"}},"type":"object","title":"CallRailFormTrackingSetupRequest","description":"Request to set up Stella-owned CallRail form tracking for a workspace."},"CallRailFormTrackingSetupResponse":{"properties":{"integration_id":{"type":"string","format":"uuid","title":"Integration Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"company_id":{"type":"string","title":"Company Id"},"company_name":{"type":"string","title":"Company Name"},"script_url":{"type":"string","title":"Script Url"},"webhook_integration_id":{"type":"integer","title":"Webhook Integration Id"},"webhook_url":{"type":"string","title":"Webhook Url"},"signing_key_present":{"type":"boolean","title":"Signing Key Present"}},"type":"object","required":["integration_id","integration_type","status","company_id","company_name","script_url","webhook_integration_id","webhook_url","signing_key_present"],"title":"CallRailFormTrackingSetupResponse","description":"Response after setting up CallRail form tracking for a workspace."},"CallRailStatusDetails":{"properties":{"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"},"script_url_present":{"type":"boolean","title":"Script Url Present"},"webhook_integration_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Webhook Integration Id"},"signing_key_present":{"type":"boolean","title":"Signing Key Present"},"auto_sync":{"type":"boolean","title":"Auto Sync"},"reconnect_required":{"type":"boolean","title":"Reconnect Required"}},"type":"object","required":["script_url_present","signing_key_present","auto_sync","reconnect_required"],"title":"CallRailStatusDetails","description":"CallRail form tracking metadata completeness for status responses."},"CancelContentResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message","default":"Cancel requested successfully"}},"type":"object","required":["success"],"title":"CancelContentResponse","description":"Response schema for POST /contents/{id}/cancel."},"CancelSubscriptionRequest":{"properties":{"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason","description":"Reason for cancellation (e.g., 'too_expensive', 'missing_features', 'switching_to_competitor')"},"feedback":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Feedback","description":"Additional feedback about the cancellation"},"cancel_immediately":{"type":"boolean","title":"Cancel Immediately","description":"If true, cancel immediately. If false, cancel at end of billing period.","default":false}},"type":"object","title":"CancelSubscriptionRequest","description":"Request to cancel a subscription."},"CaseStudyRequest":{"properties":{"requester_name":{"type":"string","maxLength":120,"minLength":1,"title":"Requester Name"},"requester_email":{"type":"string","maxLength":254,"format":"email","title":"Requester Email"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["requester_name","requester_email"],"title":"CaseStudyRequest"},"CategoryScores":{"properties":{"crawlability":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Crawlability"},"semantic_html":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Semantic Html"},"internal_linking":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Internal Linking"},"multimodal_accessibility":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Multimodal Accessibility"},"authority_signals":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Authority Signals"},"citable_content":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Citable Content"},"structured_data":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Structured Data"},"overall":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Overall"}},"type":"object","required":["crawlability","semantic_html","internal_linking","multimodal_accessibility","authority_signals","citable_content","structured_data","overall"],"title":"CategoryScores","description":"Category-wise scores for LLM readiness."},"ChangePlanRequest":{"properties":{"new_plan_id":{"type":"string","format":"uuid","title":"New Plan Id","description":"ID of the plan to switch to"},"prorate_credits":{"type":"boolean","title":"Prorate Credits","description":"Whether to grant prorated credits on upgrade","default":true}},"type":"object","required":["new_plan_id"],"title":"ChangePlanRequest","description":"Request to change subscription plan (upgrade or downgrade)."},"ChannelAcquisitionItem":{"properties":{"channel":{"type":"string","title":"Channel"},"sessions":{"type":"integer","title":"Sessions"},"users":{"type":"integer","title":"Users"},"new_users":{"type":"integer","title":"New Users"},"bounce_rate":{"type":"number","title":"Bounce Rate"},"sessions_per_user":{"type":"number","title":"Sessions Per User"},"avg_session_duration":{"type":"number","title":"Avg Session Duration"}},"type":"object","required":["channel","sessions","users","new_users","bounce_rate","sessions_per_user","avg_session_duration"],"title":"ChannelAcquisitionItem"},"ChartDataPoint":{"properties":{"date":{"type":"string","title":"Date"},"clicks":{"type":"integer","title":"Clicks","default":0},"impressions":{"type":"integer","title":"Impressions","default":0}},"type":"object","required":["date"],"title":"ChartDataPoint","description":"Single data point for chart."},"ChartDataResponse":{"properties":{"ai_citation":{"items":{"$ref":"#/components/schemas/DailyPlatformData"},"type":"array","title":"Ai Citation","description":"Daily AI citation data with platform breakdown"},"ai_training":{"items":{"$ref":"#/components/schemas/DailyPlatformData"},"type":"array","title":"Ai Training","description":"Daily AI training data with platform breakdown"},"human_referral":{"items":{"$ref":"#/components/schemas/DailyPlatformData"},"type":"array","title":"Human Referral","description":"Daily human referral data with platform breakdown"}},"type":"object","required":["ai_citation","ai_training","human_referral"],"title":"ChartDataResponse","description":"Chart data response with daily breakdown for all traffic types"},"ChartResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/ChartDataPoint"},"type":"array","title":"Data","default":[]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"ChartResponse","description":"Response for chart endpoint."},"CheckCreditsResponse":{"properties":{"has_sufficient_credits":{"type":"boolean","title":"Has Sufficient Credits"},"available_credits":{"type":"integer","title":"Available Credits"},"required_credits":{"type":"integer","title":"Required Credits"}},"type":"object","required":["has_sufficient_credits","available_credits","required_credits"],"title":"CheckCreditsResponse","description":"Response for checking if credits are available."},"ChecklistResponse":{"properties":{"tasks":{"items":{"$ref":"#/components/schemas/OnboardingTaskResponse"},"type":"array","title":"Tasks"},"total_credits_available":{"type":"integer","title":"Total Credits Available"},"total_credits_earned":{"type":"integer","title":"Total Credits Earned"}},"type":"object","required":["tasks","total_credits_available","total_credits_earned"],"title":"ChecklistResponse"},"Citation":{"properties":{"domain":{"type":"string","title":"Domain"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}},"type":"object","required":["domain","title","description"],"title":"Citation","description":"Schema for citations in AI responses."},"CitationAnalysisMetrics":{"properties":{"owned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Owned Count","description":"Count of owned citations"},"competitor_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Competitor Count","description":"Count of competitor citations"},"social_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Social Count","description":"Count of social citations"},"review_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Review Count","description":"Count of review citations"},"earned_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Earned Count","description":"Count of earned citations"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count","description":"Total citations"}},"type":"object","title":"CitationAnalysisMetrics","description":"Citation analysis metrics."},"CitationAnalyzerResult":{"properties":{"citations_by_query":{"items":{"$ref":"#/components/schemas/CitationByQuery"},"type":"array","title":"Citations By Query"},"unique_domains":{"items":{"type":"string"},"type":"array","title":"Unique Domains"},"target_domain_count":{"type":"integer","title":"Target Domain Count"}},"type":"object","required":["citations_by_query","unique_domains","target_domain_count"],"title":"CitationAnalyzerResult"},"CitationByQuery":{"properties":{"query":{"type":"string","title":"Query"},"likely_sources":{"items":{"type":"string"},"type":"array","title":"Likely Sources"},"includes_target":{"type":"boolean","title":"Includes Target"}},"type":"object","required":["query","likely_sources","includes_target"],"title":"CitationByQuery"},"CitationTypeDistributionResponse":{"properties":{"distribution":{"additionalProperties":{"type":"integer"},"type":"object","title":"Distribution","description":"Citation counts by type (e.g., {'OWNED': 5, 'EARNED': 3})"},"total_sources":{"type":"integer","title":"Total Sources","description":"Total number of citations"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["distribution","total_sources","period"],"title":"CitationTypeDistributionResponse","description":"Response schema for citation type distribution API."},"ClientCreditInfo":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"workspace_name":{"type":"string","title":"Workspace Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"credit_balance":{"type":"integer","title":"Credit Balance"},"credits_allocated":{"type":"integer","title":"Credits Allocated","default":0},"credits_used":{"type":"integer","title":"Credits Used","default":0}},"type":"object","required":["workspace_id","workspace_name","credit_balance"],"title":"ClientCreditInfo","description":"Credit information for a single client workspace."},"ClientUsageInfo":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"workspace_name":{"type":"string","title":"Workspace Name"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"total_credits_used":{"type":"integer","title":"Total Credits Used"},"transaction_count":{"type":"integer","title":"Transaction Count"},"percentage_of_total":{"type":"number","title":"Percentage Of Total","default":0.0}},"type":"object","required":["workspace_id","workspace_name","total_credits_used","transaction_count"],"title":"ClientUsageInfo","description":"Usage information for a single client workspace."},"ClusterDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"keyword_count":{"type":"integer","title":"Keyword Count","default":0},"avg_health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Health Score"},"members":{"items":{"$ref":"#/components/schemas/ClusterMemberResponse"},"type":"array","title":"Members","default":[]}},"type":"object","required":["id","name"],"title":"ClusterDetailResponse"},"ClusterListResponse":{"properties":{"clusters":{"items":{"$ref":"#/components/schemas/ClusterResponse"},"type":"array","title":"Clusters"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["clusters","total"],"title":"ClusterListResponse"},"ClusterMemberResponse":{"properties":{"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword_text":{"type":"string","title":"Keyword Text"},"health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Health Score"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"similarity_to_centroid":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Similarity To Centroid"}},"type":"object","required":["workspace_keyword_id","keyword_text"],"title":"ClusterMemberResponse"},"ClusterResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"keyword_count":{"type":"integer","title":"Keyword Count","default":0},"avg_health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Health Score"}},"type":"object","required":["id","name"],"title":"ClusterResponse"},"CompanySize":{"type":"string","enum":["1-5","5-50","50-250","250-1000","1000+"],"title":"CompanySize"},"ComparisonScores":{"properties":{"overall_rank":{"type":"integer","title":"Overall Rank","description":"Overall rank (1 = best)"},"total_companies":{"type":"integer","title":"Total Companies","description":"Total companies compared"},"category_ranks":{"additionalProperties":{"type":"integer"},"type":"object","title":"Category Ranks","description":"Rank per category"},"strengths":{"items":{"type":"string"},"type":"array","title":"Strengths","description":"Strong categories"},"weaknesses":{"items":{"type":"string"},"type":"array","title":"Weaknesses","description":"Weak categories"}},"type":"object","required":["overall_rank","total_companies"],"title":"ComparisonScores","description":"Comparison scores showing relative performance."},"ComparisonStatus":{"type":"string","enum":["PENDING","IN_PROGRESS","COMPLETED","FAILED"],"title":"ComparisonStatus","description":"Status of comparison generation."},"ComparisonType":{"type":"string","enum":["MONTHLY","ON_DEMAND"],"title":"ComparisonType","description":"Type of comparison being generated."},"CompetitionLevel":{"type":"string","enum":["LOW","MEDIUM","HIGH"],"title":"CompetitionLevel"},"Competitor":{"properties":{"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"description":{"type":"string","title":"Description"},"active":{"type":"boolean","title":"Active"}},"type":"object","required":["name","domain","description","active"],"title":"Competitor"},"CompetitorComparisonListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CompetitorComparisonResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["items","total","page","page_size"],"title":"CompetitorComparisonListResponse","description":"Response for listing comparisons."},"CompetitorComparisonResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"competitor_id":{"type":"string","format":"uuid","title":"Competitor Id"},"comparison_type":{"$ref":"#/components/schemas/ComparisonType"},"status":{"$ref":"#/components/schemas/ComparisonStatus"},"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"brand_metrics":{"anyOf":[{"$ref":"#/components/schemas/BrandMetrics"},{"type":"null"}]},"competitor_metrics":{"anyOf":[{"$ref":"#/components/schemas/CompetitorMetricsEntry"},{"type":"null"}]},"comparison_scores":{"anyOf":[{"$ref":"#/components/schemas/ComparisonScores"},{"type":"null"}]},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"summary_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary Text"},"recommendations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recommendations"},"tokens_used":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Used"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","competitor_id","comparison_type","status","period_start","period_end","created_at","updated_at"],"title":"CompetitorComparisonResponse","description":"Response model for competitor comparison."},"CompetitorFinderResult":{"properties":{"competitors":{"items":{"$ref":"#/components/schemas/Competitor"},"type":"array","title":"Competitors"}},"type":"object","required":["competitors"],"title":"CompetitorFinderResult"},"CompetitorGapItem":{"properties":{"keyword":{"type":"string","title":"Keyword"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"competition":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Competition"},"cpc":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cpc"},"first_domain_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"First Domain Position"},"second_domain_position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Second Domain Position"}},"type":"object","required":["keyword"],"title":"CompetitorGapItem","description":"Single keyword from competitor gap/overlap analysis."},"CompetitorGapResponse":{"properties":{"competitor_id":{"type":"string","title":"Competitor Id"},"competitor_domain":{"type":"string","title":"Competitor Domain"},"workspace_domain":{"type":"string","title":"Workspace Domain"},"items":{"items":{"$ref":"#/components/schemas/CompetitorGapItem"},"type":"array","title":"Items","default":[]},"total":{"type":"integer","title":"Total","default":0}},"type":"object","required":["competitor_id","competitor_domain","workspace_domain"],"title":"CompetitorGapResponse","description":"Response for competitor gap and overlap endpoints."},"CompetitorMetrics":{"properties":{"share_of_voice":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Share Of Voice","description":"Share of voice percentage (0-100)"},"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Visibility score percentage (0-100)"},"mention_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Mention Count","description":"Number of mentions"}},"type":"object","title":"CompetitorMetrics","description":"Metrics for a competitor within a specific date range."},"CompetitorMetricsEntry":{"properties":{"competitor_id":{"type":"string","format":"uuid","title":"Competitor Id"},"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"metrics":{"$ref":"#/components/schemas/BrandMetrics"}},"type":"object","required":["competitor_id","name","domain","metrics"],"title":"CompetitorMetricsEntry","description":"Metrics entry for a single competitor."},"CompetitorResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"website":{"type":"string","title":"Website"},"domain":{"type":"string","title":"Domain"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"headquarters_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Headquarters Country"},"aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Aliases"},"excluded_match_terms":{"items":{"type":"string"},"type":"array","title":"Excluded Match Terms"},"meta_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta Data"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"metrics":{"anyOf":[{"$ref":"#/components/schemas/CompetitorMetrics"},{"type":"null"}],"description":"Metrics for this competitor (populated when date range is provided)"}},"type":"object","required":["id","user_id","workspace_id","name","website","domain","description","industry","headquarters_country","aliases","meta_data","created_at","updated_at"],"title":"CompetitorResponse"},"CompetitorStanceSchema":{"properties":{"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"positioning":{"type":"string","title":"Positioning"}},"type":"object","required":["name","domain","positioning"],"title":"CompetitorStanceSchema","description":"Competitor stance for API responses."},"ConsumeCreditsRequest":{"properties":{"amount":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount"},"reference_id":{"type":"string","title":"Reference Id"},"reference_type":{"type":"string","title":"Reference Type"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"}},"type":"object","required":["amount","reference_id","reference_type"],"title":"ConsumeCreditsRequest","description":"Request to consume credits for an action."},"ConsumeCreditsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"amount_consumed":{"type":"integer","title":"Amount Consumed"},"balance_after":{"type":"integer","title":"Balance After"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","amount_consumed","balance_after","message"],"title":"ConsumeCreditsResponse","description":"Response for credit consumption."},"ContentDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"primary_keyword":{"type":"string","title":"Primary Keyword"},"status":{"$ref":"#/components/schemas/ContentStatus"},"content_type":{"$ref":"#/components/schemas/app__content__enums__ContentType"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data","description":"Status-specific data (polymorphic based on status)"},"quality_scores":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Quality Scores"},"fact_check_report":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Fact Check Report"},"recommended_keywords":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Recommended Keywords"},"brief_markdown":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brief Markdown"},"brief_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Brief Metadata"},"seo_meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Seo Meta"},"evidence_bank":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Evidence Bank"},"cancel_requested":{"type":"boolean","title":"Cancel Requested","default":false},"funnel_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funnel Stage"},"secondary_keywords":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Secondary Keywords"},"keyword_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Keyword Metrics"}},"type":"object","required":["id","name","primary_keyword","status","content_type","created_at","updated_at"],"title":"ContentDetailResponse","description":"Polymorphic response schema for GET /contents/{id}.\nThe 'data' field structure changes based on status.","examples":[{"content_type":"article","created_at":"2025-11-30T20:00:00Z","data":{"proposed_titles":["The Ultimate Guide to Enterprise CRM Automation","How to Choose the Best CRM for Your Enterprise"]},"id":"550e8400-e29b-41d4-a716-446655440000","name":"Enterprise CRM Article","primary_keyword":"enterprise crm automation","status":"waiting_titles_approval","updated_at":"2025-11-30T20:05:00Z"}]},"ContentDetailResponseV2":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"primary_keyword":{"type":"string","title":"Primary Keyword"},"status":{"$ref":"#/components/schemas/ContentStatus"},"content_type":{"$ref":"#/components/schemas/app__content__enums__ContentType"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"quality_scores":{"anyOf":[{"$ref":"#/components/schemas/QualityScoresSchema"},{"type":"null"}]},"fact_check_report":{"anyOf":[{"$ref":"#/components/schemas/FactCheckReportSchema"},{"type":"null"}]},"recommended_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recommended Keywords"},"brief_markdown":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brief Markdown"},"brief_metadata":{"anyOf":[{"$ref":"#/components/schemas/BriefMetadataSchema"},{"type":"null"}]},"seo_meta":{"anyOf":[{"$ref":"#/components/schemas/SeoMetaSchema"},{"type":"null"}]},"evidence_bank":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Evidence Bank"},"cancel_requested":{"type":"boolean","title":"Cancel Requested","default":false},"funnel_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funnel Stage"},"secondary_keywords":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Secondary Keywords"},"keyword_metrics":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Keyword Metrics"}},"type":"object","required":["id","name","primary_keyword","status","content_type","created_at","updated_at"],"title":"ContentDetailResponseV2","description":"V2 detail response with typed sub-schemas instead of Dict[str, Any]."},"ContentExecutionReadiness":{"type":"string","enum":["EXECUTABLE_NOW","MANUAL_ACTION","INVESTIGATION","LATER_PIPELINE"],"title":"ContentExecutionReadiness"},"ContentGroupItem":{"properties":{"label":{"type":"string","title":"Label"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"}},"type":"object","required":["label"],"title":"ContentGroupItem","description":"Single content group item."},"ContentGroupsData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ContentGroupItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"ContentGroupsData","description":"Data for content groups endpoint."},"ContentGroupsResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/ContentGroupsData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"ContentGroupsResponse","description":"Response for content groups endpoint."},"ContentGrowthBottleneck":{"type":"string","enum":["BALANCED_GROWTH","GROW_QUALIFIED_AUDIENCE","CAPTURE_EXISTING_DEMAND","IMPROVE_CONVERSION_FROM_EXISTING_CONTENT","RECOVER_DECAYING_CONTENT","BUILD_AUTHORITY_AGAINST_COMPETITORS","IMPROVE_AI_SEARCH_VISIBILITY"],"title":"ContentGrowthBottleneck"},"ContentImportRequest":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2048,"minLength":5},{"type":"null"}],"title":"Url"},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"markdown":{"anyOf":[{"type":"string","minLength":1},{"type":"null"}],"title":"Markdown"}},"type":"object","title":"ContentImportRequest"},"ContentImportResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"source":{"$ref":"#/components/schemas/ContentSource"},"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"},"funnel_stage":{"$ref":"#/components/schemas/FunnelStage"},"word_count":{"type":"integer","title":"Word Count"}},"type":"object","required":["success","source","url","title","funnel_stage","word_count"],"title":"ContentImportResponse"},"ContentIntelligenceAuditResponse":{"properties":{"run":{"$ref":"#/components/schemas/ContentIntelligenceRunResponse"},"source_snapshots":{"items":{"$ref":"#/components/schemas/ContentIntelligenceSourceSnapshotResponse"},"type":"array","title":"Source Snapshots"},"model_outputs":{"items":{"$ref":"#/components/schemas/ContentIntelligenceModelOutputAuditResponse"},"type":"array","title":"Model Outputs"},"opportunities":{"items":{"$ref":"#/components/schemas/ContentOpportunityResponse"},"type":"array","title":"Opportunities"}},"type":"object","required":["run"],"title":"ContentIntelligenceAuditResponse","description":"Compact read model for persisted roadmap intelligence evidence."},"ContentIntelligenceModelOutputAuditResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"run_id":{"type":"string","format":"uuid","title":"Run Id"},"provider":{"type":"string","title":"Provider"},"model":{"type":"string","title":"Model"},"attempt_number":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Attempt Number"},"reasoning_effort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Effort"},"prompt_version":{"type":"string","title":"Prompt Version"},"schema_version":{"type":"string","title":"Schema Version"},"input_summary":{"additionalProperties":true,"type":"object","title":"Input Summary"},"validation_status":{"$ref":"#/components/schemas/ContentIntelligenceModelValidationStatus"},"validation_errors":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Validation Errors"},"usage":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Usage"}},"type":"object","required":["id","workspace_id","run_id","provider","model","prompt_version","schema_version","validation_status"],"title":"ContentIntelligenceModelOutputAuditResponse"},"ContentIntelligenceModelValidationStatus":{"type":"string","enum":["VALID","INVALID","PARTIAL"],"title":"ContentIntelligenceModelValidationStatus"},"ContentIntelligenceRunResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"roadmap_id":{"type":"string","format":"uuid","title":"Roadmap Id"},"run_type":{"$ref":"#/components/schemas/ContentIntelligenceRunType"},"trigger":{"$ref":"#/components/schemas/ContentIntelligenceTrigger"},"status":{"$ref":"#/components/schemas/ContentIntelligenceRunStatus"},"north_star_outcome":{"$ref":"#/components/schemas/ContentNorthStar"},"selected_bottleneck":{"anyOf":[{"$ref":"#/components/schemas/ContentGrowthBottleneck"},{"type":"null"}]},"inferred_bottleneck":{"anyOf":[{"$ref":"#/components/schemas/ContentGrowthBottleneck"},{"type":"null"}]},"evidence_window_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window Start"},"evidence_window_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window End"},"data_used_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Data Used Until"},"strategy_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy Provider"},"strategy_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strategy Model"},"reasoning_effort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reasoning Effort"},"prompt_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Version"},"schema_version":{"type":"string","title":"Schema Version"},"started_at":{"type":"string","format":"date-time","title":"Started At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"},"failed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Failed At"},"failure_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Code"},"failure_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Message"},"summary":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Summary"}},"type":"object","required":["id","workspace_id","roadmap_id","run_type","trigger","status","north_star_outcome","schema_version","started_at"],"title":"ContentIntelligenceRunResponse"},"ContentIntelligenceRunStatus":{"type":"string","enum":["RUNNING","COMPLETED","FAILED"],"title":"ContentIntelligenceRunStatus"},"ContentIntelligenceRunType":{"type":"string","enum":["CONTENT_ROADMAP_GENERATION"],"title":"ContentIntelligenceRunType"},"ContentIntelligenceSourceAvailability":{"type":"string","enum":["AVAILABLE","PARTIAL","MISSING","FAILED"],"title":"ContentIntelligenceSourceAvailability"},"ContentIntelligenceSourceKey":{"type":"string","enum":["BRAND_BASELINE","KEYWORD_INTELLIGENCE","TOPIC_CLUSTERS","SEARCH_CONSOLE","WEB_ANALYTICS","COMPETITIVE","PROMPT_VISIBILITY","CONTENT_INVENTORY"],"title":"ContentIntelligenceSourceKey"},"ContentIntelligenceSourceSnapshotResponse":{"properties":{"run_id":{"type":"string","format":"uuid","title":"Run Id"},"source_key":{"$ref":"#/components/schemas/ContentIntelligenceSourceKey"},"availability":{"$ref":"#/components/schemas/ContentIntelligenceSourceAvailability"},"freshness_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Freshness At"},"evidence_window_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window Start"},"evidence_window_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window End"},"summary":{"additionalProperties":true,"type":"object","title":"Summary"},"data_gaps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data Gaps"},"source_refs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Source Refs"},"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"}},"type":"object","required":["run_id","source_key","availability","id","workspace_id"],"title":"ContentIntelligenceSourceSnapshotResponse"},"ContentIntelligenceTrigger":{"type":"string","enum":["MANUAL_ROADMAP_GENERATION"],"title":"ContentIntelligenceTrigger"},"ContentInventoryItem":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"},"content_summary":{"type":"string","title":"Content Summary"},"funnel_stage":{"$ref":"#/components/schemas/FunnelStage"},"source":{"$ref":"#/components/schemas/ContentSource"},"scraped_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scraped At"},"word_count":{"type":"integer","title":"Word Count"},"content_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content Id"},"keyword_cluster_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Keyword Cluster Id"},"gsc_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gsc Position"},"gsc_clicks_30d":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Clicks 30D"},"gsc_impressions_30d":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Impressions 30D"},"ai_citations_30d":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Citations 30D"},"score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Score"}},"type":"object","required":["id","workspace_id","url","title","content_summary","funnel_stage","source","word_count"],"title":"ContentInventoryItem","description":"API response model for a single content inventory item."},"ContentInventoryListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ContentInventoryItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["items","total","page","page_size"],"title":"ContentInventoryListResponse"},"ContentInventoryStatsResponse":{"properties":{"total_items":{"type":"integer","title":"Total Items"},"by_funnel_stage":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Funnel Stage"},"by_source":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Source"}},"type":"object","required":["total_items","by_funnel_stage","by_source"],"title":"ContentInventoryStatsResponse"},"ContentListItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"primary_keyword":{"type":"string","title":"Primary Keyword"},"status":{"$ref":"#/components/schemas/ContentStatus"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content_type":{"$ref":"#/components/schemas/app__content__enums__ContentType"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"}},"type":"object","required":["id","name","primary_keyword","status","content_type","created_at","updated_at"],"title":"ContentListItem","description":"Lightweight content item for list endpoint."},"ContentListItemV2":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"primary_keyword":{"type":"string","title":"Primary Keyword"},"status":{"$ref":"#/components/schemas/ContentStatus"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content_type":{"$ref":"#/components/schemas/app__content__enums__ContentType"},"created_at":{"type":"string","title":"Created At"},"updated_at":{"type":"string","title":"Updated At"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message"},"quality_grade":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Quality Grade"}},"type":"object","required":["id","name","primary_keyword","status","content_type","created_at","updated_at"],"title":"ContentListItemV2","description":"V2 list item with typed quality score summary."},"ContentListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ContentListItem"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["data","total","page","limit"],"title":"ContentListResponse","description":"Response schema for GET /contents (list)."},"ContentListResponseV2":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ContentListItemV2"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["data","total","page","limit"],"title":"ContentListResponseV2","description":"V2 list response with pagination."},"ContentMetricsResponse":{"properties":{"topical_focus_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Topical Focus Score"},"depth_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Depth Score"},"readability_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Readability Score"},"eeat_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eeat Score"},"duplication_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Duplication Score"},"scored_by_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scored By Model"},"scored_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scored At"}},"type":"object","title":"ContentMetricsResponse","description":"Content quality metrics response."},"ContentNorthStar":{"type":"string","enum":["INBOUND_PIPELINE_GROWTH"],"title":"ContentNorthStar"},"ContentOpportunityAction":{"type":"string","enum":["CREATE_NEW_CONTENT","REFRESH_EXISTING_CONTENT","REPURPOSE_DISTRIBUTE","INTERNAL_LINK_TECHNICAL","AUTHORITY_OFFSITE","INVESTIGATE"],"title":"ContentOpportunityAction"},"ContentOpportunityLever":{"type":"string","enum":["EDUCATIONAL_CONTENT","PROBLEM_AWARE_THOUGHT_LEADERSHIP","BUYING_INTENT_CONTENT","CONTENT_REFRESH","CTA_CONVERSION_IMPROVEMENT","CUSTOMER_PROOF","TOPIC_HUB_INTERNAL_LINKING","REPURPOSE_DISTRIBUTION","AUTHORITY_RECOMMENDATION","AI_VISIBILITY_ENTITY_COVERAGE"],"title":"ContentOpportunityLever"},"ContentOpportunityResponse":{"properties":{"run_id":{"type":"string","format":"uuid","title":"Run Id"},"opportunity_fingerprint":{"type":"string","title":"Opportunity Fingerprint"},"opportunity_type":{"$ref":"#/components/schemas/ContentOpportunityType"},"status":{"$ref":"#/components/schemas/ContentOpportunityStatus","default":"CANDIDATE"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"target_topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Topic"},"primary_keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Keyword"},"supporting_keywords":{"items":{"type":"string"},"type":"array","title":"Supporting Keywords"},"target_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Url"},"competitor_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Competitor Url"},"recommended_action":{"$ref":"#/components/schemas/ContentOpportunityAction"},"content_lever":{"$ref":"#/components/schemas/ContentOpportunityLever"},"priority_score":{"type":"number","title":"Priority Score"},"impact_score":{"type":"number","title":"Impact Score"},"confidence_score":{"type":"number","title":"Confidence Score"},"effort_score":{"type":"number","title":"Effort Score"},"urgency_score":{"type":"number","title":"Urgency Score"},"bottleneck_fit_score":{"type":"number","title":"Bottleneck Fit Score"},"execution_readiness":{"$ref":"#/components/schemas/ContentExecutionReadiness"},"evidence_summary":{"type":"string","title":"Evidence Summary"},"strategy_rationale":{"type":"string","title":"Strategy Rationale"},"expected_kpi_movement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Kpi Movement"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"data_gaps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data Gaps"},"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"}},"type":"object","required":["run_id","opportunity_fingerprint","opportunity_type","title","recommended_action","content_lever","priority_score","impact_score","confidence_score","effort_score","urgency_score","bottleneck_fit_score","execution_readiness","evidence_summary","strategy_rationale","id","workspace_id"],"title":"ContentOpportunityResponse"},"ContentOpportunityStatus":{"type":"string","enum":["CANDIDATE","SELECTED_FOR_ROADMAP","NOT_SELECTED"],"title":"ContentOpportunityStatus"},"ContentOpportunityType":{"type":"string","enum":["KEYWORD_QUICK_WIN","GSC_QUERY_GAP","CONTENT_DECAY","CONVERSION_ASSIST","COMPETITOR_GAP","AI_VISIBILITY_GAP","TOPIC_CLUSTER_OPPORTUNITY"],"title":"ContentOpportunityType"},"ContentQualityMetrics":{"properties":{"topical_focus_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Topical Focus Score","description":"Topical focus score (0-100)"},"depth_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Depth Score","description":"Content depth score (0-100)"},"readability_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Readability Score","description":"Readability score (0-100)"},"eeat_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Eeat Score","description":"E-E-A-T score (0-100)"},"word_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Word Count","description":"Total word count"}},"type":"object","title":"ContentQualityMetrics","description":"Content quality metrics."},"ContentRoadmapDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"status":{"$ref":"#/components/schemas/ContentRoadmapStatus"},"title":{"type":"string","title":"Title"},"period_start":{"type":"string","format":"date","title":"Period Start"},"period_end":{"type":"string","format":"date","title":"Period End"},"north_star_outcome":{"$ref":"#/components/schemas/ContentNorthStar","default":"INBOUND_PIPELINE_GROWTH"},"selected_bottleneck":{"anyOf":[{"$ref":"#/components/schemas/ContentGrowthBottleneck"},{"type":"null"}]},"inferred_bottleneck":{"anyOf":[{"$ref":"#/components/schemas/ContentGrowthBottleneck"},{"type":"null"}]},"generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Generated At"},"data_used_until":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Data Used Until"},"evidence_window_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window Start"},"evidence_window_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Evidence Window End"},"source_availability":{"additionalProperties":true,"type":"object","title":"Source Availability"},"summary":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Summary"},"items":{"items":{"$ref":"#/components/schemas/ContentRoadmapItemResponse"},"type":"array","title":"Items"},"feedback_summary":{"$ref":"#/components/schemas/ContentRoadmapFeedbackSummaryResponse"},"failure":{"anyOf":[{"$ref":"#/components/schemas/ContentRoadmapFailure"},{"type":"null"}]}},"type":"object","required":["id","status","title","period_start","period_end"],"title":"ContentRoadmapDetailResponse"},"ContentRoadmapEvaluationResponse":{"properties":{"roadmap_id":{"type":"string","format":"uuid","title":"Roadmap Id"},"status":{"$ref":"#/components/schemas/ContentRoadmapStatus"},"total_item_count":{"type":"integer","title":"Total Item Count","default":0},"item_counts_by_approval":{"additionalProperties":{"type":"integer"},"type":"object","title":"Item Counts By Approval"},"item_counts_by_lane":{"additionalProperties":{"type":"integer"},"type":"object","title":"Item Counts By Lane"},"item_counts_by_readiness":{"additionalProperties":{"type":"integer"},"type":"object","title":"Item Counts By Readiness"},"total_feedback_count":{"type":"integer","title":"Total Feedback Count","default":0},"feedback_counts_by_action":{"additionalProperties":{"type":"integer"},"type":"object","title":"Feedback Counts By Action"},"content_handoff_count":{"type":"integer","title":"Content Handoff Count","default":0},"handoff_failure_count":{"type":"integer","title":"Handoff Failure Count","default":0},"source_availability":{"additionalProperties":true,"type":"object","title":"Source Availability"},"model_metadata":{"additionalProperties":true,"type":"object","title":"Model Metadata"},"known_v0_risk_notes":{"items":{"type":"string"},"type":"array","title":"Known V0 Risk Notes"}},"type":"object","required":["roadmap_id","status"],"title":"ContentRoadmapEvaluationResponse"},"ContentRoadmapExecutionReadiness":{"type":"string","enum":["EXECUTABLE_NOW","MANUAL_ACTION","INVESTIGATION","LATER_PIPELINE"],"title":"ContentRoadmapExecutionReadiness"},"ContentRoadmapFailure":{"properties":{"failure_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Code"},"failure_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Message"}},"type":"object","title":"ContentRoadmapFailure"},"ContentRoadmapFeedbackAction":{"type":"string","enum":["APPROVE","EDIT","REJECT","DEFER","GENERATE_CONTENT","GENERATE_CONTENT_FAILED"],"title":"ContentRoadmapFeedbackAction"},"ContentRoadmapFeedbackSummaryResponse":{"properties":{"total_count":{"type":"integer","title":"Total Count","default":0},"counts_by_action":{"additionalProperties":{"type":"integer"},"type":"object","title":"Counts By Action"},"recent_feedback":{"items":{"$ref":"#/components/schemas/ContentRoadmapRecentFeedbackResponse"},"type":"array","title":"Recent Feedback"}},"type":"object","title":"ContentRoadmapFeedbackSummaryResponse"},"ContentRoadmapGenerateContentResponse":{"properties":{"item_id":{"type":"string","format":"uuid","title":"Item Id"},"content_id":{"type":"string","format":"uuid","title":"Content Id"},"content_status":{"anyOf":[{"$ref":"#/components/schemas/ContentStatus"},{"type":"null"}]},"content":{"anyOf":[{"$ref":"#/components/schemas/ContentDetailResponseV2"},{"type":"null"}]},"feedback":{"anyOf":[{"$ref":"#/components/schemas/ContentRoadmapItemFeedbackResponse"},{"type":"null"}]}},"type":"object","required":["item_id","content_id"],"title":"ContentRoadmapGenerateContentResponse"},"ContentRoadmapGenerateRequest":{"properties":{"selected_bottleneck":{"anyOf":[{"$ref":"#/components/schemas/ContentGrowthBottleneck"},{"type":"null"}]},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"}},"type":"object","title":"ContentRoadmapGenerateRequest"},"ContentRoadmapItemAction":{"type":"string","enum":["APPROVE","EDIT","REJECT","DEFER"],"title":"ContentRoadmapItemAction"},"ContentRoadmapItemActionRequest":{"properties":{"action":{"$ref":"#/components/schemas/ContentRoadmapItemAction"},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"suggested_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Suggested Date"},"priority_tier":{"anyOf":[{"$ref":"#/components/schemas/ContentRoadmapPriorityTier"},{"type":"null"}]},"target_keyword":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Target Keyword"},"target_topic":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Target Topic"},"target_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Target Url"},"competitor_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Competitor Url"},"content_type":{"anyOf":[{"$ref":"#/components/schemas/ContentType-Input"},{"type":"null"}]},"funnel_stage":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Funnel Stage"},"reason":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Reason"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"additionalProperties":false,"type":"object","required":["action"],"title":"ContentRoadmapItemActionRequest"},"ContentRoadmapItemActionResponse":{"properties":{"item":{"$ref":"#/components/schemas/ContentRoadmapItemResponse"},"feedback":{"anyOf":[{"$ref":"#/components/schemas/ContentRoadmapItemFeedbackResponse"},{"type":"null"}]}},"type":"object","required":["item"],"title":"ContentRoadmapItemActionResponse"},"ContentRoadmapItemApprovalStatus":{"type":"string","enum":["PROPOSED","APPROVED","EDITED","REJECTED","DEFERRED"],"title":"ContentRoadmapItemApprovalStatus"},"ContentRoadmapItemFeedbackResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"action":{"$ref":"#/components/schemas/ContentRoadmapFeedbackAction"}},"type":"object","required":["id","action"],"title":"ContentRoadmapItemFeedbackResponse"},"ContentRoadmapItemResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"roadmap_id":{"type":"string","format":"uuid","title":"Roadmap Id"},"content_opportunity_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Content Opportunity Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"lane":{"$ref":"#/components/schemas/ContentRoadmapLane"},"content_lever":{"$ref":"#/components/schemas/ContentRoadmapLever"},"suggested_date":{"type":"string","format":"date","title":"Suggested Date"},"priority_tier":{"$ref":"#/components/schemas/ContentRoadmapPriorityTier"},"priority_score":{"type":"number","title":"Priority Score"},"impact_score":{"type":"number","title":"Impact Score"},"confidence_score":{"type":"number","title":"Confidence Score"},"effort_score":{"type":"number","title":"Effort Score"},"urgency_score":{"type":"number","title":"Urgency Score"},"bottleneck_fit_score":{"type":"number","title":"Bottleneck Fit Score"},"execution_readiness":{"$ref":"#/components/schemas/ContentRoadmapExecutionReadiness"},"approval_status":{"$ref":"#/components/schemas/ContentRoadmapItemApprovalStatus"},"triggering_signal":{"type":"string","title":"Triggering Signal"},"evidence_summary":{"type":"string","title":"Evidence Summary"},"rationale":{"type":"string","title":"Rationale"},"expected_kpi_movement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Expected Kpi Movement"},"target_keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Keyword"},"target_topic":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Topic"},"target_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Url"},"competitor_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Competitor Url"},"content_type":{"anyOf":[{"$ref":"#/components/schemas/app__content__enums__ContentType"},{"type":"null"}]},"funnel_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Funnel Stage"},"evidence":{"additionalProperties":true,"type":"object","title":"Evidence"},"data_gaps":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Data Gaps"},"editable_payload":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Editable Payload"},"content_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Content Id"},"last_user_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last User Note"},"last_rejection_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Rejection Reason"}},"type":"object","required":["id","roadmap_id","title","lane","content_lever","suggested_date","priority_tier","priority_score","impact_score","confidence_score","effort_score","urgency_score","bottleneck_fit_score","execution_readiness","approval_status","triggering_signal","evidence_summary","rationale"],"title":"ContentRoadmapItemResponse"},"ContentRoadmapLane":{"type":"string","enum":["CREATE_NEW_CONTENT","REFRESH_EXISTING_CONTENT","REPURPOSE_DISTRIBUTE","INTERNAL_LINK_TECHNICAL","AUTHORITY_OFFSITE","INVESTIGATION"],"title":"ContentRoadmapLane"},"ContentRoadmapLever":{"type":"string","enum":["EDUCATIONAL_CONTENT","PROBLEM_AWARE_THOUGHT_LEADERSHIP","BUYING_INTENT_CONTENT","CONTENT_REFRESH","CTA_CONVERSION_IMPROVEMENT","CUSTOMER_PROOF","TOPIC_HUB_INTERNAL_LINKING","REPURPOSE_DISTRIBUTION","AUTHORITY_RECOMMENDATION","AI_VISIBILITY_ENTITY_COVERAGE"],"title":"ContentRoadmapLever"},"ContentRoadmapPriorityTier":{"type":"string","enum":["HIGH","MEDIUM","LOW"],"title":"ContentRoadmapPriorityTier"},"ContentRoadmapRecentFeedbackResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"item_id":{"type":"string","format":"uuid","title":"Item Id"},"action":{"$ref":"#/components/schemas/ContentRoadmapFeedbackAction"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"},"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","item_id","action","created_at"],"title":"ContentRoadmapRecentFeedbackResponse"},"ContentRoadmapStatus":{"type":"string","enum":["GENERATING","ACTIVE","FAILED"],"title":"ContentRoadmapStatus"},"ContentRoadmapStatusResponse":{"properties":{"roadmap_id":{"type":"string","format":"uuid","title":"Roadmap Id"},"status":{"$ref":"#/components/schemas/ContentRoadmapStatus"}},"type":"object","required":["roadmap_id","status"],"title":"ContentRoadmapStatusResponse"},"ContentSource":{"type":"string","enum":["sitemap_scrape","generated","imported"],"title":"ContentSource"},"ContentStatus":{"type":"string","enum":["DRAFT","RESEARCHING","GENERATING_STRATEGY","GENERATING_TITLES","WAITING_TITLES_APPROVAL","GENERATING_BRIEF","WAITING_BRIEF_APPROVAL","WRITING","WAITING_FINAL_REVIEW","COMPLETED","PUBLISHED","CANCELLED","FAILED"],"title":"ContentStatus","description":"Content generation workflow statuses.\nUsed to track progress through the LangGraph pipeline."},"ContentType-Input":{"type":"string","enum":["ARTICLE","HOW_TO","COMPARISON","LISTICLE","BRIEF"],"title":"ContentType","description":"Content type enum."},"ContentTypeBreakdown":{"properties":{"blog_articles":{"type":"integer","title":"Blog Articles"},"blog_percentage":{"type":"number","title":"Blog Percentage"},"products_ecommerce":{"type":"integer","title":"Products Ecommerce"},"products_percentage":{"type":"number","title":"Products Percentage"},"landing_pages":{"type":"integer","title":"Landing Pages"},"landing_percentage":{"type":"number","title":"Landing Percentage"},"technical_ignored":{"type":"integer","title":"Technical Ignored"},"technical_percentage":{"type":"number","title":"Technical Percentage"},"uncategorized":{"type":"integer","title":"Uncategorized"},"uncategorized_percentage":{"type":"number","title":"Uncategorized Percentage"}},"type":"object","required":["blog_articles","blog_percentage","products_ecommerce","products_percentage","landing_pages","landing_percentage","technical_ignored","technical_percentage","uncategorized","uncategorized_percentage"],"title":"ContentTypeBreakdown"},"ContentfulConnectRequest":{"properties":{"api_key":{"type":"string","minLength":1,"title":"Api Key"},"space_id":{"type":"string","minLength":1,"title":"Space Id"},"environment_id":{"type":"string","minLength":1,"title":"Environment Id","default":"master"},"region":{"type":"string","enum":["default","eu"],"title":"Region","default":"default"}},"type":"object","required":["api_key","space_id"],"title":"ContentfulConnectRequest","description":"Request to connect Contentful with a CMA personal access token."},"ContentfulConnectResponse":{"properties":{"integration_id":{"type":"string","format":"uuid","title":"Integration Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"space_id":{"type":"string","title":"Space Id"},"environment_id":{"type":"string","title":"Environment Id"},"region":{"type":"string","title":"Region"},"host":{"type":"string","title":"Host"}},"type":"object","required":["integration_id","integration_type","status","space_id","environment_id","region","host"],"title":"ContentfulConnectResponse","description":"Response after connecting Contentful with a CMA personal access token."},"ContentfulStatusDetails":{"properties":{"space_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Space Id"},"environment_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Environment Id"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host"},"connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Connected At"},"last_sync_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Error"},"auto_sync":{"type":"boolean","title":"Auto Sync"}},"type":"object","required":["auto_sync"],"title":"ContentfulStatusDetails","description":"Native Contentful connection details for status responses."},"ConversationDetailResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"message_count":{"type":"integer","title":"Message Count"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"messages":{"items":{"$ref":"#/components/schemas/app__agent__schemas__MessageResponse"},"type":"array","title":"Messages"}},"type":"object","required":["id","title","message_count","last_message_at","created_at","messages"],"title":"ConversationDetailResponse"},"ConversationListResponse":{"properties":{"conversations":{"items":{"$ref":"#/components/schemas/ConversationResponse"},"type":"array","title":"Conversations"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["conversations","total"],"title":"ConversationListResponse"},"ConversationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"message_count":{"type":"integer","title":"Message Count"},"last_message_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Message At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","message_count","last_message_at","created_at"],"title":"ConversationResponse"},"CountriesData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CountryItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"CountriesData","description":"Data for countries endpoint."},"CountriesResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/CountriesData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"CountriesResponse","description":"Response for countries endpoint."},"CountryItem":{"properties":{"country_code":{"type":"string","title":"Country Code"},"label":{"type":"string","title":"Label"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"}},"type":"object","required":["country_code","label"],"title":"CountryItem","description":"Single country item."},"CountryVisitData":{"properties":{"country":{"type":"string","title":"Country","description":"Country name"},"country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country Code","description":"ISO country code"},"sessions":{"type":"integer","title":"Sessions","description":"Number of sessions"},"active_users":{"type":"integer","title":"Active Users","description":"Number of active users"},"new_users":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"New Users","description":"Number of new users"},"page_views":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Page Views","description":"Number of page views"},"bounce_rate":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Bounce Rate","description":"Bounce rate percentage"},"avg_session_duration":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Session Duration","description":"Average session duration in seconds"}},"type":"object","required":["country","sessions","active_users"],"title":"CountryVisitData","description":"Visit data for a single country"},"CouponRedeemRequest":{"properties":{"coupon_code":{"type":"string","minLength":1,"title":"Coupon Code","description":"The coupon code to redeem"}},"type":"object","required":["coupon_code"],"title":"CouponRedeemRequest","description":"Request schema for redeeming a coupon"},"CouponResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the operation was successful"},"message":{"type":"string","title":"Message","description":"Response message"},"coupon_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Coupon Code","description":"The redeemed coupon code"},"action_taken":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Taken","description":"The action that was performed"},"workspace_plan_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Plan Type","description":"Updated workspace plan type"},"trial_days_added":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Trial Days Added","description":"Number of trial days added"}},"type":"object","required":["success","message"],"title":"CouponResponse","description":"Response schema for coupon operations"},"CreateAISeoMonitor":{"properties":{"website_url":{"type":"string","maxLength":2048,"minLength":1,"title":"Website Url"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"provider":{"$ref":"#/components/schemas/AISeoMonitorProvider","default":"IN_HOUSE_VISION"},"run_initial_scan":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Run Initial Scan","description":"Whether to run an initial scan after creation","default":true}},"type":"object","required":["website_url"],"title":"CreateAISeoMonitor","description":"Schema for creating a new AI SEO monitor."},"CreateAgencyClientResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"}},"type":"object","required":["workspace_id"],"title":"CreateAgencyClientResponse"},"CreateBrandVaultPersonaRequest":{"properties":{"persona_name":{"type":"string","title":"Persona Name"},"proficiency_level":{"type":"string","title":"Proficiency Level","default":"intermediate"},"pain_points":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Pain Points"},"desired_outcomes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Desired Outcomes"},"buying_barriers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Buying Barriers"},"jobs_to_be_done":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Jobs To Be Done"}},"type":"object","required":["persona_name"],"title":"CreateBrandVaultPersonaRequest","description":"Request schema for creating a new Brand Vault Persona."},"CreateBrandVaultProductRequest":{"properties":{"product_name":{"type":"string","title":"Product Name"},"hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hook"},"pricing_model":{"type":"string","title":"Pricing Model","default":"paid"},"differentiator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Differentiator"},"features":{"anyOf":[{"items":{"$ref":"#/components/schemas/FeatureSchema"},"type":"array"},{"type":"null"}],"title":"Features"}},"type":"object","required":["product_name"],"title":"CreateBrandVaultProductRequest","description":"Request schema for creating a new Brand Vault Product."},"CreateCheckoutRequest":{"properties":{"plan_id":{"type":"string","format":"uuid","title":"Plan Id"},"success_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Success Url"},"cancel_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Url"}},"type":"object","required":["plan_id"],"title":"CreateCheckoutRequest","description":"Request to create a Stripe Checkout session for subscription."},"CreateCheckoutResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url"},"session_id":{"type":"string","title":"Session Id"}},"type":"object","required":["checkout_url","session_id"],"title":"CreateCheckoutResponse","description":"Response with Stripe Checkout session URL."},"CreateCompetitorRequest":{"properties":{"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Aliases"},"excluded_match_terms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Excluded Match Terms"}},"type":"object","required":["name","domain"],"title":"CreateCompetitorRequest"},"CreateContentRequest":{"properties":{"primary_keyword":{"type":"string","maxLength":500,"minLength":1,"title":"Primary Keyword","description":"Primary keyword/seed for content generation"},"brand_kit_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Brand Kit Id","description":"Brand kit ID (if None, uses workspace default)"},"content_type":{"$ref":"#/components/schemas/ContentType-Input","description":"Type of content to generate","default":"ARTICLE"},"funnel_stage":{"anyOf":[{"$ref":"#/components/schemas/FunnelStage"},{"type":"null"}],"description":"Funnel stage (TOFU/MOFU/BOFU) — overrides auto-detection if provided"}},"type":"object","required":["primary_keyword"],"title":"CreateContentRequest","description":"Request schema for creating new content."},"CreateContentResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"message":{"type":"string","title":"Message","default":"Content creation initiated"}},"type":"object","required":["id"],"title":"CreateContentResponse","description":"Response schema for POST /contents."},"CreateExportDestinationRequest":{"properties":{"name":{"type":"string","maxLength":255,"title":"Name","description":"Human-readable label"},"destination_type":{"$ref":"#/components/schemas/DestinationType","default":"WEBHOOK"},"url":{"type":"string","maxLength":2048,"title":"Url","description":"Webhook endpoint URL"},"secret":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Secret","description":"HMAC signing secret"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers","description":"Custom HTTP headers sent with each delivery"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types","description":"Event types this destination subscribes to. [\"*\"] means all.","default":["*"]}},"type":"object","required":["name","url"],"title":"CreateExportDestinationRequest"},"CreateLLMTextRequest":{"properties":{"llm_txt_type":{"$ref":"#/components/schemas/LLMTextType","description":"Type of LLM text to generate","default":"LLM_TXT"},"ai_enhanced":{"type":"boolean","title":"Ai Enhanced","description":"Whether to enhance the generated text with AI","default":false},"website_url":{"type":"string","maxLength":2048,"title":"Website Url","description":"URL of the website to generate LLM text from"}},"type":"object","required":["website_url"],"title":"CreateLLMTextRequest","description":"Schema for creating a new LLM text generation request."},"CreatePortalSessionResponse":{"properties":{"portal_url":{"type":"string","title":"Portal Url"}},"type":"object","required":["portal_url"],"title":"CreatePortalSessionResponse","description":"Response with Stripe Customer Portal URL."},"CreatePromptRequest":{"properties":{"prompt_text":{"type":"string","title":"Prompt Text"},"location":{"type":"string","title":"Location"},"language":{"type":"string","title":"Language","description":"Language for the prompt (mandatory)"},"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id","description":"Optional workspace keyword ID to associate with this prompt"},"intent_type":{"$ref":"#/components/schemas/IntentType","description":"Intent type for the prompt. Defaults to RESEARCH if not provided.","default":"RESEARCH"}},"type":"object","required":["prompt_text","location","language"],"title":"CreatePromptRequest"},"CreateSEOMonitor":{"properties":{"website_url":{"type":"string","title":"Website Url","description":"Website URL to monitor"},"status":{"anyOf":[{"$ref":"#/components/schemas/SEOMonitorStatus"},{"type":"null"}],"description":"Initial status of the monitor","default":"ACTIVE"},"provider":{"anyOf":[{"$ref":"#/components/schemas/SEOMonitorProvider"},{"type":"null"}],"description":"SEO monitoring provider","default":"GOOGLE_LIGHTHOUSE"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config","description":"Provider-specific configuration"},"run_initial_scan":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Run Initial Scan","description":"Whether to run an initial scan after creation","default":true}},"type":"object","required":["website_url"],"title":"CreateSEOMonitor","description":"Schema for creating a new SEO monitor."},"CreateTopUpCheckoutRequest":{"properties":{"package_id":{"type":"string","format":"uuid","title":"Package Id"},"success_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Success Url"},"cancel_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cancel Url"}},"type":"object","required":["package_id"],"title":"CreateTopUpCheckoutRequest","description":"Request to create a Stripe Checkout session for top-up."},"CreateTopicRequest":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name","description":"Topic name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"Topic description"}},"type":"object","required":["name"],"title":"CreateTopicRequest","description":"Request schema for creating a topic."},"CreateUserProfile":{"properties":{"name":{"type":"string","title":"Name"},"language":{"anyOf":[{"$ref":"#/components/schemas/UserLanguage"},{"type":"null"}]},"profile_picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Picture"}},"type":"object","required":["name"],"title":"CreateUserProfile"},"CreateWebsiteContactRequest":{"properties":{"full_name":{"type":"string","title":"Full Name"},"email":{"type":"string","format":"email","title":"Email"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"jobtitle":{"type":"string","title":"Jobtitle"},"company_size":{"anyOf":[{"$ref":"#/components/schemas/CompanySize"},{"type":"null"}]},"comments":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comments"},"internal_source":{"type":"string","title":"Internal Source"},"utm_params":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"null"}]},"type":"object","title":"Utm Params","default":{}},"submission_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Submission Source"}},"type":"object","required":["full_name","email","jobtitle","internal_source"],"title":"CreateWebsiteContactRequest"},"CreateWebsiteContactResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"slack_notified":{"type":"boolean","title":"Slack Notified"}},"type":"object","required":["success","message","slack_notified"],"title":"CreateWebsiteContactResponse"},"CreateWorkspaceInvitation":{"properties":{"email":{"type":"string","title":"Email"},"role_id":{"type":"string","title":"Role Id"}},"type":"object","required":["email","role_id"],"title":"CreateWorkspaceInvitation"},"CreditAllocationHistoryResponse":{"properties":{"agency_id":{"type":"string","format":"uuid","title":"Agency Id"},"agency_name":{"type":"string","title":"Agency Name"},"allocations":{"items":{"$ref":"#/components/schemas/CreditAllocationRecord"},"type":"array","title":"Allocations"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["agency_id","agency_name","allocations","total_count","has_more"],"title":"CreditAllocationHistoryResponse","description":"Response containing credit allocation history."},"CreditAllocationRecord":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"amount":{"type":"integer","title":"Amount"},"target_workspace_id":{"type":"string","format":"uuid","title":"Target Workspace Id"},"target_workspace_name":{"type":"string","title":"Target Workspace Name"},"allocated_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Allocated By User Id"},"allocated_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Allocated By Email"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","amount","target_workspace_id","target_workspace_name","created_at"],"title":"CreditAllocationRecord","description":"Record of a single credit allocation."},"CreditBalanceResponse":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"total_available":{"type":"integer","title":"Total Available"},"lifetime_credits_received":{"type":"integer","title":"Lifetime Credits Received"},"lifetime_credits_used":{"type":"integer","title":"Lifetime Credits Used"},"lifetime_credits_expired":{"type":"integer","title":"Lifetime Credits Expired"},"last_recalculated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Recalculated At"}},"type":"object","required":["workspace_id","total_available","lifetime_credits_received","lifetime_credits_used","lifetime_credits_expired"],"title":"CreditBalanceResponse","description":"Response schema for credit balance."},"CreditBalanceSummary":{"properties":{"total_credits_in_cycle":{"type":"integer","title":"Total Credits In Cycle","description":"Total credits allocated in the current billing cycle"},"total_credits_remaining":{"type":"integer","title":"Total Credits Remaining","description":"Total credits remaining/available to use"},"breakdown":{"additionalProperties":true,"type":"object","title":"Breakdown"},"expiring_soon":{"type":"integer","title":"Expiring Soon","default":0},"next_expiration_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Expiration Date"}},"type":"object","required":["total_credits_in_cycle","total_credits_remaining"],"title":"CreditBalanceSummary","description":"Summary of credit balance with breakdown."},"CreditConfigResponse":{"properties":{"prompt_platforms":{"items":{"$ref":"#/components/schemas/PlatformCreditCost"},"type":"array","title":"Prompt Platforms"},"actions":{"items":{"$ref":"#/components/schemas/ActionCreditCost"},"type":"array","title":"Actions"},"free_actions":{"items":{"type":"string"},"type":"array","title":"Free Actions"},"default_prompt_cost":{"type":"integer","title":"Default Prompt Cost","default":1}},"type":"object","title":"CreditConfigResponse","description":"Response schema for credit configuration.\n\nExposes all credit costs to the frontend for display purposes."},"CreditTransactionListResponse":{"properties":{"transactions":{"items":{"$ref":"#/components/schemas/CreditTransactionResponse"},"type":"array","title":"Transactions"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["transactions","total_count","has_more","page","page_size"],"title":"CreditTransactionListResponse","description":"Paginated list of credit transactions."},"CreditTransactionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"bucket_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Bucket Id"},"transaction_type":{"$ref":"#/components/schemas/CreditTransactionType"},"amount":{"type":"integer","title":"Amount"},"balance_after":{"type":"integer","title":"Balance After"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Id"},"reference_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Type"},"performed_by_user_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Performed By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"extra_data":{"additionalProperties":true,"type":"object","title":"Extra Data"}},"type":"object","required":["id","workspace_id","transaction_type","amount","balance_after","created_at"],"title":"CreditTransactionResponse","description":"Response schema for credit transactions."},"CreditTransactionType":{"type":"string","enum":["SUBSCRIPTION_CREDIT","TOPUP_CREDIT","FREE_SIGNUP_CREDIT","ALLOCATION_RECEIVED","ENTERPRISE_GRANT","REFUND","ONBOARDING_REWARD","PLAN_UPGRADE_PRORATION","USAGE","ALLOCATION_SENT","EXPIRED","ADJUSTMENT"],"title":"CreditTransactionType","description":"Type of credit transaction for audit trail."},"CreditUtilizationByAction":{"properties":{"action_type":{"type":"string","title":"Action Type"},"display_name":{"type":"string","title":"Display Name"},"total_credits":{"type":"integer","title":"Total Credits"},"transaction_count":{"type":"integer","title":"Transaction Count"},"percentage":{"type":"number","title":"Percentage","default":0.0}},"type":"object","required":["action_type","display_name","total_credits","transaction_count"],"title":"CreditUtilizationByAction","description":"Credit usage breakdown by action type."},"CreditUtilizationByPlatform":{"properties":{"platform":{"type":"string","title":"Platform"},"display_name":{"type":"string","title":"Display Name"},"total_credits":{"type":"integer","title":"Total Credits"},"transaction_count":{"type":"integer","title":"Transaction Count"},"percentage":{"type":"number","title":"Percentage","default":0.0}},"type":"object","required":["platform","display_name","total_credits","transaction_count"],"title":"CreditUtilizationByPlatform","description":"Credit usage breakdown by platform (for prompt executions)."},"CreditUtilizationPeriod":{"properties":{"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"period_label":{"type":"string","title":"Period Label"},"total_credits":{"type":"integer","title":"Total Credits"},"transaction_count":{"type":"integer","title":"Transaction Count"}},"type":"object","required":["period_start","period_end","period_label","total_credits","transaction_count"],"title":"CreditUtilizationPeriod","description":"Credit usage for a specific time period."},"CreditUtilizationResponse":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"start_date":{"type":"string","format":"date-time","title":"Start Date"},"end_date":{"type":"string","format":"date-time","title":"End Date"},"timezone":{"type":"string","title":"Timezone"},"total_credits_used":{"type":"integer","title":"Total Credits Used"},"total_transactions":{"type":"integer","title":"Total Transactions"},"average_daily_usage":{"type":"number","title":"Average Daily Usage"},"current_credit_balance":{"type":"integer","title":"Current Credit Balance"},"estimated_days_left":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Estimated Days Left"},"by_action":{"items":{"$ref":"#/components/schemas/CreditUtilizationByAction"},"type":"array","title":"By Action"},"by_platform":{"items":{"$ref":"#/components/schemas/CreditUtilizationByPlatform"},"type":"array","title":"By Platform"},"time_series":{"items":{"$ref":"#/components/schemas/CreditUtilizationPeriod"},"type":"array","title":"Time Series"},"top_reference_types":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Reference Types"}},"type":"object","required":["workspace_id","start_date","end_date","timezone","total_credits_used","total_transactions","average_daily_usage","current_credit_balance"],"title":"CreditUtilizationResponse","description":"Response schema for credit utilization data.\n\nProvides detailed breakdown of credit usage for display in dashboards."},"DailyAveragePosition":{"properties":{"date":{"type":"string","title":"Date","description":"Date in ISO format"},"average_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Position","description":"Average position for the day (null if no mentions)"},"mentions":{"type":"integer","title":"Mentions","description":"Number of mentions for the day"}},"type":"object","required":["date","mentions"],"title":"DailyAveragePosition","description":"Daily average position breakdown."},"DailyPlatformData":{"properties":{"date":{"type":"string","title":"Date","description":"Date in YYYY-MM-DD format"},"total":{"type":"integer","title":"Total","description":"Total visits for this date"},"platforms":{"additionalProperties":{"type":"integer"},"type":"object","title":"Platforms","description":"Platform breakdown {platform: count}"}},"type":"object","required":["date","total","platforms"],"title":"DailyPlatformData","description":"Platform breakdown for a specific day"},"DateRange":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in ISO format"},"end_date":{"type":"string","title":"End Date","description":"End date in ISO format"}},"type":"object","required":["start_date","end_date"],"title":"DateRange","description":"Date range for analytics queries."},"DateRangeResponse":{"properties":{"start_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"End Date"}},"type":"object","title":"DateRangeResponse"},"DeleteContentResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message","default":"Content deleted successfully"}},"type":"object","required":["success"],"title":"DeleteContentResponse","description":"Response schema for DELETE /contents/{id}."},"DeleteImageResponse":{"properties":{"deleted":{"type":"boolean","title":"Deleted"},"image_id":{"type":"string","format":"uuid","title":"Image Id"}},"type":"object","required":["deleted","image_id"],"title":"DeleteImageResponse"},"DestinationType":{"type":"string","enum":["WEBHOOK"],"title":"DestinationType","description":"Transport mechanism for export delivery."},"DeviceBreakdownRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"}},"type":"object","required":["start_date","end_date"],"title":"DeviceBreakdownRequest"},"DeviceBreakdownResponse":{"properties":{"devices":{"items":{"$ref":"#/components/schemas/app__google_analytics__schemas__DeviceItem"},"type":"array","title":"Devices"},"total_active_users":{"type":"integer","title":"Total Active Users"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["devices","total_active_users","date_range","property_id"],"title":"DeviceBreakdownResponse"},"DevicesResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"items":{"$ref":"#/components/schemas/app__search_analytics__schemas__DeviceItem"},"type":"array","title":"Data","default":[]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"DevicesResponse","description":"Response for devices endpoint."},"DisconnectIntegrationResponse":{"properties":{"message":{"type":"string","title":"Message","default":"Integration disconnected successfully"},"integration_id":{"type":"string","format":"uuid","title":"Integration Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"}},"type":"object","required":["integration_id","integration_type"],"title":"DisconnectIntegrationResponse","description":"Response after disconnecting integration"},"DomainAuditResponse":{"properties":{"domain_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Domain Rank","description":"DataForSEO domain rank (lower is better)"},"referring_domains":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referring Domains","description":"Unique referring domains"},"backlinks_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Backlinks Total","description":"Total dofollow backlinks"},"referring_ips":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referring Ips","description":"Unique referring IPs"},"spam_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spam Score","description":"Backlinks spam score (0-100, lower is better)"},"broken_backlinks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Broken Backlinks","description":"Number of broken backlinks"},"has_llms_txt":{"type":"boolean","title":"Has Llms Txt","description":"Whether llms.txt file exists","default":false},"has_robots_txt":{"type":"boolean","title":"Has Robots Txt","description":"Whether robots.txt file exists","default":false},"audit_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Audit At","description":"When the audit was performed"}},"type":"object","title":"DomainAuditResponse","description":"Response schema for Domain Audit metrics."},"DomainAuthorityMetrics":{"properties":{"domain_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Domain Rank","description":"DataForSEO domain rank (lower is better)"},"backlinks_total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Backlinks Total","description":"Total dofollow backlinks"},"referring_domains":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referring Domains","description":"Unique referring domains"},"referring_ips":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Referring Ips","description":"Unique referring IPs"},"spam_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Spam Score","description":"Backlinks spam score (0-100)"},"broken_backlinks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Broken Backlinks","description":"Number of broken backlinks"}},"type":"object","title":"DomainAuthorityMetrics","description":"Domain authority metrics from DataForSEO."},"DomainDataResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the operation was successful"},"data":{"items":{"$ref":"#/components/schemas/DomainStatistic"},"type":"array","title":"Data","description":"List of domain statistics"},"total_domains":{"type":"integer","minimum":0.0,"title":"Total Domains","description":"Total number of domains"},"page":{"type":"integer","minimum":1.0,"title":"Page","description":"Current page number"},"page_size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Page Size","description":"Number of items per page"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Error message if operation failed"}},"type":"object","required":["success","data","total_domains","page","page_size"],"title":"DomainDataResponse","description":"Response model for domain data API."},"DomainSortBy":{"type":"string","enum":["used_percentage","avg_citations","total_citations","unique_executions"],"title":"DomainSortBy","description":"Allowed sorting fields for domain data."},"DomainStatistic":{"properties":{"source":{"type":"string","title":"Source","description":"Domain name of the source cited"},"type":{"type":"string","title":"Type","description":"Domain type (CORPORATE, EDITORIAL, INSTITUTIONAL, UGC, REFERENCE, COMPETITOR, YOU, OTHER)"},"used_percentage":{"type":"number","title":"Used Percentage","description":"Percentage of responses where this domain contributed"},"avg_citations":{"type":"number","title":"Avg Citations","description":"Average number of citations when domain was used"},"total_citations":{"type":"integer","minimum":0.0,"title":"Total Citations","description":"Total number of citations for this domain"},"unique_executions":{"type":"integer","minimum":0.0,"title":"Unique Executions","description":"Number of unique executions where domain was cited"},"prompt_count":{"type":"integer","minimum":0.0,"title":"Prompt Count","description":"Number of distinct prompts citing this domain"}},"type":"object","required":["source","type","used_percentage","avg_citations","total_citations","unique_executions","prompt_count"],"title":"DomainStatistic","description":"Individual domain statistic entry."},"DraftCommentResponse":{"properties":{"draft_text":{"type":"string","title":"Draft Text"}},"type":"object","required":["draft_text"],"title":"DraftCommentResponse","description":"`POST /engagement/opportunities/{id}/draft` response.\n\nv3: the endpoint is now stateful — the generated comment is persisted on the\nopportunity (`save_draft`) and re-served on the detail endpoint. Only\n`draft_text` is returned; the generation context (`draft_metadata` — model,\ncomment count, signals) is persisted internally for debugging but NEVER\nexposed by any API response (design.md Immutable Decision)."},"DraftEmailRequest":{"properties":{"action_id":{"type":"string","format":"uuid","title":"Action Id"}},"type":"object","required":["action_id"],"title":"DraftEmailRequest","description":"Request to generate an AI email draft for a contact."},"EditUserProfile":{"properties":{"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"}},"type":"object","title":"EditUserProfile"},"EeatChecklistSchema":{"properties":{"experience_signals":{"items":{"type":"string"},"type":"array","title":"Experience Signals","default":[]},"expertise_signals":{"items":{"type":"string"},"type":"array","title":"Expertise Signals","default":[]},"authority_signals":{"items":{"type":"string"},"type":"array","title":"Authority Signals","default":[]},"trust_signals":{"items":{"type":"string"},"type":"array","title":"Trust Signals","default":[]}},"type":"object","title":"EeatChecklistSchema","description":"E-E-A-T signal checklist from the brief planner."},"EmailDraftDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"contact_id":{"type":"string","format":"uuid","title":"Contact Id"},"action_id":{"type":"string","format":"uuid","title":"Action Id"},"subject":{"type":"string","title":"Subject"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"body":{"type":"string","title":"Body"},"personalization_hook":{"type":"string","title":"Personalization Hook"},"model_id":{"type":"string","title":"Model Id"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","contact_id","action_id","subject","status","created_at","body","personalization_hook","model_id","updated_at"],"title":"EmailDraftDetail","description":"Full email draft details."},"EmailDraftItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"contact_id":{"type":"string","format":"uuid","title":"Contact Id"},"action_id":{"type":"string","format":"uuid","title":"Action Id"},"subject":{"type":"string","title":"Subject"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","contact_id","action_id","subject","status","created_at"],"title":"EmailDraftItem","description":"Email draft list item."},"EmailDraftListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/EmailDraftItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"EmailDraftListResponse","description":"Response for listing email drafts."},"EmailDraftResponse":{"properties":{"data":{"$ref":"#/components/schemas/EmailDraftDetail"}},"type":"object","required":["data"],"title":"EmailDraftResponse","description":"Response for a single email draft."},"EngagementDiscoverySource":{"type":"string","enum":["keyword_search","citation","monitoring"],"title":"EngagementDiscoverySource"},"EngagementOpportunityStatus":{"type":"string","enum":["new","todo","done","dismissed"],"title":"EngagementOpportunityStatus"},"EngagementOpportunityType":{"type":"string","enum":["thread","channel"],"title":"EngagementOpportunityType"},"EngagementPlatform":{"type":"string","enum":["reddit","youtube","quora","linkedin","medium"],"title":"EngagementPlatform"},"EnhancedKeywordListResponse":{"properties":{"keywords":{"items":{"$ref":"#/components/schemas/EnhancedKeywordResponse"},"type":"array","title":"Keywords"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["keywords","total","page","page_size"],"title":"EnhancedKeywordListResponse","description":"Paginated list of enhanced keyword responses."},"EnhancedKeywordResponse":{"properties":{"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword_id":{"type":"string","title":"Keyword Id"},"keyword_text":{"type":"string","title":"Keyword Text"},"status":{"$ref":"#/components/schemas/KeywordStatus"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"competition":{"anyOf":[{"$ref":"#/components/schemas/CompetitionLevel"},{"type":"null"}]},"competition_index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Competition Index"},"trend":{"anyOf":[{"$ref":"#/components/schemas/app__keyword__enums__TrendDirection"},{"type":"null"}]},"gsc_impressions_30d":{"type":"integer","title":"Gsc Impressions 30D","default":0},"gsc_clicks_30d":{"type":"integer","title":"Gsc Clicks 30D","default":0},"gsc_avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gsc Avg Position"},"gsc_ctr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gsc Ctr"},"gsc_match_tier":{"anyOf":[{"$ref":"#/components/schemas/MatchTier"},{"type":"null"}]},"ai_mention_count_30d":{"type":"integer","title":"Ai Mention Count 30D","default":0},"ai_avg_sentiment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Avg Sentiment"},"ai_visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Visibility Score"},"health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Health Score"},"opportunity_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Opportunity Score"},"is_quick_win":{"type":"boolean","title":"Is Quick Win","default":false},"score_breakdown":{"anyOf":[{"$ref":"#/components/schemas/KeywordScoreBreakdown"},{"type":"null"}]},"tags":{"items":{"type":"string"},"type":"array","title":"Tags","default":[]}},"type":"object","required":["workspace_keyword_id","keyword_id","keyword_text","status"],"title":"EnhancedKeywordResponse","description":"Full keyword response with scores, GSC data, and AI visibility."},"EnrichmentStats":{"properties":{"total_contacts":{"type":"integer","title":"Total Contacts"},"pending":{"type":"integer","title":"Pending"},"in_progress":{"type":"integer","title":"In Progress"},"completed":{"type":"integer","title":"Completed"},"partial":{"type":"integer","title":"Partial"},"failed":{"type":"integer","title":"Failed"},"skipped":{"type":"integer","title":"Skipped"},"with_email":{"type":"integer","title":"With Email"},"with_linkedin":{"type":"integer","title":"With Linkedin"}},"type":"object","required":["total_contacts","pending","in_progress","completed","partial","failed","skipped","with_email","with_linkedin"],"title":"EnrichmentStats","description":"Enrichment statistics for the workspace."},"EnrichmentStatsResponse":{"properties":{"data":{"$ref":"#/components/schemas/EnrichmentStats"}},"type":"object","required":["data"],"title":"EnrichmentStatsResponse","description":"Response for enrichment stats."},"EnterpriseGrantCreditsRequest":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"amount":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount","description":"Number of credits to grant"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Reason for the credit grant"},"rollover_months":{"type":"integer","minimum":0.0,"title":"Rollover Months","description":"Months until credits expire (0 = never expires)","default":3},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Custom expiration date (overrides rollover_months)"}},"type":"object","required":["workspace_id","amount"],"title":"EnterpriseGrantCreditsRequest","description":"Request to manually grant credits to an enterprise workspace."},"ErrorDetail":{"properties":{"code":{"type":"string","title":"Code"},"message":{"type":"string","title":"Message"}},"type":"object","required":["code","message"],"title":"ErrorDetail","description":"Error detail."},"ErrorResponse":{"properties":{"error":{"type":"string","title":"Error","description":"Error type"},"message":{"type":"string","title":"Message","description":"Error message"},"details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Details","description":"Additional error details"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Error timestamp"}},"type":"object","required":["error","message","timestamp"],"title":"ErrorResponse","description":"Standard error response"},"ExecutionContext":{"type":"string","enum":["PROMPT_EXECUTION","SENTIMENT_ANALYSIS","CITATION_CATEGORIZATION","CONTENT_QUALITY","AI_VISIBILITY_COMPANY","AI_VISIBILITY_COMPETITORS","AI_VISIBILITY_QUERIES","AI_VISIBILITY_CITATIONS","COMPETITOR_EXTRACTION","COMPETITOR_VALIDATION","COMPETITOR_COMPARISON","WORKSPACE_SUMMARY","FREE_TOOLS","ONBOARDING","CONTENT_ENGINE_ANALYST","CONTENT_ENGINE_WRITER","CONTENT_ENGINE_STRATEGIST","CONTENT_ENGINE_OUTLINER","CONTENT_ENGINE_SEO","CONTENT_ENGINE_COMPETITOR","CONTENT_ENGINE_BRAND_EDITOR","CONTENT_V2_STRATEGIST","CONTENT_V2_OUTLINER","CONTENT_V2_BATCH_WRITER","CONTENT_V2_SEO_OPTIMIZER","CONTENT_V2_QUALITY_SCORER","CONTENT_V2_FACT_CHECKER","CONTENT_V2_EVIDENCE_COLLECTOR","CONTENT_V2_BRAND_EDITOR","DATAFORSEO_KEYWORD","DATAFORSEO_SERP","FIRECRAWL_SCRAPE","BRAND_VAULT_CORE","BRAND_VAULT_PERSONAS","BRAND_VAULT_VOICE","BRAND_VAULT_PRODUCTS","GA_AI_SUMMARY","DOMAIN_CLASSIFICATION","CITED_PAGES_ANALYSIS","KEYWORD_EMBEDDING","CONTENT_INVENTORY_EMBEDDING","ENRICH_AUTHOR","CONTENT_V2_RESEARCH","ACTION_CENTER_DATAFORSEO","KEYWORD_VOLUME","EXA_SCRAPE","OTHER"],"title":"ExecutionContext","description":"Context/source of the AI API call."},"ExecutionDetailSchema":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"mentioned":{"type":"boolean","title":"Mentioned","description":"Whether the brand was mentioned"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Brand position in response"},"response_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Text","description":"AI response text"},"platform":{"type":"string","title":"Platform","description":"Platform where executed"},"all_mentions":{"items":{"$ref":"#/components/schemas/MentionSchema"},"type":"array","title":"All Mentions","description":"All brand and competitor mentions"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"web_search":{"type":"boolean","title":"Web Search","description":"Whether web search was used"}},"type":"object","required":["id","mentioned","platform","all_mentions","created_at","web_search"],"title":"ExecutionDetailSchema","description":"Schema for individual execution detail."},"ExecutionDetailsResponse":{"properties":{"id":{"type":"string","title":"Id"},"prompt":{"type":"string","title":"Prompt"},"brand_name":{"type":"string","title":"Brand Name"},"platform":{"type":"string","title":"Platform"},"date":{"type":"string","title":"Date"},"country":{"type":"string","title":"Country"},"visibility":{"$ref":"#/components/schemas/Visibility"},"mentions":{"items":{"$ref":"#/components/schemas/Mention"},"type":"array","title":"Mentions"},"response":{"type":"string","title":"Response"},"web_search":{"type":"boolean","title":"Web Search"},"web_search_queries":{"items":{"type":"string"},"type":"array","title":"Web Search Queries"},"themes":{"items":{"type":"string"},"type":"array","title":"Themes"},"citations":{"items":{"$ref":"#/components/schemas/Citation"},"type":"array","title":"Citations"}},"type":"object","required":["id","prompt","brand_name","platform","date","country","visibility","mentions","response","web_search","web_search_queries","themes","citations"],"title":"ExecutionDetailsResponse","description":"Schema for detailed execution response."},"ExecutionSortBy":{"type":"string","enum":["mentioned","position","web_search","created_at"],"title":"ExecutionSortBy","description":"Enum for execution sorting fields."},"ExportDestinationListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExportDestinationResponse"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["data","total"],"title":"ExportDestinationListResponse"},"ExportDestinationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"destination_type":{"$ref":"#/components/schemas/DestinationType"},"url":{"type":"string","title":"Url"},"has_secret":{"type":"boolean","title":"Has Secret","description":"Whether an HMAC secret is configured"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"event_types":{"items":{"type":"string"},"type":"array","title":"Event Types"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","name","destination_type","url","has_secret","event_types","is_enabled","created_at","updated_at"],"title":"ExportDestinationResponse"},"ExportEventLogListResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ExportEventLogResponse"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["data","total","page","limit"],"title":"ExportEventLogListResponse"},"ExportEventLogResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"destination_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Destination Id"},"event_type":{"$ref":"#/components/schemas/ExportEventType"},"resource_type":{"$ref":"#/components/schemas/ExportResourceType"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id"},"status":{"$ref":"#/components/schemas/ExportStatus"},"attempts":{"type":"integer","title":"Attempts"},"max_attempts":{"type":"integer","title":"Max Attempts"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"response_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Status Code"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed 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","workspace_id","event_type","resource_type","resource_id","status","attempts","max_attempts","created_at","updated_at"],"title":"ExportEventLogResponse"},"ExportEventType":{"type":"string","enum":["CONTENT_EXPORT"],"title":"ExportEventType","description":"Type of export event that was triggered."},"ExportFormat":{"type":"string","enum":["csv","json"],"title":"ExportFormat","description":"Export format options."},"ExportResourceType":{"type":"string","enum":["CONTENT"],"title":"ExportResourceType","description":"Type of resource being exported."},"ExportStatus":{"type":"string","enum":["PENDING","SUCCESS","FAILED"],"title":"ExportStatus","description":"Delivery status of an export event."},"ExportType":{"type":"string","enum":["queries","pages","countries","devices"],"title":"ExportType","description":"Export data type options."},"FactCheckItemSchema":{"properties":{"claim":{"type":"string","title":"Claim"},"verdict":{"type":"string","enum":["verified","flagged","corrected"],"title":"Verdict"},"evidence_match":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Evidence Match"},"reason":{"type":"string","title":"Reason"}},"type":"object","required":["claim","verdict","reason"],"title":"FactCheckItemSchema","description":"Single fact-check item from the V2 pipeline."},"FactCheckReportSchema":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FactCheckItemSchema"},"type":"array","title":"Items","default":[]}},"type":"object","title":"FactCheckReportSchema","description":"Typed schema for fact_check_report from the V2 pipeline."},"FaqItemSchema":{"properties":{"question":{"type":"string","title":"Question"},"answer_guidance":{"type":"string","title":"Answer Guidance"}},"type":"object","required":["question","answer_guidance"],"title":"FaqItemSchema","description":"FAQ question/answer guidance pair."},"FeatureSchema":{"properties":{"name":{"type":"string","title":"Name"},"benefit":{"type":"string","title":"Benefit"},"pain_solved":{"type":"string","title":"Pain Solved"},"ideal_user":{"type":"string","title":"Ideal User"}},"type":"object","required":["name","benefit","pain_solved","ideal_user"],"title":"FeatureSchema","description":"Feature for API responses."},"FilterType":{"type":"string","enum":["all","growing","decaying"],"title":"FilterType","description":"Filter type for analytics data."},"FindCompetitorsRequest":{"properties":{"company_name":{"type":"string","title":"Company Name"},"domain":{"type":"string","title":"Domain"},"description":{"type":"string","title":"Description"},"industry":{"type":"string","title":"Industry"},"country":{"type":"string","title":"Country"},"primary_offerings":{"items":{"type":"string"},"type":"array","title":"Primary Offerings"},"target_customers":{"type":"string","title":"Target Customers"},"value_proposition":{"type":"string","title":"Value Proposition"},"use_cases":{"items":{"type":"string"},"type":"array","title":"Use Cases"},"key_features":{"items":{"type":"string"},"type":"array","title":"Key Features"},"company_stage":{"type":"string","title":"Company Stage"}},"type":"object","required":["company_name","domain","description","industry","country","primary_offerings","target_customers","value_proposition","use_cases","key_features","company_stage"],"title":"FindCompetitorsRequest"},"FindCompetitorsResponse":{"properties":{"result":{"$ref":"#/components/schemas/CompetitorFinderResult"}},"type":"object","required":["result"],"title":"FindCompetitorsResponse"},"FirstTimeDiscount":{"properties":{"eligible":{"type":"boolean","title":"Eligible"},"percentage":{"type":"integer","title":"Percentage"},"promotion_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promotion Code"}},"type":"object","required":["eligible","percentage"],"title":"FirstTimeDiscount","description":"First-time subscriber discount info."},"FontSize":{"type":"string","enum":["small","medium","large","extra_large"],"title":"FontSize","description":"Relative font size for hero template overlay text."},"FontWeight":{"type":"string","enum":["light","regular","semi_bold","bold"],"title":"FontWeight","description":"Font weight for hero template overlay text."},"FunnelStage":{"type":"string","enum":["tofu","mofu","bofu"],"title":"FunnelStage"},"FunnelStageDetectionRequest":{"properties":{"keyword":{"type":"string","maxLength":500,"minLength":1,"title":"Keyword"},"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"content_summary":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Content Summary"}},"type":"object","required":["keyword"],"title":"FunnelStageDetectionRequest"},"FunnelStageDetectionResponse":{"properties":{"funnel_stage":{"$ref":"#/components/schemas/FunnelStage"},"confidence":{"type":"number","title":"Confidence"},"reasoning":{"type":"string","title":"Reasoning"}},"type":"object","required":["funnel_stage","confidence","reasoning"],"title":"FunnelStageDetectionResponse"},"GSCSearchAnalyticsRequest":{"properties":{"site_url":{"type":"string","title":"Site Url"},"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format"},"dimensions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Dimensions","description":"Dimensions: query, page, country, device, searchAppearance"},"row_limit":{"anyOf":[{"type":"integer","maximum":25000.0},{"type":"null"}],"title":"Row Limit","default":1000},"start_row":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Start Row","default":0}},"type":"object","required":["site_url","start_date","end_date"],"title":"GSCSearchAnalyticsRequest","description":"Google Search Console search analytics query"},"GSCSearchAnalyticsResponse":{"properties":{"rows":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Rows"},"total_rows":{"type":"integer","title":"Total Rows"},"response_aggregation_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Aggregation Type"}},"type":"object","required":["rows","total_rows"],"title":"GSCSearchAnalyticsResponse","description":"Google Search Console search analytics response"},"GSCSiteResponse":{"properties":{"site_url":{"type":"string","title":"Site Url"},"permission_level":{"type":"string","title":"Permission Level"}},"type":"object","required":["site_url","permission_level"],"title":"GSCSiteResponse","description":"Google Search Console site information"},"GSCSitesListResponse":{"properties":{"sites":{"items":{"$ref":"#/components/schemas/GSCSiteResponse"},"type":"array","title":"Sites"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["sites","total"],"title":"GSCSitesListResponse","description":"List of Google Search Console sites"},"GenerateAIVisibilityReportRequest":{"properties":{"email":{"type":"string","title":"Email"},"website_url":{"type":"string","title":"Website Url"}},"type":"object","required":["email","website_url"],"title":"GenerateAIVisibilityReportRequest","description":"Request for generating an AI visibility report."},"GenerateAIVisibilityReportResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"GenerateAIVisibilityReportResponse","description":"Response for generating an AI visibility report."},"GenerateComparisonRequest":{"properties":{"competitor_id":{"type":"string","format":"uuid","title":"Competitor Id","description":"Competitor ID to compare against"},"include_scraping":{"type":"boolean","title":"Include Scraping","description":"Whether to scrape fresh competitor data","default":true}},"type":"object","required":["competitor_id"],"title":"GenerateComparisonRequest","description":"Request to generate a comparison report on-demand."},"GenerateImageRequest":{"properties":{"image_type":{"$ref":"#/components/schemas/ImageType"},"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"content_text":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Content Text"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatio","default":"1200x630"}},"type":"object","required":["image_type","title"],"title":"GenerateImageRequest"},"GenerateImageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"content_id":{"type":"string","format":"uuid","title":"Content Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"cloudfront_url":{"type":"string","title":"Cloudfront Url"},"image_type":{"$ref":"#/components/schemas/ImageType"},"generator":{"$ref":"#/components/schemas/GeneratorType"},"prompt":{"type":"string","title":"Prompt"},"aspect_ratio":{"$ref":"#/components/schemas/AspectRatio"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","content_id","workspace_id","cloudfront_url","image_type","generator","prompt","aspect_ratio","position","created_at"],"title":"GenerateImageResponse"},"GenerateLLMTextGeneratorRequest":{"properties":{"email":{"type":"string","title":"Email"},"website_url":{"type":"string","title":"Website Url"},"output_type":{"type":"string","enum":["full","LL","llms_txt"],"title":"Output Type","description":"Output format: 'full' for consolidated text, 'LL' for title-url pairs, 'llms_txt' for proper llms.txt format","default":"llms_txt"}},"type":"object","required":["email","website_url"],"title":"GenerateLLMTextGeneratorRequest","description":"Request for generating LLM-ready text content."},"GenerateLLMTextGeneratorResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"GenerateLLMTextGeneratorResponse","description":"Response for generating LLM text."},"GenerateQueriesRequest":{"properties":{"company_name":{"type":"string","title":"Company Name"},"description":{"type":"string","title":"Description"},"industry":{"type":"string","title":"Industry"},"primary_offerings":{"items":{"type":"string"},"type":"array","title":"Primary Offerings"},"target_customers":{"type":"string","title":"Target Customers"},"value_proposition":{"type":"string","title":"Value Proposition"},"use_cases":{"items":{"type":"string"},"type":"array","title":"Use Cases"},"key_features":{"items":{"type":"string"},"type":"array","title":"Key Features"},"company_stage":{"type":"string","title":"Company Stage"},"language":{"type":"string","title":"Language"},"script":{"type":"string","title":"Script"}},"type":"object","required":["company_name","description","industry","primary_offerings","target_customers","value_proposition","use_cases","key_features","company_stage","language","script"],"title":"GenerateQueriesRequest"},"GenerateQueriesResponse":{"properties":{"result":{"$ref":"#/components/schemas/GenerateQueriesResult"}},"type":"object","required":["result"],"title":"GenerateQueriesResponse"},"GenerateQueriesResult":{"properties":{"queries":{"items":{"$ref":"#/components/schemas/GeneratedQueryResult"},"type":"array","title":"Queries"}},"type":"object","required":["queries"],"title":"GenerateQueriesResult"},"GenerateQueriesWithKeywordRequest":{"properties":{"company_name":{"type":"string","title":"Company Name"},"description":{"type":"string","title":"Description"},"industry":{"type":"string","title":"Industry"},"primary_offerings":{"items":{"type":"string"},"type":"array","title":"Primary Offerings"},"target_customers":{"type":"string","title":"Target Customers"},"value_proposition":{"type":"string","title":"Value Proposition"},"use_cases":{"items":{"type":"string"},"type":"array","title":"Use Cases"},"key_features":{"items":{"type":"string"},"type":"array","title":"Key Features"},"company_stage":{"type":"string","title":"Company Stage"},"language":{"type":"string","title":"Language"},"script":{"type":"string","title":"Script"},"keyword":{"type":"string","title":"Keyword"}},"type":"object","required":["company_name","description","industry","primary_offerings","target_customers","value_proposition","use_cases","key_features","company_stage","language","script","keyword"],"title":"GenerateQueriesWithKeywordRequest"},"GeneratedQueryResult":{"properties":{"query":{"type":"string","title":"Query"},"query_romanized":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query Romanized"},"intent":{"$ref":"#/components/schemas/IntentResult"}},"type":"object","required":["query","query_romanized","intent"],"title":"GeneratedQueryResult"},"GeneratorType":{"type":"string","enum":["nano_banana_2","unsplash","pexels","brand_template"],"title":"GeneratorType"},"GetAllTopicsResponse":{"properties":{"topics":{"items":{"$ref":"#/components/schemas/TopicWithCountResponse"},"type":"array","title":"Topics","description":"List of topics with counts"}},"type":"object","required":["topics"],"title":"GetAllTopicsResponse","description":"Response schema for getting all topics."},"GetStatusResponse":{"properties":{"current_step":{"$ref":"#/components/schemas/OnboardingStep"},"completed_steps":{"items":{"$ref":"#/components/schemas/OnboardingStep"},"type":"array","title":"Completed Steps"},"is_completed":{"type":"boolean","title":"Is Completed"}},"type":"object","required":["current_step","completed_steps","is_completed"],"title":"GetStatusResponse"},"GetStepResponse":{"properties":{"step_type":{"$ref":"#/components/schemas/OnboardingStep"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"},"is_completed":{"type":"boolean","title":"Is Completed"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType"}},"type":"object","required":["step_type","is_completed","workspace_type"],"title":"GetStepResponse"},"GetUserResponse":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"status":{"$ref":"#/components/schemas/UserStatus"},"auth_provider":{"$ref":"#/components/schemas/AuthProvider"},"last_login":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"workspaces":{"items":{"$ref":"#/components/schemas/app__user__schemas__WorkspaceInfo"},"type":"array","title":"Workspaces"},"show_workspace_switcher":{"type":"boolean","title":"Show Workspace Switcher"},"profile":{"anyOf":[{"$ref":"#/components/schemas/app__user__schemas__UserProfileInfo"},{"type":"null"}]}},"type":"object","required":["id","email","status","auth_provider","created_at","updated_at","workspaces","show_workspace_switcher"],"title":"GetUserResponse","description":"Complete user response with workspace information"},"GscMetrics":{"properties":{"clicks_30d":{"type":"integer","title":"Clicks 30D"},"impressions_30d":{"type":"integer","title":"Impressions 30D"},"avg_position":{"type":"number","title":"Avg Position"},"ctr":{"type":"number","title":"Ctr"},"position_trend":{"$ref":"#/components/schemas/app__content_performance__enums__TrendDirection"}},"type":"object","required":["clicks_30d","impressions_30d","avg_position","ctr","position_trend"],"title":"GscMetrics"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthCheckResponse":{"properties":{"status":{"type":"string","title":"Status","description":"Service status","default":"ok"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Check timestamp"},"version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version","description":"Service version"}},"type":"object","required":["timestamp"],"title":"HealthCheckResponse","description":"Response for health check"},"HealthState":{"type":"string","enum":["healthy","ai_first","full_decay","losing_ai","invisible"],"title":"HealthState"},"HeroTemplateUploadResponse":{"properties":{"cdn_url":{"type":"string","title":"Cdn Url"}},"type":"object","required":["cdn_url"],"title":"HeroTemplateUploadResponse","description":"Response schema for hero template upload."},"HeroTextStyleSchema":{"properties":{"font_family":{"type":"string","title":"Font Family"},"font_weight":{"$ref":"#/components/schemas/FontWeight"},"font_size":{"$ref":"#/components/schemas/FontSize"},"text_color":{"type":"string","title":"Text Color"}},"type":"object","required":["font_family","font_weight","font_size","text_color"],"title":"HeroTextStyleSchema","description":"Schema for hero template text style configuration."},"HttpMethod":{"type":"string","enum":["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS","TRACE","CONNECT"],"title":"HttpMethod","description":"HTTP request methods"},"HttpStatusCategory":{"type":"string","enum":["SUCCESS","REDIRECT","CLIENT_ERROR","SERVER_ERROR","INFORMATIONAL","UNKNOWN"],"title":"HttpStatusCategory","description":"HTTP status code categories"},"HubSpotStatusDetails":{"properties":{"hub_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Hub Id"},"hub_domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hub Domain"},"user":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User"},"user_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"},"app_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"App Id"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"token_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Type"},"reconnect_required":{"type":"boolean","title":"Reconnect Required"}},"type":"object","required":["reconnect_required"],"title":"HubSpotStatusDetails","description":"HubSpot OAuth account metadata completeness for status responses."},"ImageListResponse":{"properties":{"images":{"items":{"$ref":"#/components/schemas/GenerateImageResponse"},"type":"array","title":"Images"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["images","total"],"title":"ImageListResponse"},"ImageType":{"type":"string","enum":["hero","in_content"],"title":"ImageType"},"InitiateOAuthRequest":{"properties":{"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"redirect_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Url","description":"Optional custom redirect URL after OAuth completion"}},"type":"object","required":["integration_type"],"title":"InitiateOAuthRequest","description":"Request to initiate OAuth flow"},"IntegrationConnectedResponse":{"properties":{"integration":{"$ref":"#/components/schemas/IntegrationResponse"},"message":{"type":"string","title":"Message","default":"Integration connected successfully"},"sites":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Sites","description":"Connected GSC sites"},"properties":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Properties","description":"Connected GA properties"}},"type":"object","required":["integration"],"title":"IntegrationConnectedResponse","description":"Response after successfully connecting integration"},"IntegrationErrorResponse":{"properties":{"error":{"type":"string","title":"Error"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"integration_type":{"anyOf":[{"$ref":"#/components/schemas/IntegrationType"},{"type":"null"}]}},"type":"object","required":["error"],"title":"IntegrationErrorResponse","description":"Error response for integration operations"},"IntegrationInboundAcceptedResponse":{"properties":{"status":{"type":"string","const":"accepted","title":"Status"}},"type":"object","required":["status"],"title":"IntegrationInboundAcceptedResponse","description":"Public webhook acceptance response."},"IntegrationListResponse":{"properties":{"integrations":{"items":{"$ref":"#/components/schemas/IntegrationResponse"},"type":"array","title":"Integrations"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["integrations","total"],"title":"IntegrationListResponse","description":"List of integrations"},"IntegrationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"},"connected_properties":{"items":{"type":"string"},"type":"array","title":"Connected Properties"},"auto_sync":{"type":"boolean","title":"Auto Sync"},"synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Synced At"},"last_sync_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Error"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"is_expired":{"type":"boolean","title":"Is Expired","default":false},"is_active":{"type":"boolean","title":"Is Active","default":false},"needs_refresh":{"type":"boolean","title":"Needs Refresh","default":false},"selected_property":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Selected Property","description":"The selected property ID. For GSC: site URL. For GA: property ID."},"requires_property_selection":{"type":"boolean","title":"Requires Property Selection","description":"True if integration is pending property selection","default":false}},"type":"object","required":["id","workspace_id","integration_type","status","auto_sync","created_at","updated_at"],"title":"IntegrationResponse","description":"Integration details response"},"IntegrationStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PENDING","PENDING_SELECTION","EXPIRED","INVALID"],"title":"IntegrationStatus"},"IntegrationStatusResponse":{"properties":{"integration_id":{"type":"string","format":"uuid","title":"Integration Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"is_connected":{"type":"boolean","title":"Is Connected"},"is_expired":{"type":"boolean","title":"Is Expired"},"needs_refresh":{"type":"boolean","title":"Needs Refresh"},"last_synced":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced"},"last_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Error"},"posthog":{"anyOf":[{"$ref":"#/components/schemas/PostHogStatusDetails"},{"type":"null"}]},"contentful":{"anyOf":[{"$ref":"#/components/schemas/ContentfulStatusDetails"},{"type":"null"}]},"callrail":{"anyOf":[{"$ref":"#/components/schemas/CallRailStatusDetails"},{"type":"null"}]},"hubspot":{"anyOf":[{"$ref":"#/components/schemas/HubSpotStatusDetails"},{"type":"null"}]}},"type":"object","required":["integration_id","integration_type","status","is_connected","is_expired","needs_refresh"],"title":"IntegrationStatusResponse","description":"Integration status check response"},"IntegrationType":{"type":"string","enum":["GOOGLE_SEARCH_CONSOLE","GOOGLE_ANALYTICS","GOOGLE_LOOKER","AHREFS","POSTHOG","HUBSPOT","CALLRAIL","CONTENTFUL"],"title":"IntegrationType"},"IntentDefinitionResponse":{"properties":{"type":{"$ref":"#/components/schemas/IntentType","description":"Intent type enum value"},"label":{"type":"string","title":"Label","description":"Human-readable label"},"description":{"type":"string","title":"Description","description":"Detailed description of the intent"},"content_recommendation":{"items":{"type":"string"},"type":"array","title":"Content Recommendation","description":"Recommended content types for this intent"},"typical_keywords":{"items":{"type":"string"},"type":"array","title":"Typical Keywords","description":"Common keywords associated with this intent"},"user_stage":{"type":"string","title":"User Stage","description":"User journey stage"},"action_priority":{"type":"string","title":"Action Priority","description":"Priority level for action"}},"type":"object","required":["type","label","description","content_recommendation","typical_keywords","user_stage","action_priority"],"title":"IntentDefinitionResponse","description":"Schema for individual intent definition."},"IntentListResponse":{"properties":{"intents":{"items":{"$ref":"#/components/schemas/IntentDefinitionResponse"},"type":"array","title":"Intents","description":"List of all available intent types with their definitions"}},"type":"object","required":["intents"],"title":"IntentListResponse","description":"Response schema for list of all intent types."},"IntentResult":{"properties":{"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"}},"type":"object","required":["label","description"],"title":"IntentResult"},"IntentType":{"type":"string","enum":["RESEARCH","COMPARISON","COMMERCIAL_INVESTIGATION","IMPLEMENTATION","TROUBLESHOOTING","DEFINITION"],"title":"IntentType"},"InvitationAcceptResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Response message"},"success":{"type":"boolean","title":"Success","description":"Whether invitation was accepted successfully"},"user":{"anyOf":[{"$ref":"#/components/schemas/UserInfo"},{"type":"null"}],"description":"User information"},"workspace":{"anyOf":[{"$ref":"#/components/schemas/app__invitation__schemas__WorkspaceInfo"},{"type":"null"}],"description":"Workspace information"},"role_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Name","description":"User role in workspace"},"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token","description":"JWT access token"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token","description":"JWT refresh token"},"token_type":{"type":"string","title":"Token Type","description":"Token type","default":"bearer"}},"type":"object","required":["message","success"],"title":"InvitationAcceptResponse","description":"Response schema for accepting invitation"},"InvitationCreateResponse":{"properties":{"message":{"type":"string","title":"Message"},"invitations_sent":{"type":"integer","title":"Invitations Sent"},"failed_invitations":{"items":{"type":"string"},"type":"array","title":"Failed Invitations","default":[]}},"type":"object","required":["message","invitations_sent"],"title":"InvitationCreateResponse"},"InvitationResultItem":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"workspace_name":{"type":"string","title":"Workspace Name"},"success":{"type":"boolean","title":"Success"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["workspace_id","workspace_name","success"],"title":"InvitationResultItem","description":"Result for a single invitation."},"InvitationTokenResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"Whether the token is valid"},"message":{"type":"string","title":"Message","description":"Response message"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name","description":"Workspace name"},"workspace_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Workspace Id","description":"Workspace ID"},"role_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Name","description":"Role name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Invited email address"},"invited_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invited By","description":"Name of the person who sent the invitation"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Invitation expiration timestamp"}},"type":"object","required":["valid","message"],"title":"InvitationTokenResponse","description":"Response schema for invitation token validation"},"InviteAgencyMemberRequest":{"properties":{"email":{"type":"string","title":"Email","description":"Email of the user to invite"},"role_id":{"type":"string","title":"Role Id","description":"Role ID to assign to the user"},"workspace_ids":{"items":{"type":"string"},"type":"array","title":"Workspace Ids","description":"List of workspace IDs to invite the user to"}},"type":"object","required":["email","role_id","workspace_ids"],"title":"InviteAgencyMemberRequest","description":"Request body for inviting members to agency workspaces."},"InviteAgencyMemberResponse":{"properties":{"message":{"type":"string","title":"Message"},"invitations_sent":{"type":"integer","title":"Invitations Sent"},"failed_invitations":{"items":{"type":"string"},"type":"array","title":"Failed Invitations","default":[]},"results":{"items":{"$ref":"#/components/schemas/InvitationResultItem"},"type":"array","title":"Results","default":[]}},"type":"object","required":["message","invitations_sent"],"title":"InviteAgencyMemberResponse","description":"Response for agency member invitation."},"InviteMemberToAgencyRequest":{"properties":{"email":{"type":"string","title":"Email"},"role_id":{"type":"string","title":"Role Id"},"workspace_ids":{"items":{"type":"string"},"type":"array","title":"Workspace Ids"}},"type":"object","required":["email","role_id","workspace_ids"],"title":"InviteMemberToAgencyRequest","description":"Request schema for inviting members to agency workspaces."},"InviteTokenRequest":{"properties":{"token":{"type":"string","title":"Token","description":"Invitation token"}},"type":"object","required":["token"],"title":"InviteTokenRequest","description":"Request schema for invite token validation"},"InviteTokenResponse":{"properties":{"valid":{"type":"boolean","title":"Valid","description":"Whether token is valid"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id","description":"User ID from token"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Email from token"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id","description":"Workspace ID from token"},"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role","description":"Role in workspace"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At","description":"Token expiration"},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Additional message"}},"type":"object","required":["valid"],"title":"InviteTokenResponse","description":"Response for invite token validation"},"InvoiceLineItem":{"properties":{"id":{"type":"string","title":"Id"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"amount":{"type":"integer","title":"Amount"},"currency":{"type":"string","title":"Currency"},"quantity":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quantity"}},"type":"object","required":["id","amount","currency"],"title":"InvoiceLineItem","description":"Line item in an invoice."},"InvoiceListResponse":{"properties":{"invoices":{"items":{"$ref":"#/components/schemas/InvoiceResponse"},"type":"array","title":"Invoices"},"has_more":{"type":"boolean","title":"Has More"},"total_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Count"}},"type":"object","required":["invoices","has_more"],"title":"InvoiceListResponse","description":"Paginated list of invoices."},"InvoiceResponse":{"properties":{"id":{"type":"string","title":"Id"},"number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Number"},"status":{"type":"string","title":"Status"},"amount_due":{"type":"integer","title":"Amount Due"},"amount_paid":{"type":"integer","title":"Amount Paid"},"amount_remaining":{"type":"integer","title":"Amount Remaining"},"currency":{"type":"string","title":"Currency"},"created":{"type":"string","format":"date-time","title":"Created"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"paid_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Paid At"},"invoice_pdf":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Pdf"},"hosted_invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hosted Invoice Url"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Period End"},"subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Id"},"customer_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Customer Email"},"billing_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Reason"},"line_items":{"items":{"$ref":"#/components/schemas/InvoiceLineItem"},"type":"array","title":"Line Items"}},"type":"object","required":["id","status","amount_due","amount_paid","amount_remaining","currency","created"],"title":"InvoiceResponse","description":"Response schema for Stripe invoices."},"IssueResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"issue_type":{"type":"string","title":"Issue Type"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"priority":{"type":"string","title":"Priority"},"steps_to_fix":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Steps To Fix"},"metric_key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Metric Key"},"metric_value":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Metric Value"},"meta":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Meta"},"is_fixed":{"type":"boolean","title":"Is Fixed","default":false},"fixed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Fixed At"},"marked_fixed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Marked Fixed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","issue_type","title","description","priority","created_at"],"title":"IssueResponse","description":"Response schema for page issues."},"KeywordBriefListResponse":{"properties":{"briefs":{"items":{"$ref":"#/components/schemas/KeywordBriefResponse"},"type":"array","title":"Briefs"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["briefs","total"],"title":"KeywordBriefListResponse","description":"Response for listing keyword briefs."},"KeywordBriefResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"brief_content":{"additionalProperties":true,"type":"object","title":"Brief Content"},"context_snapshot":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Context Snapshot"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"}},"type":"object","required":["id","workspace_keyword_id","brief_content","generated_at"],"title":"KeywordBriefResponse","description":"Response for a single keyword optimization brief."},"KeywordIntelligenceMetrics":{"properties":{"total_tracked_keywords":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Tracked Keywords","description":"Total tracked keywords in workspace"},"avg_health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Health Score","description":"Average health score across active keywords (0-100)"},"avg_opportunity_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Opportunity Score","description":"Average opportunity score across active keywords (0-100)"},"quick_wins_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Quick Wins Count","description":"Number of quick-win keywords"},"avg_ai_visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Ai Visibility Score","description":"Average AI visibility score across keywords (0-100)"},"gsc_avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gsc Avg Position","description":"Average GSC position across tracked keywords"},"gsc_total_impressions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Total Impressions","description":"Total GSC impressions across tracked keywords"},"gsc_total_clicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Total Clicks","description":"Total GSC clicks across tracked keywords"},"keyword_gap_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Keyword Gap Count","description":"Keywords where competitor outperforms brand"},"keyword_overlap_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Keyword Overlap Count","description":"Keywords where both brand and competitor appear"},"top_gap_keywords":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Top Gap Keywords","description":"Top keywords where competitor dominates"}},"type":"object","title":"KeywordIntelligenceMetrics","description":"Keyword intelligence metrics from the keyword module."},"KeywordListItemResponse":{"properties":{"keyword_id":{"type":"string","title":"Keyword Id"},"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword_text":{"type":"string","title":"Keyword Text"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"trend":{"anyOf":[{"$ref":"#/components/schemas/app__keyword__enums__TrendDirection"},{"type":"null"}]},"monthly_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Monthly Data","description":"Monthly search volume data"}},"type":"object","required":["keyword_id","workspace_keyword_id","keyword_text"],"title":"KeywordListItemResponse","description":"Schema for individual keyword in list response."},"KeywordListResponse":{"properties":{"keywords":{"items":{"$ref":"#/components/schemas/KeywordListItemResponse"},"type":"array","title":"Keywords","description":"List of keywords for the workspace"}},"type":"object","required":["keywords"],"title":"KeywordListResponse","description":"Schema for keywords list API response."},"KeywordResponseData":{"properties":{"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword":{"type":"string","title":"Keyword"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"trend":{"anyOf":[{"$ref":"#/components/schemas/app__keyword__enums__TrendDirection"},{"type":"null"}]}},"type":"object","required":["workspace_keyword_id","keyword"],"title":"KeywordResponseData","description":"Keyword data for prompt response."},"KeywordScoreBreakdown":{"properties":{"volume_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Volume Score"},"gsc_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gsc Score"},"ai_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Score"},"trend_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Trend Score"}},"type":"object","title":"KeywordScoreBreakdown","description":"Breakdown of individual score components."},"KeywordSortBy":{"type":"string","enum":["health_score","opportunity_score","search_volume","gsc_impressions","gsc_clicks","gsc_position","ai_visibility","created_at"],"title":"KeywordSortBy"},"KeywordStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PAUSED","ARCHIVED"],"title":"KeywordStatus"},"KeywordWithPromptsDetailResponse":{"properties":{"keyword_id":{"type":"string","title":"Keyword Id"},"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"keyword_text":{"type":"string","title":"Keyword Text"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"trend":{"anyOf":[{"$ref":"#/components/schemas/app__keyword__enums__TrendDirection"},{"type":"null"}]},"monthly_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Monthly Data","description":"Monthly search volume data"},"prompts":{"items":{"$ref":"#/components/schemas/PromptAnalyticsItem"},"type":"array","title":"Prompts","description":"List of prompts with analytics"},"total_prompts":{"type":"integer","title":"Total Prompts","description":"Total number of prompts","default":0}},"type":"object","required":["keyword_id","workspace_keyword_id","keyword_text"],"title":"KeywordWithPromptsDetailResponse","description":"Response schema for keyword with prompts detail API."},"LLMTextGenerationStats":{"properties":{"total_generated":{"type":"integer","title":"Total Generated","description":"Total number of LLM texts generated"},"ai_enhanced_this_week":{"type":"integer","title":"Ai Enhanced This Week","description":"AI-enhanced generations this week"},"ai_enhanced_remaining":{"type":"integer","title":"Ai Enhanced Remaining","description":"Remaining AI-enhanced generations this week"},"basic_generated":{"type":"integer","title":"Basic Generated","description":"Basic (non-AI-enhanced) generations"}},"type":"object","required":["total_generated","ai_enhanced_this_week","ai_enhanced_remaining","basic_generated"],"title":"LLMTextGenerationStats","description":"Schema for user's LLM text generation statistics."},"LLMTextGeneratorResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"llm_txt_type":{"$ref":"#/components/schemas/LLMTextType"},"ai_enhanced":{"type":"boolean","title":"Ai Enhanced"},"website_url":{"type":"string","title":"Website Url"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content","description":"Generated content (null if still processing)"},"status":{"$ref":"#/components/schemas/LLMTextStatus"},"error_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Message","description":"Error message if generation failed"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","user_id","workspace_id","llm_txt_type","ai_enhanced","website_url","status","created_at","updated_at"],"title":"LLMTextGeneratorResponse","description":"Schema for LLM text generation response."},"LLMTextStatus":{"type":"string","enum":["PENDING","PROCESSING","COMPLETED","FAILED"],"title":"LLMTextStatus"},"LLMTextType":{"type":"string","enum":["LLM_TXT","LLM_TXT_FULL"],"title":"LLMTextType"},"LandscapeChartEntry":{"properties":{"id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Id","description":"Competitor ID (None for brand)"},"name":{"type":"string","title":"Name"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"visibility_score":{"type":"number","title":"Visibility Score","description":"Raw visibility: mentions / total executions (percentage). Show in tooltip."},"avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Position","description":"Average ranking position when mentioned (1=best). Lower is better. Show in tooltip."},"sentiment_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment Score","description":"Average sentiment (0=negative, 50=neutral, 100=positive). Show in tooltip."},"share_of_voice":{"type":"number","title":"Share Of Voice","description":"Raw SoV: entity mentions / all entity mentions (percentage). Show in tooltip."},"mention_count":{"type":"integer","title":"Mention Count","description":"Total mentions in the period. Use for bubble size."},"is_brand":{"type":"boolean","title":"Is Brand","default":false},"chart_x":{"type":"number","title":"Chart X","description":"Normalized X position (0-100). Percentile rank of visibility within the competitive set."},"chart_y":{"type":"number","title":"Chart Y","description":"Normalized Y position (0-100). Inverted percentile rank of avg_position (higher = mentioned earlier/better)."}},"type":"object","required":["name","visibility_score","share_of_voice","mention_count","chart_x","chart_y"],"title":"LandscapeChartEntry","description":"Single entity (brand or competitor) positioned on the landscape chart."},"LandscapeChartResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/LandscapeChartEntry"},"type":"array","title":"Entries"},"total_executions":{"type":"integer","title":"Total Executions"},"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"quadrants":{"additionalProperties":{"type":"string"},"type":"object","title":"Quadrants"},"quadrant_thresholds":{"$ref":"#/components/schemas/QuadrantThresholds","description":"Divider positions for drawing quadrant lines. X is percentile-based, Y is fixed at neutral (50)."}},"type":"object","required":["entries","total_executions","period_start","period_end","quadrant_thresholds"],"title":"LandscapeChartResponse","description":"Response for the competitive landscape chart."},"LinkSuggestion":{"properties":{"anchor_text":{"type":"string","title":"Anchor Text"},"target_url":{"type":"string","title":"Target Url"},"target_title":{"type":"string","title":"Target Title"},"position_in_text":{"type":"integer","title":"Position In Text","description":"Paragraph index where anchor appears"},"link_type":{"$ref":"#/components/schemas/LinkType"},"reasoning":{"type":"string","title":"Reasoning"},"confidence":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Confidence"}},"type":"object","required":["anchor_text","target_url","target_title","position_in_text","link_type","reasoning","confidence"],"title":"LinkSuggestion","description":"A single internal link suggestion with reasoning."},"LinkSuggestionsResponse":{"properties":{"suggestions":{"items":{"$ref":"#/components/schemas/LinkSuggestion"},"type":"array","title":"Suggestions"},"article_url":{"type":"string","title":"Article Url"},"total_suggestions":{"type":"integer","title":"Total Suggestions"}},"type":"object","required":["suggestions","article_url","total_suggestions"],"title":"LinkSuggestionsResponse","description":"Response containing all link suggestions for an article."},"LinkType":{"type":"string","enum":["SEMANTIC","FUNNEL","AUTHORITY"],"title":"LinkType"},"LogDrainIntegrationRequest":{"properties":{"provider":{"$ref":"#/components/schemas/LogProvider"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"}},"type":"object","required":["provider"],"title":"LogDrainIntegrationRequest"},"LogDrainIntegrationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"provider":{"$ref":"#/components/schemas/LogProvider"},"auth_key":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Auth Key"},"validation_status":{"$ref":"#/components/schemas/LogValidationStatus"},"website_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Website Url"},"config":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Config"},"api_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Api Url"}},"type":"object","required":["id","provider","validation_status"],"title":"LogDrainIntegrationResponse"},"LogProvider":{"type":"string","enum":["VERCEL","CLOUDFLARE","SHOPIFY","WORDPRESS","CUSTOM_INTEGRATION"],"title":"LogProvider","description":"Supported log drain providers"},"LogValidationStatus":{"type":"string","enum":["VALID","INVALID","PENDING","FAILED","SKIPPED"],"title":"LogValidationStatus","description":"Validation status for log drain integrations"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"User email address"},"is_third_party_login":{"type":"boolean","title":"Is Third Party Login","description":"Whether this is a social login","default":false},"auth_provider":{"anyOf":[{"$ref":"#/components/schemas/AuthProvider"},{"type":"null"}],"description":"Authentication provider"},"auth_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Auth Token","description":"Third-party authentication token"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"User's full name from social provider"},"profile_picture":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Profile Picture","description":"Profile picture URL from social provider"}},"type":"object","required":["email"],"title":"LoginRequest","description":"Request schema for login/signup endpoint"},"LoginResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Response message","default":"OTP sent successfully"},"user":{"$ref":"#/components/schemas/app__auth__response_schema__UserResponse"},"otp_expires_in":{"type":"integer","title":"Otp Expires In","description":"OTP expiration time in minutes"},"requires_otp":{"type":"boolean","title":"Requires Otp","description":"Whether OTP validation is required","default":true}},"type":"object","required":["user","otp_expires_in"],"title":"LoginResponse","description":"Response for successful login (OTP needed)"},"LogoutRequest":{"properties":{"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token","description":"Session token to invalidate"},"logout_all_sessions":{"type":"boolean","title":"Logout All Sessions","description":"Whether to logout from all sessions","default":false}},"type":"object","title":"LogoutRequest","description":"Request schema for logout"},"LogoutResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Logout confirmation","default":"Logged out successfully"},"sessions_invalidated":{"type":"integer","title":"Sessions Invalidated","description":"Number of sessions invalidated","default":0}},"type":"object","title":"LogoutResponse","description":"Response for logout"},"MarkReadResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"notification_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notification Id"},"marked_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Marked Count"}},"type":"object","required":["success"],"title":"MarkReadResponse","description":"Response schema for mark as read operations."},"MatchTier":{"type":"string","enum":["exact","normalized","containment","none"],"title":"MatchTier"},"Mention":{"properties":{"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"}},"type":"object","required":["name","domain"],"title":"Mention","description":"Schema for brand/competitor mentions."},"MentionSchema":{"properties":{"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"type":{"type":"string","enum":["brand","competitor"],"title":"Type"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Position in the response where mentioned"}},"type":"object","required":["name","domain","type"],"title":"MentionSchema","description":"Schema for individual mention (brand or competitor)."},"MetadataQuality":{"properties":{"has_lastmod":{"type":"boolean","title":"Has Lastmod"},"has_priority":{"type":"boolean","title":"Has Priority"},"has_changefreq":{"type":"boolean","title":"Has Changefreq"},"lastmod_fresh_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lastmod Fresh Count"},"lastmod_stale_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lastmod Stale Count"},"lastmod_missing_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Lastmod Missing Count"},"lastmod_stale_percentage":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lastmod Stale Percentage"},"priority_distribution":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Priority Distribution"},"invalid_priority_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invalid Priority Count"},"changefreq_distribution":{"anyOf":[{"additionalProperties":{"type":"integer"},"type":"object"},{"type":"null"}],"title":"Changefreq Distribution"},"invalid_changefreq_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Invalid Changefreq Count"}},"type":"object","required":["has_lastmod","has_priority","has_changefreq"],"title":"MetadataQuality"},"MetadataResponse":{"properties":{"meta_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Title"},"meta_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meta Description"},"h1":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"H1"},"word_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Word Count"},"token_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Token Count"},"reading_time_seconds":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Reading Time Seconds"},"language_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language Code"},"heading_h2_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Heading H2 Count"},"heading_h3_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Heading H3 Count"},"has_faq_section":{"type":"boolean","title":"Has Faq Section","default":false},"has_lists":{"type":"boolean","title":"Has Lists","default":false},"has_tables":{"type":"boolean","title":"Has Tables","default":false},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"}},"type":"object","title":"MetadataResponse","description":"Page metadata response."},"MonitorAnalytics":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id"},"total_results":{"type":"integer","title":"Total Results"},"latest_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Latest Score"},"score_trend":{"items":{"type":"integer"},"type":"array","title":"Score Trend"},"average_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Score"},"best_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Best Score"},"worst_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Worst Score"}},"type":"object","required":["monitor_id","total_results","latest_score","score_trend","average_score","best_score","worst_score"],"title":"MonitorAnalytics","description":"Analytics data for a specific monitor."},"MonitorListResponse":{"properties":{"monitors":{"items":{"$ref":"#/components/schemas/AISeoMonitorResponse"},"type":"array","title":"Monitors"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["monitors","total_count","page","page_size","has_next","has_prev"],"title":"MonitorListResponse","description":"Paginated response for monitor list."},"MonitoringConfigRequest":{"properties":{"frequency":{"$ref":"#/components/schemas/MonitoringFrequency","description":"How often to run AI monitoring"},"day_of_week":{"anyOf":[{"type":"integer","maximum":6.0,"minimum":0.0},{"type":"null"}],"title":"Day Of Week","description":"Day of week for weekly frequency (0=Monday, 6=Sunday)"},"day_of_month":{"anyOf":[{"type":"integer","maximum":28.0,"minimum":1.0},{"type":"null"}],"title":"Day Of Month","description":"Day of month for monthly frequency (1-28)"},"auto_generate":{"type":"boolean","title":"Auto Generate","description":"Automatically run prompts when new prompts are added","default":true},"models":{"anyOf":[{"items":{"$ref":"#/components/schemas/PlatformConfigUpdate"},"type":"array"},{"type":"null"}],"title":"Models","description":"Platform/model configuration updates"}},"type":"object","required":["frequency"],"title":"MonitoringConfigRequest","description":"Request schema for updating AI monitoring configuration."},"MonitoringConfigResponse":{"properties":{"frequency":{"$ref":"#/components/schemas/MonitoringFrequency","description":"Monitoring frequency"},"day_of_week":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Of Week","description":"Day of week for weekly (0=Monday, 6=Sunday)"},"day_of_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Day Of Month","description":"Day of month for monthly (1-28)"},"auto_generate":{"type":"boolean","title":"Auto Generate","description":"Auto-generate on new prompts"},"models":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Models","description":"Platform configurations"},"last_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Run At","description":"Last execution timestamp"},"next_run_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Run At","description":"Next scheduled execution"},"first_analysis":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Analysis","description":"When first analysis will run ('Now' or datetime)"},"next_update":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Update","description":"Human-readable next update time"},"total_credits_per_run":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Credits Per Run","description":"Total credits consumed per scheduled run"}},"type":"object","required":["frequency","auto_generate","models"],"title":"MonitoringConfigResponse","description":"Response schema for AI monitoring configuration."},"MonitoringFrequency":{"type":"string","enum":["none","daily","weekly","monthly"],"title":"MonitoringFrequency","description":"Frequency for AI monitoring prompt execution."},"NewRankingItem":{"properties":{"label":{"type":"string","title":"Label"},"full_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Url"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"},"first_seen_date":{"type":"string","title":"First Seen Date"}},"type":"object","required":["label","first_seen_date"],"title":"NewRankingItem","description":"Single new ranking item."},"NewRankingType":{"type":"string","enum":["queries","pages"],"title":"NewRankingType","description":"New ranking type options."},"NewRankingsData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NewRankingItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"NewRankingsData","description":"Data for new rankings endpoint."},"NewRankingsResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/NewRankingsData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"NewRankingsResponse","description":"Response for new rankings endpoint."},"NotificationCategory":{"type":"string","enum":["SYSTEM","ACTION_REQUIRED","UPDATE","ALERT","SUCCESS"],"title":"NotificationCategory","description":"Category of in-app notifications for UI display."},"NotificationListResponse":{"properties":{"notifications":{"items":{"$ref":"#/components/schemas/NotificationResponse"},"type":"array","title":"Notifications"},"unread_count":{"type":"integer","title":"Unread Count"},"total_count":{"type":"integer","title":"Total Count"},"has_more":{"type":"boolean","title":"Has More"}},"type":"object","required":["notifications","unread_count","total_count","has_more"],"title":"NotificationListResponse","description":"Response schema for notification list with pagination."},"NotificationPreferences":{"properties":{"email_notifications":{"type":"boolean","title":"Email Notifications","default":true},"weekly_digest":{"type":"boolean","title":"Weekly Digest","default":true},"browser_notifications":{"type":"boolean","title":"Browser Notifications","default":false}},"type":"object","title":"NotificationPreferences","description":"Per-member notification toggles stored on workspace_members.notification_preferences."},"NotificationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"category":{"$ref":"#/components/schemas/NotificationCategory"},"channel":{"$ref":"#/components/schemas/NotificationType"},"is_read":{"type":"boolean","title":"Is Read"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Read At"},"action_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","title","body","category","channel","is_read","created_at"],"title":"NotificationResponse","description":"Response schema for a single notification."},"NotificationType":{"type":"string","enum":["RICH_EMAIL","EMAIL","SMS","IN_APP","WHATSAPP","PUSH"],"title":"NotificationType","description":"Types of notification channels."},"OAuthUrlResponse":{"properties":{"authorization_url":{"type":"string","title":"Authorization Url","description":"URL to redirect user for OAuth"},"state":{"type":"string","title":"State","description":"OAuth state for verification"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"}},"type":"object","required":["authorization_url","state","integration_type"],"title":"OAuthUrlResponse","description":"OAuth authorization URL response"},"OnboardingStep":{"type":"string","enum":["USER_PROFILE","TYPE","WORKSPACE_SETUP","PROMPT","AI_MONITORING","RESULT","PLAN"],"title":"OnboardingStep","description":"Onboarding steps in order of completion.\nUsed to determine current step and validate progression."},"OnboardingTaskResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"credits":{"type":"integer","title":"Credits"},"sort_order":{"type":"integer","title":"Sort Order"},"is_completed":{"type":"boolean","title":"Is Completed"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["task_id","title","description","credits","sort_order","is_completed","completed_at"],"title":"OnboardingTaskResponse"},"OpportunityListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/OpportunityResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"},"limit":{"type":"integer","title":"Limit"},"offset":{"type":"integer","title":"Offset"}},"type":"object","required":["items","total","limit","offset"],"title":"OpportunityListResponse","description":"Paginated list response. `total` is the unfiltered-by-pagination\ncount for the same workspace + filter set, so the frontend can render\naccurate page counts without a separate count call."},"OpportunityResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"platform":{"$ref":"#/components/schemas/EngagementPlatform"},"status":{"$ref":"#/components/schemas/EngagementOpportunityStatus"},"discovery_source":{"$ref":"#/components/schemas/EngagementDiscoverySource"},"content_url":{"type":"string","title":"Content Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"channel_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel Name"},"discovery_keyword":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Discovery Keyword"},"brand_mentioned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Brand Mentioned"},"has_competitor_mention":{"type":"boolean","title":"Has Competitor Mention","default":false},"platform_metadata":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Platform Metadata"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"draft_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Draft Text"},"draft_generated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Draft Generated At"}},"type":"object","required":["id","platform","status","discovery_source","content_url","title","channel_name","discovery_keyword","brand_mentioned","platform_metadata","created_at"],"title":"OpportunityResponse","description":"v3 hygiene: internal fields dropped (`workspace_id`, `opportunity_type`,\n`updated_at`), raw competitor UUIDs replaced by a computed\n`has_competitor_mention` boolean, and the persisted draft exposed\n**detail-only** (`draft_text`/`draft_generated_at` are nulled in the list\nresponse by the service — they are not auto-derivable from `model_validate`).\n`has_competitor_mention` is likewise set by the service from the row's\n`matched_competitor_ids`; the default here is the safe `False` fallback."},"OutreachContactDetail":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"source_domain":{"type":"string","title":"Source Domain"},"source_type":{"type":"string","title":"Source Type"},"source_url":{"type":"string","title":"Source Url"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"twitter_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twitter Handle"},"current_company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Company"},"current_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Title"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"enrichment_status":{"type":"string","title":"Enrichment Status"},"outreach_status":{"type":"string","title":"Outreach Status","default":"not_contacted"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"author_role_scraped":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Role Scraped"},"author_linkedin_scraped":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Linkedin Scraped"},"author_twitter_scraped":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Twitter Scraped"},"apollo_person_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Apollo Person Id"},"phone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phone"},"enrichment_started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Enrichment Started At"},"enrichment_completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Enrichment Completed At"},"failure_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Failure Reason"},"email_sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Email Sent At"},"replied_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Replied At"},"converted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Converted At"},"rejected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Rejected At"},"outreach_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Outreach Notes"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","source_domain","source_type","source_url","enrichment_status","created_at","workspace_id","updated_at"],"title":"OutreachContactDetail","description":"Full outreach contact details."},"OutreachContactItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"source_domain":{"type":"string","title":"Source Domain"},"source_type":{"type":"string","title":"Source Type"},"source_url":{"type":"string","title":"Source Url"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"linkedin_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linkedin Url"},"twitter_handle":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Twitter Handle"},"current_company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Company"},"current_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Title"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"enrichment_status":{"type":"string","title":"Enrichment Status"},"outreach_status":{"type":"string","title":"Outreach Status","default":"not_contacted"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","source_domain","source_type","source_url","enrichment_status","created_at"],"title":"OutreachContactItem","description":"Outreach contact list item."},"OutreachContactListResponse":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/OutreachContactItem"},"type":"array","title":"Items"}},"type":"object","required":["total","items"],"title":"OutreachContactListResponse","description":"Response for listing outreach contacts."},"OutreachContactResponse":{"properties":{"data":{"$ref":"#/components/schemas/OutreachContactDetail"}},"type":"object","required":["data"],"title":"OutreachContactResponse","description":"Response for single outreach contact."},"OutreachStatus":{"type":"string","enum":["not_contacted","email_sent","replied","converted","rejected"],"title":"OutreachStatus"},"OverviewChartDataResponse":{"properties":{"date_range":{"$ref":"#/components/schemas/DateRangeResponse","description":"Applied date range"},"chart_data":{"$ref":"#/components/schemas/ChartDataResponse","description":"Daily chart data with platform breakdown"}},"type":"object","required":["date_range","chart_data"],"title":"OverviewChartDataResponse","description":"Response schema for overview chart data"},"OverviewData":{"properties":{"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"},"position":{"type":"number","title":"Position","default":0.0},"position_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Position Change"},"branded_percentage":{"type":"number","title":"Branded Percentage","default":0.0},"branded_percentage_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Branded Percentage Change"}},"type":"object","title":"OverviewData","description":"Overview statistics data."},"OverviewResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/OverviewData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"OverviewResponse","description":"Response for overview endpoint."},"OverviewSummaryResponse":{"properties":{"total_top_pages":{"type":"integer","title":"Total Top Pages","description":"Number of top pages returned"},"total_platforms":{"type":"integer","title":"Total Platforms","description":"Number of platforms returned"},"total_referral_sources":{"type":"integer","title":"Total Referral Sources","description":"Number of referral sources returned"},"total_bot_types":{"type":"integer","title":"Total Bot Types","description":"Number of bot types returned"}},"type":"object","required":["total_top_pages","total_platforms","total_referral_sources","total_bot_types"],"title":"OverviewSummaryResponse"},"PageAuditDetailResponse":{"properties":{"audit_id":{"type":"string","format":"uuid","title":"Audit Id"},"sitemap_page_id":{"type":"string","format":"uuid","title":"Sitemap Page Id"},"page_url":{"type":"string","title":"Page Url"},"page_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Page Title","description":"Page title from sitemap"},"audit_at":{"type":"string","format":"date-time","title":"Audit At"},"is_user_triggered":{"type":"boolean","title":"Is User Triggered"},"web_vitals":{"anyOf":[{"$ref":"#/components/schemas/WebVitalsResponse"},{"type":"null"}]},"technical":{"anyOf":[{"$ref":"#/components/schemas/TechnicalMetricsResponse"},{"type":"null"}]},"metadata":{"anyOf":[{"$ref":"#/components/schemas/MetadataResponse"},{"type":"null"}]},"content":{"anyOf":[{"$ref":"#/components/schemas/ContentMetricsResponse"},{"type":"null"}]},"structured_data":{"anyOf":[{"$ref":"#/components/schemas/SchemaMetricsResponse"},{"type":"null"}]},"ai_readiness":{"anyOf":[{"$ref":"#/components/schemas/AIReadinessResponse"},{"type":"null"}]},"health_score":{"anyOf":[{"$ref":"#/components/schemas/PageHealthScoreResponse"},{"type":"null"}],"description":"Full health score breakdown"},"issues_count":{"type":"integer","title":"Issues Count","default":0},"critical_issues_count":{"type":"integer","title":"Critical Issues Count","default":0},"high_issues_count":{"type":"integer","title":"High Issues Count","default":0},"medium_issues_count":{"type":"integer","title":"Medium Issues Count","default":0},"low_issues_count":{"type":"integer","title":"Low Issues Count","default":0},"issues":{"items":{"$ref":"#/components/schemas/IssueResponse"},"type":"array","title":"Issues","description":"All detected issues"}},"type":"object","required":["audit_id","sitemap_page_id","page_url","audit_at","is_user_triggered"],"title":"PageAuditDetailResponse","description":"Comprehensive audit details response with all metrics and health score."},"PageHealthScoreResponse":{"properties":{"total_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Total Score","description":"Overall health score"},"grade":{"type":"string","title":"Grade","description":"Overall grade (A/B/C/D/F)"},"technical_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Technical Score","description":"Technical health score"},"technical_grade":{"type":"string","title":"Technical Grade","description":"Technical grade"},"web_vitals_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Web Vitals Score","description":"Web vitals score"},"web_vitals_grade":{"type":"string","title":"Web Vitals Grade","description":"Web vitals grade"},"content_quality_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Content Quality Score","description":"Content quality score"},"content_quality_grade":{"type":"string","title":"Content Quality Grade","description":"Content quality grade"},"ai_crawlability_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Ai Crawlability Score","description":"AI crawlability score"},"ai_crawlability_grade":{"type":"string","title":"Ai Crawlability Grade","description":"AI crawlability grade"},"schema_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Schema Score","description":"Schema/structured data score"},"schema_grade":{"type":"string","title":"Schema Grade","description":"Schema grade"},"completeness":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Completeness","description":"Data completeness (0-1)"},"is_reliable":{"type":"boolean","title":"Is Reliable","description":"Whether score is reliable based on available data"},"missing_metrics":{"items":{"type":"string"},"type":"array","title":"Missing Metrics","description":"List of missing metrics"},"top_issues":{"items":{"type":"string"},"type":"array","title":"Top Issues","description":"Top issues affecting score"},"top_strengths":{"items":{"type":"string"},"type":"array","title":"Top Strengths","description":"Top strengths of the page"}},"type":"object","required":["total_score","grade","technical_score","technical_grade","web_vitals_score","web_vitals_grade","content_quality_score","content_quality_grade","ai_crawlability_score","ai_crawlability_grade","schema_score","schema_grade","completeness","is_reliable"],"title":"PageHealthScoreResponse","description":"Full health score breakdown for a page."},"PageScreenItem":{"properties":{"page_path":{"type":"string","title":"Page Path"},"page_title":{"type":"string","title":"Page Title"},"views":{"type":"integer","title":"Views"},"users":{"type":"integer","title":"Users"},"avg_engagement_time":{"type":"number","title":"Avg Engagement Time"},"bounce_rate":{"type":"number","title":"Bounce Rate"},"sessions":{"type":"integer","title":"Sessions"},"new_users":{"type":"integer","title":"New Users"}},"type":"object","required":["page_path","page_title","views","users","avg_engagement_time","bounce_rate","sessions","new_users"],"title":"PageScreenItem"},"PagesAndScreensRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"limit":{"type":"integer","maximum":500.0,"title":"Limit","description":"Maximum number of pages","default":20},"order_by":{"type":"string","title":"Order By","description":"Metric to order by: screenPageViews | totalUsers | bounceRate","default":"screenPageViews"},"order_desc":{"type":"boolean","title":"Order Desc","description":"Descending order","default":true}},"type":"object","required":["start_date","end_date"],"title":"PagesAndScreensRequest"},"PagesAndScreensResponse":{"properties":{"pages":{"items":{"$ref":"#/components/schemas/PageScreenItem"},"type":"array","title":"Pages"},"total_pages":{"type":"integer","title":"Total Pages"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["pages","total_pages","date_range","property_id"],"title":"PagesAndScreensResponse"},"PaginatedResponse_AIPathMetricsResponse_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/AIPathMetricsResponse"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["data","total","page","page_size","total_pages"],"title":"PaginatedResponse[AIPathMetricsResponse]"},"PaginatedResponse_ProcessedLogResponse_":{"properties":{"data":{"items":{"$ref":"#/components/schemas/ProcessedLogResponse"},"type":"array","title":"Data"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["data","total","page","page_size","total_pages"],"title":"PaginatedResponse[ProcessedLogResponse]"},"PaginatedSitemapPageResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SitemapPageWithScoreResponse"},"type":"array","title":"Data"},"pagination":{"additionalProperties":true,"type":"object","title":"Pagination"}},"type":"object","required":["data","pagination"],"title":"PaginatedSitemapPageResponse","description":"Paginated response for sitemap pages with scores."},"PaginatedSitemapResponse":{"properties":{"data":{"items":{"$ref":"#/components/schemas/SitemapWithDomainAuditResponse"},"type":"array","title":"Data"},"pagination":{"additionalProperties":true,"type":"object","title":"Pagination"}},"type":"object","required":["data","pagination"],"title":"PaginatedSitemapResponse","description":"Paginated response for sitemaps with domain audit data."},"PaginationInfo":{"properties":{"current_page":{"type":"integer","title":"Current Page"},"page_size":{"type":"integer","title":"Page Size"},"total_count":{"type":"integer","title":"Total Count"},"total_pages":{"type":"integer","title":"Total Pages"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["current_page","page_size","total_count","total_pages","has_next","has_prev"],"title":"PaginationInfo","description":"Pagination information for list responses."},"PathDetailsResponse":{"properties":{"path":{"type":"string","title":"Path","description":"The analyzed path"},"date_range":{"$ref":"#/components/schemas/DateRangeResponse","description":"Applied date range filter"},"metrics":{"$ref":"#/components/schemas/PathMetricsResponse","description":"AI metrics for the path"},"platform_breakdown":{"items":{"$ref":"#/components/schemas/PlatformBreakdownResponse"},"type":"array","title":"Platform Breakdown","description":"Platform-wise breakdown of interactions"},"recent_visits":{"items":{"$ref":"#/components/schemas/RecentVisitResponse"},"type":"array","title":"Recent Visits","description":"Most recent 10 visits to this path"}},"type":"object","required":["path","date_range","metrics","platform_breakdown","recent_visits"],"title":"PathDetailsResponse","description":"Complete response schema for path details"},"PathMetricsResponse":{"properties":{"ai_citations":{"type":"integer","title":"Ai Citations","description":"Number of AI citations"},"ai_training":{"type":"integer","title":"Ai Training","description":"Number of AI training requests"},"ai_indexing":{"type":"integer","title":"Ai Indexing","description":"Number of AI indexing requests"},"ai_bot_visits":{"type":"integer","title":"Ai Bot Visits","description":"Total AI bot visits"},"total_visits":{"type":"integer","title":"Total Visits","description":"Total visits for this path"}},"type":"object","required":["ai_citations","ai_training","ai_indexing","ai_bot_visits","total_visits"],"title":"PathMetricsResponse","description":"AI metrics for a specific path"},"PendingInvitationResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Invitation ID"},"invitation_token":{"type":"string","title":"Invitation Token","description":"Token to accept the invitation"},"workspace":{"$ref":"#/components/schemas/PendingInvitationWorkspaceResponse","description":"Workspace details"},"role_name":{"type":"string","title":"Role Name","description":"Role the user will be assigned"},"invited_at":{"type":"string","format":"date-time","title":"Invited At","description":"When the invitation was sent"},"expires_at":{"type":"string","format":"date-time","title":"Expires At","description":"When the invitation expires"}},"type":"object","required":["id","invitation_token","workspace","role_name","invited_at","expires_at"],"title":"PendingInvitationResponse","description":"A pending workspace invitation for the authenticated user"},"PendingInvitationWorkspaceResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Workspace ID"},"name":{"type":"string","title":"Name","description":"Workspace name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType","description":"Type of workspace"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Workspace image URL"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name","description":"Brand name from workspace setup"},"brand_website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Website","description":"Brand website URL"},"brand_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Logo Url","description":"Brand logo URL"}},"type":"object","required":["id","name","workspace_type"],"title":"PendingInvitationWorkspaceResponse","description":"Workspace details embedded in a pending invitation"},"PendingPlanChange":{"properties":{"scheduled_plan_id":{"type":"string","format":"uuid","title":"Scheduled Plan Id"},"scheduled_plan_name":{"type":"string","title":"Scheduled Plan Name"},"effective_date":{"type":"string","format":"date-time","title":"Effective Date"},"is_downgrade":{"type":"boolean","title":"Is Downgrade","default":true}},"type":"object","required":["scheduled_plan_id","scheduled_plan_name","effective_date"],"title":"PendingPlanChange","description":"Information about a scheduled plan change (e.g., pending downgrade)."},"PendingRewardClaimItem":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"reward_type":{"$ref":"#/components/schemas/RewardType"},"review_platform":{"anyOf":[{"$ref":"#/components/schemas/ReviewPlatform"},{"type":"null"}]},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"proof_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proof Url"},"screenshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Screenshot Url"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["workspace_id","reward_type"],"title":"PendingRewardClaimItem"},"PendingRewardClaimsResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PendingRewardClaimItem"},"type":"array","title":"Items"}},"type":"object","required":["items"],"title":"PendingRewardClaimsResponse"},"Platform":{"type":"string","enum":["CHATGPT","PERPLEXITY","BYTEDANCE","GOOGLE","GEMINI","APPLE","ANTHROPIC","MICROSOFT","META","UNKNOWN"],"title":"Platform","description":"AI/Bot platforms that generate traffic"},"PlatformBreakdownResponse":{"properties":{"platform":{"type":"string","title":"Platform","description":"AI platform name"},"visits":{"type":"integer","title":"Visits","description":"Number of visits from this platform"},"citations":{"type":"integer","title":"Citations","description":"Number of citations from this platform"},"training":{"type":"integer","title":"Training","description":"Number of training requests from this platform"},"indexing":{"type":"integer","title":"Indexing","description":"Number of indexing requests from this platform"}},"type":"object","required":["platform","visits","citations","training","indexing"],"title":"PlatformBreakdownResponse","description":"Platform breakdown for a path"},"PlatformConfigUpdate":{"properties":{"platform":{"type":"string","title":"Platform","description":"Platform identifier (e.g., 'CHATGPT', 'CLAUDE')"},"enabled":{"type":"boolean","title":"Enabled","description":"Whether this platform is enabled"}},"type":"object","required":["platform","enabled"],"title":"PlatformConfigUpdate","description":"Update schema for individual platform configuration."},"PlatformCreditCost":{"properties":{"platform":{"type":"string","title":"Platform"},"display_name":{"type":"string","title":"Display Name"},"credits":{"type":"integer","title":"Credits"}},"type":"object","required":["platform","display_name","credits"],"title":"PlatformCreditCost","description":"Credit cost for a specific platform."},"PopularPageResponse":{"properties":{"path":{"type":"string","title":"Path","description":"Page path"},"visits":{"type":"integer","title":"Visits","description":"Total number of visits"},"unique_visitors":{"type":"integer","title":"Unique Visitors","description":"Number of unique visitors"}},"type":"object","required":["path","visits","unique_visitors"],"title":"PopularPageResponse"},"PositionCount":{"properties":{"total":{"type":"integer","title":"Total"},"change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change"}},"type":"object","required":["total"],"title":"PositionCount","description":"Position count with change tracking."},"PostHogConnectRequest":{"properties":{"api_key":{"type":"string","minLength":1,"title":"Api Key"},"project_id":{"type":"string","minLength":1,"title":"Project Id"},"region":{"type":"string","enum":["us","eu"],"title":"Region","default":"us"}},"type":"object","required":["api_key","project_id"],"title":"PostHogConnectRequest","description":"Request to connect PostHog with a personal API key."},"PostHogConnectResponse":{"properties":{"integration_id":{"type":"string","format":"uuid","title":"Integration Id"},"integration_type":{"$ref":"#/components/schemas/IntegrationType"},"status":{"$ref":"#/components/schemas/IntegrationStatus"},"project_id":{"type":"string","title":"Project Id"},"region":{"type":"string","title":"Region"},"host":{"type":"string","title":"Host"}},"type":"object","required":["integration_id","integration_type","status","project_id","region","host"],"title":"PostHogConnectResponse","description":"Response after connecting PostHog with a personal API key."},"PostHogStatusDetails":{"properties":{"project_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Project Id"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host"},"connected_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Connected At"},"last_sync_error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Sync Error"},"auto_sync":{"type":"boolean","title":"Auto Sync"}},"type":"object","required":["auto_sync"],"title":"PostHogStatusDetails","description":"Native PostHog connection details for status responses."},"PostStepResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message","default":"OK"},"data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Data"}},"type":"object","required":["success"],"title":"PostStepResponse"},"ProcessedLogResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Unique log entry ID"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id","description":"Workspace ID"},"provider":{"$ref":"#/components/schemas/LogProvider","description":"Log provider"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Request timestamp"},"traffic_type":{"$ref":"#/components/schemas/TrafficType","description":"Type of traffic"},"visitor_type":{"$ref":"#/components/schemas/VisitorType","description":"Type of visitor"},"platform":{"$ref":"#/components/schemas/Platform","description":"AI/Bot platform"},"ai_system_type":{"anyOf":[{"$ref":"#/components/schemas/AISystemType"},{"type":"null"}],"description":"Type of AI system"},"bot_type":{"anyOf":[{"$ref":"#/components/schemas/BotType"},{"type":"null"}],"description":"Type of bot"},"http_method":{"$ref":"#/components/schemas/HttpMethod","description":"HTTP request method"},"path":{"type":"string","title":"Path","description":"Request path"},"status_code":{"type":"integer","title":"Status Code","description":"HTTP status code"},"status_category":{"$ref":"#/components/schemas/HttpStatusCategory","description":"HTTP status category"},"content_type":{"$ref":"#/components/schemas/app__log_drain__enums__ContentType","description":"Content type"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent","description":"User agent string"},"referrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer","description":"Referrer URL"},"referral_source":{"$ref":"#/components/schemas/ReferralSource","description":"Source of referral"},"client_ip":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Ip","description":"Client IP address"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region","description":"Geographic region"},"host":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Host","description":"Host header"},"is_ai_traffic":{"type":"boolean","title":"Is Ai Traffic","description":"Whether this is AI traffic"},"is_citation":{"type":"boolean","title":"Is Citation","description":"Whether this is a citation"},"is_training":{"type":"boolean","title":"Is Training","description":"Whether this is training traffic"},"is_human_referral":{"type":"boolean","title":"Is Human Referral","description":"Whether this is human referral"},"processing_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Processing Confidence","description":"AI classification confidence"},"processing_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Processing Notes","description":"Processing notes"},"parsed_data":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Parsed Data","description":"Additional parsed data"}},"type":"object","required":["id","workspace_id","provider","timestamp","traffic_type","visitor_type","platform","http_method","path","status_code","status_category","content_type","referral_source","is_ai_traffic","is_citation","is_training","is_human_referral"],"title":"ProcessedLogResponse","description":"Response schema for individual processed log entries"},"PromptAnalytics":{"properties":{"visibility_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Visibility Rank","description":"Visibility rank among all prompts"},"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Visibility score percentage"},"average_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Position","description":"Average position when mentioned"},"citation_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Citation Share","description":"Citation share percentage"},"executions":{"type":"integer","title":"Executions","description":"Total number of executions","default":0}},"type":"object","title":"PromptAnalytics","description":"Schema for individual prompt analytics."},"PromptAnalyticsItem":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"prompt_text":{"type":"string","title":"Prompt Text"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"intent":{"anyOf":[{"$ref":"#/components/schemas/app__keyword__schema__IntentResponseData"},{"type":"null"}],"description":"Intent data associated with this prompt"},"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Visibility score percentage (0-100)"},"executions":{"type":"integer","title":"Executions","description":"Total number of executions","default":0},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Average position when mentioned"},"sentiment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment","description":"Average sentiment score (0-100)"}},"type":"object","required":["id","prompt_text"],"title":"PromptAnalyticsItem","description":"Schema for prompt with analytics data."},"PromptAttributionResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the operation was successful"},"data":{"items":{"$ref":"#/components/schemas/PromptAttributionStatistic"},"type":"array","title":"Data","description":"Prompts contributing citations"},"total_prompts":{"type":"integer","minimum":0.0,"title":"Total Prompts","description":"Total number of prompts"},"page":{"type":"integer","minimum":1.0,"title":"Page","description":"Current page number"},"page_size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Page Size","description":"Number of items per page"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Unused legacy error field"}},"type":"object","required":["success","data","total_prompts","page","page_size"],"title":"PromptAttributionResponse","description":"Paginated prompt attribution response for citation reporting."},"PromptAttributionStatistic":{"properties":{"prompt_id":{"type":"string","format":"uuid","title":"Prompt Id"},"prompt_text":{"type":"string","title":"Prompt Text"},"total_citations":{"type":"integer","minimum":0.0,"title":"Total Citations"},"unique_executions":{"type":"integer","minimum":0.0,"title":"Unique Executions"},"platforms":{"items":{"$ref":"#/components/schemas/PromptPlatform"},"type":"array","title":"Platforms"},"latest_cited_at":{"type":"string","format":"date-time","title":"Latest Cited At"},"latest_execution_id":{"type":"string","format":"uuid","title":"Latest Execution Id"}},"type":"object","required":["prompt_id","prompt_text","total_citations","unique_executions","platforms","latest_cited_at","latest_execution_id"],"title":"PromptAttributionStatistic","description":"Prompt-level attribution for a selected citation domain or URL."},"PromptCsvImportResponse":{"properties":{"import_id":{"type":"string","format":"uuid","title":"Import Id"},"rows_received":{"type":"integer","title":"Rows Received"},"prompts_created":{"type":"integer","title":"Prompts Created"},"prompts_skipped":{"type":"integer","title":"Prompts Skipped"},"keywords_created":{"type":"integer","title":"Keywords Created"},"workspace_keywords_created":{"type":"integer","title":"Workspace Keywords Created"},"workspace_keywords_reactivated":{"type":"integer","title":"Workspace Keywords Reactivated"}},"type":"object","required":["import_id","rows_received","prompts_created","prompts_skipped","keywords_created","workspace_keywords_created","workspace_keywords_reactivated"],"title":"PromptCsvImportResponse"},"PromptExecutionDetailsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"prompt_text":{"type":"string","title":"Prompt Text"},"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Overall visibility score percentage (0-100) for the date range"},"executions_count":{"type":"integer","title":"Executions Count","description":"Total number of executions in the date range","default":0},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Overall average position when mentioned (rounded to nearest integer) for the date range"},"executions":{"items":{"$ref":"#/components/schemas/ExecutionDetailSchema"},"type":"array","title":"Executions","description":"List of all executions"},"visibility":{"items":{"$ref":"#/components/schemas/TimeseriesDataPoint"},"type":"array","title":"Visibility","description":"Daily visibility score timeseries"},"avg_position":{"items":{"$ref":"#/components/schemas/TimeseriesDataPoint"},"type":"array","title":"Avg Position","description":"Daily average position timeseries"}},"type":"object","required":["id","prompt_text","executions","visibility","avg_position"],"title":"PromptExecutionDetailsResponse","description":"Response schema for prompt execution details."},"PromptPlatform":{"type":"string","enum":["GOOGLE_AI_OVERVIEW","GOOGLE_GENAI_SEARCH","CHATGPT","PERPLEXITY","GOOGLE_AI_MODE","META_AI","MICROSOFT_AI","GROK","CLAUDE","DEEPSEEK","GEMINI"],"title":"PromptPlatform"},"PromptResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"prompt_text":{"type":"string","title":"Prompt Text"},"intent":{"anyOf":[{"$ref":"#/components/schemas/app__prompt__schemas__IntentResponseData"},{"type":"null"}],"description":"Intent data associated with this prompt"},"keyword":{"anyOf":[{"$ref":"#/components/schemas/KeywordResponseData"},{"type":"null"}],"description":"Keyword data associated with this prompt"},"visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Visibility Score","description":"Visibility score percentage (0-100)"},"executions":{"type":"integer","title":"Executions","description":"Total number of executions","default":0},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Average position when mentioned (rounded to nearest integer)"},"sentiment":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment","description":"Average sentiment score (0-100, max 2 decimal places)"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"language":{"type":"string","title":"Language","description":"Language of the prompt","default":"English"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"status":{"$ref":"#/components/schemas/PromptStatus","description":"Status of the prompt","default":"ACTIVE"}},"type":"object","required":["id","prompt_text","created_at"],"title":"PromptResponse","description":"Simplified schema for individual prompt with analytics."},"PromptSortBy":{"type":"string","enum":["visibility_score","executions","position","sentiment","created_at"],"title":"PromptSortBy","description":"Enum for prompt sorting fields."},"PromptStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PAUSED","DRAFT","ARCHIVED"],"title":"PromptStatus"},"PromptWithAnalytics":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"prompt_text":{"type":"string","title":"Prompt Text"},"status":{"type":"string","title":"Status"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"analytics":{"$ref":"#/components/schemas/PromptAnalytics"}},"type":"object","required":["id","prompt_text","status","created_at","analytics"],"title":"PromptWithAnalytics","description":"Schema for prompt with analytics data."},"PromptsListResponse":{"properties":{"prompts":{"items":{"$ref":"#/components/schemas/PromptResponse"},"type":"array","title":"Prompts","description":"List of prompts with analytics"},"total_prompts":{"type":"integer","title":"Total Prompts","description":"Total number of prompts"},"page":{"type":"integer","title":"Page","description":"Page number"},"page_size":{"type":"integer","title":"Page Size","description":"Page size"},"active_count":{"type":"integer","title":"Active Count","description":"Total active prompts in this workspace","default":0},"archived_count":{"type":"integer","title":"Archived Count","description":"Total archived prompts in this workspace","default":0}},"type":"object","required":["prompts","total_prompts","page","page_size"],"title":"PromptsListResponse","description":"Simplified response schema for list of prompts with analytics."},"ProposedCompetitorListResponse":{"properties":{"total":{"type":"integer","title":"Total"},"items":{"items":{"$ref":"#/components/schemas/ProposedCompetitorResponse"},"type":"array","title":"Items"}},"type":"object","required":["total","items"],"title":"ProposedCompetitorListResponse"},"ProposedCompetitorResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"domain":{"type":"string","title":"Domain"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"competitor_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Competitor Type"},"detected_count":{"type":"integer","title":"Detected Count"}},"type":"object","required":["id","name","domain","description","detected_count"],"title":"ProposedCompetitorResponse"},"QuadrantThresholds":{"properties":{"x":{"type":"number","title":"X","description":"X-axis divider (0-100). Median visibility percentile."},"y":{"type":"number","title":"Y","description":"Y-axis divider (0-100). Median position percentile."}},"type":"object","required":["x","y"],"title":"QuadrantThresholds","description":"Dynamic quadrant divider positions for drawing the chart crosshairs."},"QualityScoresSchema":{"properties":{"readability":{"type":"number","title":"Readability","default":0.0},"keyword_density":{"type":"number","title":"Keyword Density","default":0.0},"structural_compliance":{"type":"number","title":"Structural Compliance","default":0.0},"eeat_signals":{"type":"number","title":"Eeat Signals","default":0.0},"brand_alignment":{"type":"number","title":"Brand Alignment","default":0.0},"citation_count":{"type":"number","title":"Citation Count","default":0.0},"faq_presence":{"type":"number","title":"Faq Presence","default":0.0},"structural_guardrails":{"type":"number","title":"Structural Guardrails","default":0.0},"overall":{"type":"number","title":"Overall","default":0.0},"grade":{"type":"string","title":"Grade","default":"F"},"word_count":{"type":"integer","title":"Word Count","default":0}},"type":"object","title":"QualityScoresSchema","description":"Typed schema for quality_scores from the V2 pipeline quality gate."},"QueryCountingChartPoint":{"properties":{"date":{"type":"string","title":"Date"},"position_1_3":{"type":"integer","title":"Position 1 3","default":0},"position_4_10":{"type":"integer","title":"Position 4 10","default":0},"position_11_20":{"type":"integer","title":"Position 11 20","default":0},"position_21_plus":{"type":"integer","title":"Position 21 Plus","default":0}},"type":"object","required":["date"],"title":"QueryCountingChartPoint","description":"Chart data point for query counting."},"QueryCountingData":{"properties":{"summary":{"$ref":"#/components/schemas/QueryCountingSummary"},"chart":{"items":{"$ref":"#/components/schemas/QueryCountingChartPoint"},"type":"array","title":"Chart"}},"type":"object","required":["summary","chart"],"title":"QueryCountingData","description":"Data for query counting endpoint."},"QueryCountingResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/QueryCountingData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"QueryCountingResponse","description":"Response for query counting endpoint."},"QueryCountingSummary":{"properties":{"position_1_3":{"$ref":"#/components/schemas/PositionCount"},"position_4_10":{"$ref":"#/components/schemas/PositionCount"},"position_11_20":{"$ref":"#/components/schemas/PositionCount"},"position_21_plus":{"$ref":"#/components/schemas/PositionCount"}},"type":"object","required":["position_1_3","position_4_10","position_11_20","position_21_plus"],"title":"QueryCountingSummary","description":"Summary for query counting by position."},"RecentVisitResponse":{"properties":{"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Visit timestamp"},"platform":{"type":"string","title":"Platform","description":"AI platform"},"traffic_type":{"type":"string","title":"Traffic Type","description":"Type of traffic"},"visitor_type":{"type":"string","title":"Visitor Type","description":"Type of visitor"},"user_agent":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Agent","description":"User agent string"},"referrer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Referrer","description":"Referrer URL"},"status_code":{"type":"integer","title":"Status Code","description":"HTTP status code"}},"type":"object","required":["timestamp","platform","traffic_type","visitor_type","status_code"],"title":"RecentVisitResponse","description":"Recent visit information"},"ReclusterResponse":{"properties":{"message":{"type":"string","title":"Message"},"clusters_created":{"type":"integer","title":"Clusters Created","default":0},"clusters_updated":{"type":"integer","title":"Clusters Updated","default":0},"clusters_removed":{"type":"integer","title":"Clusters Removed","default":0}},"type":"object","required":["message"],"title":"ReclusterResponse"},"RecommendedChannelResponse":{"properties":{"platform":{"$ref":"#/components/schemas/EngagementPlatform"},"channel_name":{"type":"string","title":"Channel Name"},"why":{"type":"string","title":"Why"},"discovery_signals":{"items":{"type":"string"},"type":"array","title":"Discovery Signals"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"icon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon Url"}},"type":"object","required":["platform","channel_name","why","discovery_signals"],"title":"RecommendedChannelResponse","description":"A recommended workspace channel for `GET /channels/recommended`.\n\nv3: trimmed to exactly what the FE card renders. `why` + `discovery_signals`\nare computed at read time; `member_count`/`icon_url` come from the global\nchannel fact (LEFT JOIN). The internal ranking `score`, rollup counts,\n`status_counts`, recommendation flags, recompute cursor, `rank`, and\n`display_name`/`description` are NOT exposed (server still ranks by the SQL\nscore — `_recommendation_score_expr` — it's just not sent to the client).\n`discovery_signals` is a `list[str]` of present `ChannelDiscoverySignal`\nvalues."},"ReferralOverviewRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"limit":{"type":"integer","maximum":100.0,"title":"Limit","description":"Top N sources per category","default":10}},"type":"object","required":["start_date","end_date"],"title":"ReferralOverviewRequest"},"ReferralOverviewResponse":{"properties":{"ai_platforms":{"items":{"$ref":"#/components/schemas/SourceItem"},"type":"array","title":"Ai Platforms"},"referral_sources":{"items":{"$ref":"#/components/schemas/SourceItem"},"type":"array","title":"Referral Sources"},"total_ai_sessions":{"type":"integer","title":"Total Ai Sessions"},"total_referral_sessions":{"type":"integer","title":"Total Referral Sessions"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["ai_platforms","referral_sources","total_ai_sessions","total_referral_sessions","date_range","property_id"],"title":"ReferralOverviewResponse"},"ReferralSource":{"type":"string","enum":["CHATGPT_WEB","PERPLEXITY_WEB","CLAUDE_WEB","GEMINI_WEB","SEARCH_ENGINE","SOCIAL_MEDIA","DIRECT","EMAIL","OTHER","UNKNOWN"],"title":"ReferralSource","description":"Source of referral traffic"},"RefreshPromptsRequest":{"properties":{"workspace_keyword_id":{"type":"string","format":"uuid","title":"Workspace Keyword Id","description":"Workspace keyword ID to refresh prompts for"},"language":{"type":"string","title":"Language","description":"Language of the prompt"},"location":{"type":"string","title":"Location","description":"Location of the prompt"}},"type":"object","required":["workspace_keyword_id","language","location"],"title":"RefreshPromptsRequest","description":"Request schema for refreshing prompts for a keyword."},"RefreshPromptsResponse":{"properties":{"message":{"type":"string","title":"Message","description":"Success message"},"prompts_generated":{"type":"integer","title":"Prompts Generated","description":"Number of new prompts generated"},"prompts":{"items":{"$ref":"#/components/schemas/PromptResponse"},"type":"array","title":"Prompts","description":"List of newly generated prompts"}},"type":"object","required":["message","prompts_generated","prompts"],"title":"RefreshPromptsResponse","description":"Response schema for refresh prompts API."},"RefreshTokenRequest":{"properties":{"refresh_token":{"type":"string","title":"Refresh Token","description":"Refresh token"}},"type":"object","required":["refresh_token"],"title":"RefreshTokenRequest","description":"Request schema for token refresh"},"RefreshTokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token","description":"New JWT access token"},"token_expires_in":{"type":"integer","title":"Token Expires In","description":"Access token expiration in seconds"}},"type":"object","required":["access_token","token_expires_in"],"title":"RefreshTokenResponse","description":"Response for token refresh"},"RejectProposedCompetitorResponse":{"properties":{"message":{"type":"string","title":"Message"}},"type":"object","required":["message"],"title":"RejectProposedCompetitorResponse"},"RenameClusterRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"RenameClusterRequest"},"ResendOtpRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"User email address"}},"type":"object","required":["email"],"title":"ResendOtpRequest","description":"Request schema for resending OTP"},"ResultListResponse":{"properties":{"results":{"items":{"$ref":"#/components/schemas/AISeoMonitorResultResponse"},"type":"array","title":"Results"},"total_count":{"type":"integer","title":"Total Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"has_next":{"type":"boolean","title":"Has Next"},"has_prev":{"type":"boolean","title":"Has Prev"}},"type":"object","required":["results","total_count","page","page_size","has_next","has_prev"],"title":"ResultListResponse","description":"Paginated response for results list."},"ReviewPlatform":{"type":"string","enum":["G2","TRUSTPILOT"],"title":"ReviewPlatform"},"RewardAdminReviewRequest":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"reward_type":{"$ref":"#/components/schemas/RewardType","default":"G2_REVIEW"},"approve":{"type":"boolean","title":"Approve"},"reviewer_notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Reviewer Notes"}},"type":"object","required":["workspace_id","approve"],"title":"RewardAdminReviewRequest"},"RewardBenefitMode":{"type":"string","enum":["UPGRADE_TO_PRO","EXTEND_CURRENT_PLAN"],"title":"RewardBenefitMode"},"RewardCatalogItem":{"properties":{"reward_type":{"$ref":"#/components/schemas/RewardType"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"months_granted":{"type":"integer","title":"Months Granted"},"external_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Link"}},"type":"object","required":["reward_type","title","description","months_granted"],"title":"RewardCatalogItem"},"RewardClaimItem":{"properties":{"reward_type":{"$ref":"#/components/schemas/RewardType"},"review_platform":{"anyOf":[{"$ref":"#/components/schemas/ReviewPlatform"},{"type":"null"}]},"status":{"$ref":"#/components/schemas/RewardClaimStatus"},"benefit_mode":{"$ref":"#/components/schemas/RewardBenefitMode"},"months_granted":{"type":"integer","title":"Months Granted"},"proof_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proof Url"},"screenshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Screenshot Url"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"reviewer_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewer Notes"},"submitted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Submitted At"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"}},"type":"object","required":["reward_type","status","benefit_mode","months_granted"],"title":"RewardClaimItem"},"RewardClaimRequest":{"properties":{"reward_type":{"$ref":"#/components/schemas/RewardType","default":"G2_REVIEW"},"proof_url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Proof Url"},"notes":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["proof_url"],"title":"RewardClaimRequest"},"RewardClaimResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"reward":{"$ref":"#/components/schemas/RewardClaimItem"},"summary":{"$ref":"#/components/schemas/RewardStatusResponse"}},"type":"object","required":["success","message","reward","summary"],"title":"RewardClaimResponse"},"RewardClaimStatus":{"type":"string","enum":["PENDING","APPROVED","REJECTED"],"title":"RewardClaimStatus"},"RewardStatusResponse":{"properties":{"eligible":{"type":"boolean","title":"Eligible"},"current_plan_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Plan Name"},"months_granted_per_reward":{"type":"integer","title":"Months Granted Per Reward"},"approved_rewards_count":{"type":"integer","title":"Approved Rewards Count"},"total_months_approved":{"type":"integer","title":"Total Months Approved"},"claims":{"items":{"$ref":"#/components/schemas/RewardClaimItem"},"type":"array","title":"Claims"},"catalog":{"items":{"$ref":"#/components/schemas/RewardCatalogItem"},"type":"array","title":"Catalog"}},"type":"object","required":["eligible","current_plan_name","months_granted_per_reward","approved_rewards_count","total_months_approved","claims","catalog"],"title":"RewardStatusResponse"},"RewardType":{"type":"string","enum":["G2_REVIEW","TRUSTPILOT_REVIEW","CASE_STUDY"],"title":"RewardType"},"RobotsTxtGeneratorRequest":{"properties":{"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Fetch and merge existing robots.txt from this domain"},"sitemap_urls":{"items":{"type":"string"},"type":"array","maxItems":20,"minItems":1,"title":"Sitemap Urls"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this generation"}},"type":"object","required":["sitemap_urls"],"title":"RobotsTxtGeneratorRequest","description":"Request to generate or merge a robots.txt file with Sitemap directives."},"RobotsTxtGeneratorResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"robots_txt_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Robots Txt Content"},"existing_robots_fetched":{"type":"boolean","title":"Existing Robots Fetched","default":false},"existing_sitemap_urls":{"items":{"type":"string"},"type":"array","title":"Existing Sitemap Urls","default":[]},"new_sitemap_urls_added":{"items":{"type":"string"},"type":"array","title":"New Sitemap Urls Added","default":[]},"duplicate_sitemap_urls":{"items":{"type":"string"},"type":"array","title":"Duplicate Sitemap Urls","default":[]},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["success"],"title":"RobotsTxtGeneratorResponse"},"SEOAverageScores":{"properties":{"performance_score":{"type":"number","title":"Performance Score","description":"Average performance score"},"seo_score":{"type":"number","title":"Seo Score","description":"Average SEO score"},"accessibility_score":{"type":"number","title":"Accessibility Score","description":"Average accessibility score"},"best_practices_score":{"type":"number","title":"Best Practices Score","description":"Average best practices score"},"total_results":{"type":"integer","title":"Total Results","description":"Number of results used in calculation"}},"type":"object","required":["performance_score","seo_score","accessibility_score","best_practices_score","total_results"],"title":"SEOAverageScores","description":"Average scores over a period."},"SEOMonitorProvider":{"type":"string","enum":["GOOGLE_LIGHTHOUSE"],"title":"SEOMonitorProvider"},"SEOMonitorResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Monitor ID"},"user_id":{"type":"string","format":"uuid","title":"User Id","description":"User who created the monitor"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id","description":"Workspace ID"},"website_url":{"type":"string","title":"Website Url","description":"Website URL being monitored"},"status":{"$ref":"#/components/schemas/SEOMonitorStatus","description":"Monitor status"},"provider":{"$ref":"#/components/schemas/SEOMonitorProvider","description":"SEO monitoring provider"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Creation timestamp"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Last update timestamp"},"is_active":{"type":"boolean","title":"Is Active","description":"Whether the monitor is active"}},"type":"object","required":["id","user_id","workspace_id","website_url","status","provider","created_at","updated_at","is_active"],"title":"SEOMonitorResponse","description":"Response schema for SEO monitor data."},"SEOMonitorResultResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Result ID"},"seo_monitor_id":{"type":"string","format":"uuid","title":"Seo Monitor Id","description":"SEO monitor ID"},"performance_score":{"type":"number","title":"Performance Score","description":"Performance score (0-100)"},"seo_score":{"type":"number","title":"Seo Score","description":"SEO score (0-100)"},"accessibility_score":{"type":"number","title":"Accessibility Score","description":"Accessibility score (0-100)"},"best_practices_score":{"type":"number","title":"Best Practices Score","description":"Best practices score (0-100)"},"web_vitals":{"additionalProperties":true,"type":"object","title":"Web Vitals","description":"Web Vitals data"},"seo_data":{"additionalProperties":true,"type":"object","title":"Seo Data","description":"SEO audit data"},"issues_summary":{"additionalProperties":true,"type":"object","title":"Issues Summary","description":"Issues summary"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Scan timestamp"},"updated_at":{"type":"string","format":"date-time","title":"Updated At","description":"Last update timestamp"}},"type":"object","required":["id","seo_monitor_id","performance_score","seo_score","accessibility_score","best_practices_score","web_vitals","seo_data","issues_summary","created_at","updated_at"],"title":"SEOMonitorResultResponse","description":"Response schema for SEO monitor result data."},"SEOMonitorStatus":{"type":"string","enum":["ACTIVE","INACTIVE","PAUSED","ARCHIVED"],"title":"SEOMonitorStatus"},"SEOPerformanceTrend":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id","description":"Monitor ID"},"period_days":{"type":"integer","title":"Period Days","description":"Period in days"},"trend_data":{"items":{"$ref":"#/components/schemas/SEOPerformanceTrendData"},"type":"array","title":"Trend Data","description":"Trend data points"},"average_scores":{"anyOf":[{"$ref":"#/components/schemas/SEOAverageScores"},{"type":"null"}],"description":"Average scores for the period"}},"type":"object","required":["monitor_id","period_days","trend_data"],"title":"SEOPerformanceTrend","description":"Performance trend data for a monitor."},"SEOPerformanceTrendData":{"properties":{"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Scan timestamp"},"performance_score":{"type":"number","title":"Performance Score","description":"Performance score"},"seo_score":{"type":"number","title":"Seo Score","description":"SEO score"},"accessibility_score":{"type":"number","title":"Accessibility Score","description":"Accessibility score"},"best_practices_score":{"type":"number","title":"Best Practices Score","description":"Best practices score"}},"type":"object","required":["created_at","performance_score","seo_score","accessibility_score","best_practices_score"],"title":"SEOPerformanceTrendData","description":"Individual data point for performance trend."},"SEORecentResultSummary":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id","description":"Monitor ID"},"website_url":{"type":"string","title":"Website Url","description":"Website URL"},"result":{"$ref":"#/components/schemas/SEOMonitorResultResponse","description":"Latest result"}},"type":"object","required":["monitor_id","website_url","result"],"title":"SEORecentResultSummary","description":"Summary of recent result for workspace overview."},"SEOScanTriggerResponse":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id","description":"Monitor ID"},"triggered":{"type":"boolean","title":"Triggered","description":"Whether scan was triggered"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["monitor_id","triggered","message"],"title":"SEOScanTriggerResponse","description":"Response for manual scan trigger."},"SEOWorkspaceOverview":{"properties":{"total_monitors":{"type":"integer","title":"Total Monitors","description":"Total number of monitors"},"active_monitors":{"type":"integer","title":"Active Monitors","description":"Number of active monitors"},"inactive_monitors":{"type":"integer","title":"Inactive Monitors","description":"Number of inactive monitors"},"paused_monitors":{"type":"integer","title":"Paused Monitors","description":"Number of paused monitors"},"recent_results":{"items":{"$ref":"#/components/schemas/SEORecentResultSummary"},"type":"array","title":"Recent Results","description":"Recent results"},"monitors":{"items":{"$ref":"#/components/schemas/SEOMonitorResponse"},"type":"array","title":"Monitors","description":"All monitors"}},"type":"object","required":["total_monitors","active_monitors","inactive_monitors","paused_monitors","recent_results","monitors"],"title":"SEOWorkspaceOverview","description":"Comprehensive workspace overview for SEO monitoring."},"SchemaMetricsResponse":{"properties":{"schema_present":{"type":"boolean","title":"Schema Present","default":false},"schema_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Schema Types"},"errors_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Errors Count"},"warnings_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Warnings Count"},"is_valid":{"type":"boolean","title":"Is Valid","default":true},"raw_schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Raw Schema"}},"type":"object","title":"SchemaMetricsResponse","description":"Schema/structured data metrics response."},"ScoreHistoryPoint":{"properties":{"recorded_at":{"type":"string","format":"date-time","title":"Recorded At"},"health_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Health Score"},"opportunity_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Opportunity Score"},"gsc_impressions":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Impressions"},"gsc_clicks":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Gsc Clicks"},"ai_visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ai Visibility Score"}},"type":"object","required":["recorded_at"],"title":"ScoreHistoryPoint","description":"Single point in a keyword's score history timeline."},"ScoreHistoryResponse":{"properties":{"workspace_keyword_id":{"type":"string","title":"Workspace Keyword Id"},"history":{"items":{"$ref":"#/components/schemas/ScoreHistoryPoint"},"type":"array","title":"History"}},"type":"object","required":["workspace_keyword_id","history"],"title":"ScoreHistoryResponse","description":"Score history for a single workspace keyword."},"SearchPageItem":{"properties":{"label":{"type":"string","title":"Label"},"full_url":{"type":"string","title":"Full Url"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"},"position":{"type":"number","title":"Position","default":0.0},"position_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Position Change"},"is_new_ranking":{"type":"boolean","title":"Is New Ranking","default":false}},"type":"object","required":["label","full_url"],"title":"SearchPageItem","description":"Single search page item."},"SearchPagesData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SearchPageItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"SearchPagesData","description":"Data for search pages endpoint."},"SearchPagesResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/SearchPagesData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"SearchPagesResponse","description":"Response for search pages endpoint."},"SearchQueriesData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/SearchQueryItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"SearchQueriesData","description":"Data for search queries endpoint."},"SearchQueriesResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/SearchQueriesData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"SearchQueriesResponse","description":"Response for search queries endpoint."},"SearchQueryItem":{"properties":{"label":{"type":"string","title":"Label"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"},"position":{"type":"number","title":"Position","default":0.0},"position_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Position Change"},"is_branded":{"type":"boolean","title":"Is Branded","default":false},"is_new_ranking":{"type":"boolean","title":"Is New Ranking","default":false}},"type":"object","required":["label"],"title":"SearchQueryItem","description":"Single search query item."},"SectionMetaSchema":{"properties":{"heading":{"type":"string","title":"Heading"},"section_intent":{"type":"string","title":"Section Intent"},"key_points":{"items":{"type":"string"},"type":"array","title":"Key Points","default":[]},"target_keyword":{"type":"string","title":"Target Keyword","default":""},"evidence_ids":{"items":{"type":"string"},"type":"array","title":"Evidence Ids","default":[]},"word_count_range":{"items":{"type":"integer"},"type":"array","title":"Word Count Range","default":[]}},"type":"object","required":["heading","section_intent"],"title":"SectionMetaSchema","description":"Single section metadata from the brief planner."},"SelectPropertyRequest":{"properties":{"property_id":{"type":"string","title":"Property Id","description":"Property ID to select. For GSC: site URL (e.g., 'https://example.com/'). For GA4: property ID (e.g., 'properties/123456' or just '123456')."}},"type":"object","required":["property_id"],"title":"SelectPropertyRequest","description":"Request to select a property for the integration"},"SelectPropertyResponse":{"properties":{"message":{"type":"string","title":"Message","default":"Property selected successfully. Integration is now active."},"integration":{"$ref":"#/components/schemas/IntegrationResponse"},"selected_property":{"type":"string","title":"Selected Property","description":"The selected property ID"}},"type":"object","required":["integration","selected_property"],"title":"SelectPropertyResponse","description":"Response after selecting a property for the integration"},"SentimentDistributionResponse":{"properties":{"positive_count":{"type":"integer","title":"Positive Count","description":"Number of positive sentiment mentions"},"neutral_count":{"type":"integer","title":"Neutral Count","description":"Number of neutral sentiment mentions"},"negative_count":{"type":"integer","title":"Negative Count","description":"Number of negative sentiment mentions"},"total_mentions":{"type":"integer","title":"Total Mentions","description":"Total mentions with sentiment data"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["positive_count","neutral_count","negative_count","total_mentions","period"],"title":"SentimentDistributionResponse","description":"Response schema for sentiment distribution API."},"SeoMetaSchema":{"properties":{"title":{"type":"string","title":"Title","default":""},"description":{"type":"string","title":"Description","default":""},"slug":{"type":"string","title":"Slug","default":""},"recommended_keywords":{"items":{"type":"string"},"type":"array","title":"Recommended Keywords","default":[]},"excerpt":{"type":"string","title":"Excerpt","default":""}},"type":"object","title":"SeoMetaSchema","description":"Typed schema for SEO metadata from the V2 pipeline."},"SetupEnterprisePlanRequest":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"monthly_credits":{"type":"integer","exclusiveMinimum":0.0,"title":"Monthly Credits","description":"Monthly credit allocation for the enterprise plan"},"custom_plan_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Plan Name","description":"Custom name for this enterprise agreement"},"plan_features":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plan Features","description":"Custom features/limits for this enterprise plan"},"trial_days":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Trial Days","description":"Number of trial days (0 or None for no trial)"}},"type":"object","required":["workspace_id","monthly_credits"],"title":"SetupEnterprisePlanRequest","description":"Request to set up an enterprise plan for a workspace."},"ShareOfVoiceRankingResponse":{"properties":{"rankings":{"items":{"$ref":"#/components/schemas/BrandShareOfVoiceRanking"},"type":"array","title":"Rankings","description":"List of all brands ranked by share of voice"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_company_mentions":{"type":"integer","title":"Total Company Mentions","description":"Total company mentions across all responses"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["rankings","period","total_company_mentions"],"title":"ShareOfVoiceRankingResponse","description":"Response schema for share of voice ranking API."},"ShareOfVoiceResponse":{"properties":{"brands":{"items":{"$ref":"#/components/schemas/BrandShareOfVoice"},"type":"array","title":"Brands","description":"List of top brands by share of voice"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_company_mentions":{"type":"integer","title":"Total Company Mentions","description":"Total company mentions across all responses"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["brands","period","total_company_mentions"],"title":"ShareOfVoiceResponse","description":"Response schema for share of voice API."},"SimilarContentResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ContentInventoryItem"},"type":"array","title":"Items"},"query":{"type":"string","title":"Query"},"is_cannibalization_risk":{"type":"boolean","title":"Is Cannibalization Risk","default":false},"cannibalization_items":{"items":{"$ref":"#/components/schemas/ContentInventoryItem"},"type":"array","title":"Cannibalization Items","default":[]}},"type":"object","required":["items","query"],"title":"SimilarContentResponse","description":"Response for similarity/cannibalization check."},"SiteVisitsPerCountryRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"limit":{"anyOf":[{"type":"integer","maximum":10000.0},{"type":"null"}],"title":"Limit","description":"Maximum number of countries to return","default":250}},"type":"object","required":["start_date","end_date"],"title":"SiteVisitsPerCountryRequest","description":"Request to get site visits per country from Google Analytics.\n\nproperty_id is resolved internally from the workspace integration."},"SiteVisitsPerCountryResponse":{"properties":{"countries":{"items":{"$ref":"#/components/schemas/CountryVisitData"},"type":"array","title":"Countries","description":"List of countries with visit data"},"total_countries":{"type":"integer","title":"Total Countries","description":"Total number of countries returned"},"total_sessions":{"type":"integer","title":"Total Sessions","description":"Total sessions across all countries"},"total_active_users":{"type":"integer","title":"Total Active Users","description":"Total active users across all countries"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range","description":"Date range for the report (start_date, end_date)"},"property_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Property Id","description":"GA4 property ID"}},"type":"object","required":["total_countries","total_sessions","total_active_users","date_range"],"title":"SiteVisitsPerCountryResponse","description":"Response containing site visits per country"},"SitemapAnalyticsOverview":{"properties":{"total_urls":{"type":"integer","title":"Total Urls"},"unique_domains":{"type":"integer","title":"Unique Domains"},"max_path_depth":{"type":"integer","title":"Max Path Depth"},"sitemap_count":{"type":"integer","title":"Sitemap Count"},"is_sitemap_index":{"type":"boolean","title":"Is Sitemap Index"},"urls_capped":{"type":"boolean","title":"Urls Capped"},"analysis_time_ms":{"type":"integer","title":"Analysis Time Ms"}},"type":"object","required":["total_urls","unique_domains","max_path_depth","sitemap_count","is_sitemap_index","urls_capped","analysis_time_ms"],"title":"SitemapAnalyticsOverview"},"SitemapAnalyticsRequest":{"properties":{"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain","description":"Auto-discover sitemaps from this domain"},"sitemap_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sitemap Url","description":"Direct sitemap URL to analyze"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this analysis"}},"type":"object","title":"SitemapAnalyticsRequest","description":"Request to analyze a sitemap — domain or direct URL required."},"SitemapAnalyticsResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"sitemap_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sitemap Url"},"overview":{"anyOf":[{"$ref":"#/components/schemas/SitemapAnalyticsOverview"},{"type":"null"}]},"directory_distribution":{"anyOf":[{"items":{"$ref":"#/components/schemas/SitemapDirectoryEntry"},"type":"array"},{"type":"null"}],"title":"Directory Distribution"},"depth_distribution":{"anyOf":[{"items":{"$ref":"#/components/schemas/SitemapDepthEntry"},"type":"array"},{"type":"null"}],"title":"Depth Distribution"},"content_types":{"anyOf":[{"$ref":"#/components/schemas/ContentTypeBreakdown"},{"type":"null"}]},"metadata_quality":{"anyOf":[{"$ref":"#/components/schemas/MetadataQuality"},{"type":"null"}]},"recommendations":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recommendations"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},"type":"object","required":["success"],"title":"SitemapAnalyticsResponse"},"SitemapDepthEntry":{"properties":{"depth":{"type":"integer","title":"Depth"},"count":{"type":"integer","title":"Count"},"percentage":{"type":"number","title":"Percentage"}},"type":"object","required":["depth","count","percentage"],"title":"SitemapDepthEntry"},"SitemapDirectoryEntry":{"properties":{"path":{"type":"string","title":"Path"},"count":{"type":"integer","title":"Count"},"percentage":{"type":"number","title":"Percentage"}},"type":"object","required":["path","count","percentage"],"title":"SitemapDirectoryEntry"},"SitemapExtractedUrl":{"properties":{"loc":{"type":"string","title":"Loc","description":"URL location"},"lastmod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastmod","description":"Last modified date"},"changefreq":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Changefreq","description":"Change frequency"},"priority":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Priority","description":"Priority value (0.0-1.0)"}},"type":"object","required":["loc"],"title":"SitemapExtractedUrl","description":"Information about a single extracted URL."},"SitemapFinderRequest":{"properties":{"website_url":{"type":"string","maxLength":500,"minLength":3,"title":"Website Url","description":"The website URL to check for sitemaps (e.g., 'example.com' or 'https://example.com')"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this check"}},"type":"object","required":["website_url"],"title":"SitemapFinderRequest","description":"Request to find and validate sitemaps for a website."},"SitemapFinderResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the check was successful"},"data":{"anyOf":[{"$ref":"#/components/schemas/SitemapFinderResult"},{"type":"null"}],"description":"Finder result data"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["success","message"],"title":"SitemapFinderResponse","description":"Response for sitemap finder endpoint."},"SitemapFinderResult":{"properties":{"website_url":{"type":"string","title":"Website Url","description":"The checked website URL"},"domain":{"type":"string","title":"Domain","description":"The domain that was checked"},"sitemaps_found":{"type":"integer","title":"Sitemaps Found","description":"Total number of sitemaps found","default":0},"total_urls":{"type":"integer","title":"Total Urls","description":"Total URLs across all sitemaps","default":0},"robots_txt_found":{"type":"boolean","title":"Robots Txt Found","description":"Whether robots.txt was found","default":false},"sitemaps_in_robots":{"items":{"type":"string"},"type":"array","title":"Sitemaps In Robots","description":"Sitemaps declared in robots.txt"},"sitemaps":{"items":{"$ref":"#/components/schemas/SitemapInfo"},"type":"array","title":"Sitemaps","description":"List of found sitemaps"},"checked_at":{"type":"string","format":"date-time","title":"Checked At","description":"When the check was performed"},"response_time_ms":{"type":"integer","title":"Response Time Ms","description":"Total response time in milliseconds","default":0},"status":{"type":"string","title":"Status","description":"Overall status: success, partial, or error","default":"success"},"message":{"type":"string","title":"Message","description":"Status message","default":""}},"type":"object","required":["website_url","domain","checked_at"],"title":"SitemapFinderResult","description":"Complete result of sitemap finding and checking."},"SitemapGeneratorRequest":{"properties":{"website_url":{"type":"string","maxLength":500,"minLength":3,"title":"Website Url","description":"The website URL to crawl (e.g., 'example.com' or 'https://example.com')"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this generation"},"max_urls":{"anyOf":[{"type":"integer","maximum":5000.0,"minimum":1.0},{"type":"null"}],"title":"Max Urls","description":"Maximum number of URLs to crawl","default":500},"max_depth":{"anyOf":[{"type":"integer","maximum":5.0,"minimum":1.0},{"type":"null"}],"title":"Max Depth","description":"Maximum crawl depth (BFS levels)","default":3},"exclude_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Exclude Paths","description":"URL path segments to exclude from crawling"}},"type":"object","required":["website_url"],"title":"SitemapGeneratorRequest","description":"Request to generate an XML sitemap by crawling a website."},"SitemapGeneratorResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the generation was successful"},"data":{"anyOf":[{"$ref":"#/components/schemas/SitemapGeneratorResult"},{"type":"null"}],"description":"Generation result data"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["success","message"],"title":"SitemapGeneratorResponse","description":"Response for sitemap generator endpoint."},"SitemapGeneratorResult":{"properties":{"website_url":{"type":"string","title":"Website Url","description":"The crawled website URL"},"total_urls":{"type":"integer","title":"Total Urls","description":"Total number of URLs discovered","default":0},"urls":{"items":{"$ref":"#/components/schemas/SitemapGeneratorUrlEntry"},"type":"array","title":"Urls","description":"Discovered URLs"},"sitemap_xml":{"type":"string","title":"Sitemap Xml","description":"Generated XML sitemap content","default":""},"crawl_depth":{"type":"integer","title":"Crawl Depth","description":"Crawl depth used","default":0},"checked_at":{"type":"string","format":"date-time","title":"Checked At","description":"When the generation was performed"},"response_time_ms":{"type":"integer","title":"Response Time Ms","description":"Total response time in milliseconds","default":0}},"type":"object","required":["website_url","checked_at"],"title":"SitemapGeneratorResult","description":"Result of sitemap generation."},"SitemapGeneratorUrlEntry":{"properties":{"loc":{"type":"string","title":"Loc","description":"URL location"},"lastmod":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lastmod","description":"Last modified date"},"changefreq":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Changefreq","description":"Change frequency (daily, weekly, monthly, etc.)"},"priority":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Priority","description":"Priority value (0.0-1.0)"}},"type":"object","required":["loc"],"title":"SitemapGeneratorUrlEntry","description":"A single URL entry in the generated sitemap."},"SitemapInfo":{"properties":{"url":{"type":"string","title":"Url","description":"URL of the sitemap"},"status":{"type":"string","title":"Status","description":"Status: valid, invalid, or error"},"url_count":{"type":"integer","title":"Url Count","description":"Number of URLs in the sitemap","default":0},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified","description":"Last modified date from sitemap"},"is_index":{"type":"boolean","title":"Is Index","description":"Whether this is a sitemap index file","default":false},"sub_sitemaps":{"items":{"$ref":"#/components/schemas/SitemapInfo"},"type":"array","title":"Sub Sitemaps","description":"Child sitemaps if this is an index"},"errors":{"items":{"type":"string"},"type":"array","title":"Errors","description":"Any errors encountered"},"sample_urls":{"items":{"type":"string"},"type":"array","title":"Sample Urls","description":"Sample URLs from the sitemap (max 10)"}},"type":"object","required":["url","status"],"title":"SitemapInfo","description":"Information about a single sitemap."},"SitemapPageFilterRequest":{"properties":{"search":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"},"url_filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/UrlFilterEntry"},"type":"array"},{"type":"null"}],"title":"Url Filters"},"exclude_url_filters":{"anyOf":[{"items":{"$ref":"#/components/schemas/UrlFilterEntry"},"type":"array"},{"type":"null"}],"title":"Exclude Url Filters"},"min_issues":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Issues"},"max_issues":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Max Issues"},"page":{"type":"integer","minimum":1.0,"title":"Page","default":1},"page_size":{"type":"integer","maximum":200.0,"minimum":1.0,"title":"Page Size","default":50}},"type":"object","title":"SitemapPageFilterRequest","description":"Request body for POST /sitemaps/{sitemap_id}/pages/search."},"SitemapPageWithScoreResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"sitemap_id":{"type":"string","format":"uuid","title":"Sitemap Id"},"url":{"type":"string","title":"Url"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"change_frequency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Change Frequency"},"last_synced_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Synced At"},"auto_audit_enabled":{"type":"boolean","title":"Auto Audit Enabled"},"is_agent_mode_enabled":{"type":"boolean","title":"Is Agent Mode Enabled"},"removed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Removed At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"active_issues_count":{"type":"integer","title":"Active Issues Count","description":"Total active (unfixed) issues","default":0},"high_priority_issues_count":{"type":"integer","title":"High Priority Issues Count","description":"Number of high priority issues","default":0},"health_score":{"anyOf":[{"type":"number","maximum":100.0,"minimum":0.0},{"type":"null"}],"title":"Health Score","description":"Page health score (0-100)"},"health_grade":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Health Grade","description":"Page health grade (A/B/C/D/F)"},"last_audit_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Audit At","description":"When the page was last audited"}},"type":"object","required":["id","sitemap_id","url","auto_audit_enabled","is_agent_mode_enabled","created_at","updated_at"],"title":"SitemapPageWithScoreResponse","description":"Sitemap page response with health score and issue counts."},"SitemapUrlExtractorRequest":{"properties":{"sitemap_url":{"type":"string","maxLength":500,"minLength":3,"title":"Sitemap Url","description":"The sitemap XML URL to extract from (e.g., 'https://example.com/sitemap.xml')"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this extraction"},"max_urls":{"anyOf":[{"type":"integer","maximum":50000.0,"minimum":1.0},{"type":"null"}],"title":"Max Urls","description":"Maximum number of URLs to extract","default":50000},"include_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Include Paths","description":"Only include URLs containing these paths"},"exclude_paths":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Exclude Paths","description":"Exclude URLs containing these paths"}},"type":"object","required":["sitemap_url"],"title":"SitemapUrlExtractorRequest","description":"Request to extract URLs from a sitemap."},"SitemapUrlExtractorResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the extraction was successful"},"data":{"anyOf":[{"$ref":"#/components/schemas/SitemapUrlExtractorResult"},{"type":"null"}],"description":"Extraction result data"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["success","message"],"title":"SitemapUrlExtractorResponse","description":"Response for sitemap URL extractor endpoint."},"SitemapUrlExtractorResult":{"properties":{"sitemap_url":{"type":"string","title":"Sitemap Url","description":"The checked sitemap URL"},"total_urls":{"type":"integer","title":"Total Urls","description":"Total number of URLs extracted","default":0},"urls":{"items":{"$ref":"#/components/schemas/SitemapExtractedUrl"},"type":"array","title":"Urls","description":"Extracted URLs"},"checked_at":{"type":"string","format":"date-time","title":"Checked At","description":"When the extraction was performed"},"response_time_ms":{"type":"integer","title":"Response Time Ms","description":"Total response time in milliseconds","default":0}},"type":"object","required":["sitemap_url","checked_at"],"title":"SitemapUrlExtractorResult","description":"Result of sitemap URL extraction."},"SitemapValidatorIssue":{"properties":{"issue":{"type":"string","title":"Issue","description":"Description of the issue"},"severity":{"type":"string","enum":["error","warning","info"],"title":"Severity","description":"Severity level"},"fix":{"type":"string","title":"Fix","description":"Actionable fix suggestion"},"points_deducted":{"type":"integer","title":"Points Deducted","description":"Score points deducted for this issue","default":0}},"type":"object","required":["issue","severity","fix"],"title":"SitemapValidatorIssue","description":"A single validation issue found in the sitemap."},"SitemapValidatorRequest":{"properties":{"sitemap_url":{"type":"string","maxLength":500,"minLength":10,"title":"Sitemap Url","description":"Direct URL to the XML sitemap to validate (e.g. 'https://example.com/sitemap.xml')"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this check"}},"type":"object","required":["sitemap_url"],"title":"SitemapValidatorRequest","description":"Request to validate a specific sitemap URL."},"SitemapValidatorResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the validation completed successfully"},"data":{"anyOf":[{"$ref":"#/components/schemas/SitemapValidatorResult"},{"type":"null"}],"description":"Validation result"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["success","message"],"title":"SitemapValidatorResponse","description":"Response for sitemap validator endpoint."},"SitemapValidatorResult":{"properties":{"sitemap_url":{"type":"string","title":"Sitemap Url","description":"The validated sitemap URL"},"status":{"type":"string","enum":["valid","warnings","invalid"],"title":"Status","description":"Overall status"},"overall_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Overall Score","description":"Score from 0-100"},"total_urls":{"type":"integer","title":"Total Urls","description":"Total page URLs across all sitemaps","default":0},"sub_sitemaps_count":{"type":"integer","title":"Sub Sitemaps Count","description":"Number of sub-sitemaps","default":0},"issues_count":{"type":"integer","title":"Issues Count","description":"Total number of issues found","default":0},"issues":{"items":{"$ref":"#/components/schemas/SitemapValidatorIssue"},"type":"array","title":"Issues","description":"All issues found, with fix suggestions"},"sitemaps":{"items":{"$ref":"#/components/schemas/SitemapValidatorSitemapResult"},"type":"array","title":"Sitemaps","description":"Detailed results per sitemap"},"checked_at":{"type":"string","format":"date-time","title":"Checked At","description":"When the validation was performed"},"response_time_ms":{"type":"integer","title":"Response Time Ms","description":"Total response time in milliseconds","default":0}},"type":"object","required":["sitemap_url","status","overall_score","checked_at"],"title":"SitemapValidatorResult","description":"Complete result of validating a sitemap."},"SitemapValidatorSitemapResult":{"properties":{"url":{"type":"string","title":"Url","description":"URL of the sitemap"},"is_index":{"type":"boolean","title":"Is Index","description":"Whether this is a sitemap index","default":false},"is_reachable":{"type":"boolean","title":"Is Reachable","description":"Whether the URL is reachable","default":true},"http_status":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Http Status","description":"HTTP status code"},"url_count":{"type":"integer","title":"Url Count","description":"Number of URLs found","default":0},"sub_sitemap_urls":{"items":{"type":"string"},"type":"array","title":"Sub Sitemap Urls","description":"Sub-sitemap URLs (if index)"},"sample_urls":{"items":{"type":"string"},"type":"array","title":"Sample Urls","description":"Sample page URLs from the sitemap (first 10)"},"issues":{"items":{"$ref":"#/components/schemas/SitemapValidatorIssue"},"type":"array","title":"Issues","description":"Issues found in this sitemap"},"last_modified":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Modified","description":"Last modified date"}},"type":"object","required":["url"],"title":"SitemapValidatorSitemapResult","description":"Validation result for a single sitemap (index or regular)."},"SitemapWithDomainAuditResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"url":{"type":"string","title":"Url"},"sitemap_url":{"items":{"type":"string"},"type":"array","title":"Sitemap Url"},"page_count":{"type":"integer","title":"Page Count"},"is_available":{"type":"boolean","title":"Is Available"},"last_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Checked At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"domain_audit":{"anyOf":[{"$ref":"#/components/schemas/DomainAuditResponse"},{"type":"null"}],"description":"Latest domain audit metrics"}},"type":"object","required":["id","workspace_id","url","sitemap_url","page_count","is_available","created_at","updated_at"],"title":"SitemapWithDomainAuditResponse","description":"Sitemap response with domain audit data."},"SocialAuthResponse":{"properties":{"user":{"$ref":"#/components/schemas/app__auth__response_schema__UserResponse"},"user_profile":{"anyOf":[{"$ref":"#/components/schemas/UserProfileResponse"},{"type":"null"}],"description":"User profile"},"access_token":{"type":"string","title":"Access Token","description":"JWT access token"},"refresh_token":{"type":"string","title":"Refresh Token","description":"JWT refresh token"},"session_token":{"type":"string","title":"Session Token","description":"Session token"},"is_first_time":{"type":"boolean","title":"Is First Time","description":"Whether this is user's first login","default":false},"workspaces":{"items":{"$ref":"#/components/schemas/WorkspaceResponse"},"type":"array","title":"Workspaces","description":"User's workspaces","default":[]},"pending_invitations":{"items":{"$ref":"#/components/schemas/PendingInvitationResponse"},"type":"array","title":"Pending Invitations","description":"Pending workspace invitations for this email","default":[]},"social_profile":{"additionalProperties":true,"type":"object","title":"Social Profile","description":"Social profile data","default":{}}},"type":"object","required":["user","access_token","refresh_token","session_token"],"title":"SocialAuthResponse","description":"Response for social authentication"},"SortField":{"type":"string","enum":["clicks","impressions","ctr","position"],"title":"SortField","description":"Sort field for analytics data."},"SourceItem":{"properties":{"source":{"type":"string","title":"Source"},"medium":{"type":"string","title":"Medium"},"sessions":{"type":"integer","title":"Sessions"},"users":{"type":"integer","title":"Users"},"new_users":{"type":"integer","title":"New Users"}},"type":"object","required":["source","medium","sessions","users","new_users"],"title":"SourceItem"},"SourceTrendPoint":{"properties":{"date":{"type":"string","title":"Date"},"organic_search":{"type":"integer","title":"Organic Search","default":0},"direct":{"type":"integer","title":"Direct","default":0},"social":{"type":"integer","title":"Social","default":0},"referral":{"type":"integer","title":"Referral","default":0},"ai_platform":{"type":"integer","title":"Ai Platform","default":0},"paid":{"type":"integer","title":"Paid","default":0},"email":{"type":"integer","title":"Email","default":0},"other":{"type":"integer","title":"Other","default":0}},"type":"object","required":["date"],"title":"SourceTrendPoint"},"SourceTrendRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"}},"type":"object","required":["start_date","end_date"],"title":"SourceTrendRequest"},"SourceTrendResponse":{"properties":{"trend_data":{"items":{"$ref":"#/components/schemas/SourceTrendPoint"},"type":"array","title":"Trend Data"},"totals":{"$ref":"#/components/schemas/SourceTrendTotals"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["trend_data","totals","date_range","property_id"],"title":"SourceTrendResponse"},"SourceTrendTotals":{"properties":{"organic_search":{"type":"integer","title":"Organic Search","default":0},"direct":{"type":"integer","title":"Direct","default":0},"social":{"type":"integer","title":"Social","default":0},"referral":{"type":"integer","title":"Referral","default":0},"ai_platform":{"type":"integer","title":"Ai Platform","default":0},"paid":{"type":"integer","title":"Paid","default":0},"email":{"type":"integer","title":"Email","default":0},"other":{"type":"integer","title":"Other","default":0}},"type":"object","title":"SourceTrendTotals"},"StepperStatus":{"type":"string","enum":["INITIATED","TYPE_SELECTION","SETUP_IN_PROGRESS","SETUP_COMPLETED","PROMPTS_IN_PROGRESS","PROMPTS_COMPLETED","RESULTS_IN_PROGRESS","RESULTS_COMPLETED","PLAN_IN_PROGRESS","PLAN_COMPLETED","COMPLETED"],"title":"StepperStatus"},"StockSearchItem":{"properties":{"source_id":{"type":"string","title":"Source Id"},"url":{"type":"string","title":"Url"},"thumbnail_url":{"type":"string","title":"Thumbnail Url"},"photographer":{"type":"string","title":"Photographer"}},"type":"object","required":["source_id","url","thumbnail_url","photographer"],"title":"StockSearchItem"},"StockSearchRequest":{"properties":{"query":{"type":"string","maxLength":200,"minLength":1,"title":"Query"},"per_page":{"type":"integer","maximum":30.0,"minimum":1.0,"title":"Per Page","default":10}},"type":"object","required":["query"],"title":"StockSearchRequest"},"StockSearchResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/StockSearchItem"},"type":"array","title":"Items"},"query":{"type":"string","title":"Query"}},"type":"object","required":["items","query"],"title":"StockSearchResponse"},"StockSelectRequest":{"properties":{"source_id":{"type":"string","minLength":1,"title":"Source Id"},"image_type":{"$ref":"#/components/schemas/ImageType"}},"type":"object","required":["source_id","image_type"],"title":"StockSelectRequest"},"SubscriptionPlanResponse":{"properties":{"name":{"type":"string","title":"Name"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"price_cents":{"type":"integer","title":"Price Cents","default":0},"billing_interval":{"$ref":"#/components/schemas/BillingInterval","default":"MONTHLY"},"monthly_credits":{"type":"integer","title":"Monthly Credits","default":0},"credit_rollover_months":{"type":"integer","title":"Credit Rollover Months","default":3},"features":{"additionalProperties":true,"type":"object","title":"Features"},"is_public":{"type":"boolean","title":"Is Public","default":true},"is_enterprise":{"type":"boolean","title":"Is Enterprise","default":false},"sort_order":{"type":"integer","title":"Sort Order","default":0},"id":{"type":"string","format":"uuid","title":"Id"},"stripe_price_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Price Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["name","display_name","id","created_at","updated_at"],"title":"SubscriptionPlanResponse","description":"Response schema for subscription plans."},"SubscriptionResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"plan_id":{"type":"string","format":"uuid","title":"Plan Id"},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Id"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"status":{"$ref":"#/components/schemas/SubscriptionStatus"},"current_period_start":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period Start"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"},"canceled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Canceled At"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"plan":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionPlanResponse"},{"type":"null"}]},"pending_plan_change":{"anyOf":[{"$ref":"#/components/schemas/PendingPlanChange"},{"type":"null"}]}},"type":"object","required":["id","workspace_id","plan_id","status","created_at","updated_at"],"title":"SubscriptionResponse","description":"Response schema for subscriptions."},"SubscriptionStatus":{"type":"string","enum":["ACTIVE","TRIALING","PAST_DUE","CANCELED","UNPAID","INCOMPLETE","INCOMPLETE_EXPIRED","PAUSED"],"title":"SubscriptionStatus","description":"Status of a workspace subscription."},"SuggestLinksRequest":{"properties":{"url":{"type":"string","title":"Url","description":"The published URL of the article"},"funnel_stage":{"anyOf":[{"$ref":"#/components/schemas/FunnelStage"},{"type":"null"}],"description":"Funnel stage of the article"}},"type":"object","required":["url"],"title":"SuggestLinksRequest","description":"Request to generate link suggestions for an article."},"SummaryStatus":{"type":"string","enum":["PENDING","COMPLETED","FAILED"],"title":"SummaryStatus","description":"Status of summary generation."},"SummaryType":{"type":"string","enum":["AI_VISIBILITY"],"title":"SummaryType","description":"Type of summary being generated."},"TechnicalMetricsResponse":{"properties":{"status_code":{"type":"integer","title":"Status Code"},"final_url":{"type":"string","title":"Final Url"},"uses_https":{"type":"boolean","title":"Uses Https"},"redirect_chain_length":{"type":"integer","title":"Redirect Chain Length"},"robots_meta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Robots Meta"},"x_robots_tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X Robots Tag"},"canonical_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Canonical Url"},"is_self_canonical":{"type":"boolean","title":"Is Self Canonical"},"is_indexable":{"type":"boolean","title":"Is Indexable"},"robots_txt_blocked":{"type":"boolean","title":"Robots Txt Blocked"},"in_xml_sitemap":{"type":"boolean","title":"In Xml Sitemap"},"depth_from_home":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Depth From Home"},"internal_link_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Internal Link Count"},"external_link_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"External Link Count"},"broken_outbound_links_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Broken Outbound Links Count"},"render_success":{"type":"boolean","title":"Render Success"},"render_time_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Render Time Ms"}},"type":"object","required":["status_code","final_url","uses_https","redirect_chain_length","is_self_canonical","is_indexable","robots_txt_blocked","in_xml_sitemap","render_success"],"title":"TechnicalMetricsResponse","description":"Technical SEO metrics response."},"TechnicalSEOMetrics":{"properties":{"performance_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Performance Score","description":"Performance score (0-100)"},"seo_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Seo Score","description":"SEO score (0-100)"},"accessibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Accessibility Score","description":"Accessibility score (0-100)"},"best_practices_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Best Practices Score","description":"Best practices score (0-100)"},"lcp_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lcp Ms","description":"Largest Contentful Paint (ms)"},"cls":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cls","description":"Cumulative Layout Shift"},"fcp_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fcp Ms","description":"First Contentful Paint (ms)"}},"type":"object","title":"TechnicalSEOMetrics","description":"Technical SEO metrics from Lighthouse."},"TimeseriesDataPoint":{"properties":{"date":{"type":"string","title":"Date","description":"Date in ISO format (YYYY-MM-DD)"},"value":{"type":"number","title":"Value","description":"Value for that date"}},"type":"object","required":["date","value"],"title":"TimeseriesDataPoint","description":"Schema for timeseries data point."},"ToneAttributeSchema":{"properties":{"attribute":{"type":"string","title":"Attribute"},"evidence":{"type":"string","title":"Evidence"}},"type":"object","required":["attribute","evidence"],"title":"ToneAttributeSchema","description":"Tone attribute for API responses."},"TopBotTypeResponse":{"properties":{"bot_type":{"type":"string","title":"Bot Type","description":"Type of bot"},"visits":{"type":"integer","title":"Visits","description":"Total number of visits"},"unique_visitors":{"type":"integer","title":"Unique Visitors","description":"Number of unique visitors"}},"type":"object","required":["bot_type","visits","unique_visitors"],"title":"TopBotTypeResponse"},"TopPlatformResponse":{"properties":{"platform":{"type":"string","title":"Platform","description":"AI platform name"},"visits":{"type":"integer","title":"Visits","description":"Total number of visits"},"unique_visitors":{"type":"integer","title":"Unique Visitors","description":"Number of unique visitors"}},"type":"object","required":["platform","visits","unique_visitors"],"title":"TopPlatformResponse"},"TopReferralResponse":{"properties":{"referral_source":{"type":"string","title":"Referral Source","description":"Source of the referral"},"referrer":{"type":"string","title":"Referrer","description":"Full referrer URL"},"visits":{"type":"integer","title":"Visits","description":"Total number of visits"},"unique_visitors":{"type":"integer","title":"Unique Visitors","description":"Number of unique visitors"}},"type":"object","required":["referral_source","referrer","visits","unique_visitors"],"title":"TopReferralResponse"},"TopUpPackageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"credits":{"type":"integer","title":"Credits"},"price_cents":{"type":"integer","title":"Price Cents"},"bonus_credits":{"type":"integer","title":"Bonus Credits","default":0},"stripe_price_id":{"type":"string","title":"Stripe Price Id"},"is_active":{"type":"boolean","title":"Is Active"},"sort_order":{"type":"integer","title":"Sort Order"}},"type":"object","required":["id","name","credits","price_cents","stripe_price_id","is_active","sort_order"],"title":"TopUpPackageResponse","description":"Response schema for top-up packages."},"TopicAggregatedAnalytics":{"properties":{"total_prompts":{"type":"integer","title":"Total Prompts","description":"Total number of prompts in topic"},"avg_visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Visibility Score","description":"Average visibility score"},"avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Position","description":"Average position"},"avg_citation_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Citation Share","description":"Average citation share"},"total_executions":{"type":"integer","title":"Total Executions","description":"Total executions","default":0},"visibility_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Visibility Rank","description":"Visibility rank among topics"}},"type":"object","required":["total_prompts"],"title":"TopicAggregatedAnalytics","description":"Schema for aggregated topic analytics with total prompts count."},"TopicAnalytics":{"properties":{"avg_visibility_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Visibility Score","description":"Average visibility score"},"avg_position":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Position","description":"Average position"},"avg_citation_share":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Avg Citation Share","description":"Average citation share"},"total_executions":{"type":"integer","title":"Total Executions","description":"Total executions","default":0},"visibility_rank":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Visibility Rank","description":"Visibility rank among topics"}},"type":"object","title":"TopicAnalytics","description":"Schema for aggregated topic analytics."},"TopicClusterItem":{"properties":{"label":{"type":"string","title":"Label"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"},"is_branded":{"type":"boolean","title":"Is Branded","default":false}},"type":"object","required":["label"],"title":"TopicClusterItem","description":"Single topic cluster item."},"TopicClustersData":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TopicClusterItem"},"type":"array","title":"Items"},"pagination":{"$ref":"#/components/schemas/PaginationInfo"}},"type":"object","required":["items","pagination"],"title":"TopicClustersData","description":"Data for topic clusters endpoint."},"TopicClustersResponse":{"properties":{"success":{"type":"boolean","title":"Success","default":true},"data":{"anyOf":[{"$ref":"#/components/schemas/TopicClustersData"},{"type":"null"}]},"error":{"anyOf":[{"$ref":"#/components/schemas/ErrorDetail"},{"type":"null"}]}},"type":"object","title":"TopicClustersResponse","description":"Response for topic clusters endpoint."},"TopicDetailedAnalyticsResponse":{"properties":{"topic":{"$ref":"#/components/schemas/TopicInfo","description":"Topic information"},"prompts":{"items":{"$ref":"#/components/schemas/PromptWithAnalytics"},"type":"array","title":"Prompts","description":"Prompts with individual analytics"},"period":{"$ref":"#/components/schemas/AnalyticsPeriod","description":"Analytics period"},"topic_analytics":{"$ref":"#/components/schemas/TopicAggregatedAnalytics","description":"Aggregated topic analytics"}},"type":"object","required":["topic","prompts","period","topic_analytics"],"title":"TopicDetailedAnalyticsResponse","description":"Response schema for detailed topic analytics with individual prompt data."},"TopicInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/TopicStatus"},"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","description","status","created_at","updated_at"],"title":"TopicInfo","description":"Schema for topic basic information."},"TopicResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/TopicStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"}},"type":"object","required":["id","name","description","status","created_at","updated_at","user_id","workspace_id"],"title":"TopicResponse","description":"Response schema for topic data."},"TopicStatus":{"type":"string","enum":["active","inactive","archived"],"title":"TopicStatus","description":"DEPRECATED: Topic status enumeration.\n\nThis enum is deprecated along with the Topic model."},"TopicWithAnalyticsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/TopicStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"prompt_count":{"type":"integer","title":"Prompt Count"},"analytics":{"$ref":"#/components/schemas/TopicAnalytics"}},"type":"object","required":["id","name","description","status","created_at","updated_at","prompt_count","analytics"],"title":"TopicWithAnalyticsResponse","description":"Response schema for topic with analytics."},"TopicWithCountResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/TopicStatus"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"prompt_count":{"type":"integer","title":"Prompt Count"}},"type":"object","required":["id","name","description","status","created_at","updated_at","prompt_count"],"title":"TopicWithCountResponse","description":"Response schema for topic with prompt count."},"TourProgressResponse":{"properties":{"product_tour_status":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Product Tour Status"}},"type":"object","required":["product_tour_status"],"title":"TourProgressResponse","description":"Map of tour_id -> completion flag persisted on user_profile.product_tour_status."},"TrackKeywordRequest":{"properties":{"workspace_keyword_id":{"type":"string","format":"uuid","title":"Workspace Keyword Id"},"platform":{"$ref":"#/components/schemas/EngagementPlatform"}},"type":"object","required":["workspace_keyword_id","platform"],"title":"TrackKeywordRequest"},"TrackedKeywordResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_keyword_id":{"type":"string","format":"uuid","title":"Workspace Keyword Id"},"keyword":{"type":"string","title":"Keyword"},"search_volume":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Search Volume"},"platform":{"$ref":"#/components/schemas/EngagementPlatform"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","workspace_keyword_id","keyword","search_volume","platform","created_at"],"title":"TrackedKeywordResponse","description":"Service-level response — built by joining tracked-keyword row +\nKeywords.current_volume + Keywords.keyword. Not constructed via\n`from_attributes` (the joined fields aren't ORM attributes)."},"TrafficAcquisitionRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"limit":{"type":"integer","maximum":100.0,"title":"Limit","description":"Top N channels","default":10}},"type":"object","required":["start_date","end_date"],"title":"TrafficAcquisitionRequest"},"TrafficAcquisitionResponse":{"properties":{"channels":{"items":{"$ref":"#/components/schemas/ChannelAcquisitionItem"},"type":"array","title":"Channels"},"total_sessions":{"type":"integer","title":"Total Sessions"},"total_users":{"type":"integer","title":"Total Users"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["channels","total_sessions","total_users","date_range","property_id"],"title":"TrafficAcquisitionResponse"},"TrafficOverviewChartPoint":{"properties":{"date":{"type":"string","title":"Date"},"active_users":{"type":"integer","title":"Active Users"},"new_users":{"type":"integer","title":"New Users"},"sessions":{"type":"integer","title":"Sessions"},"page_views":{"type":"integer","title":"Page Views"}},"type":"object","required":["date","active_users","new_users","sessions","page_views"],"title":"TrafficOverviewChartPoint"},"TrafficOverviewMetric":{"properties":{"label":{"type":"string","title":"Label"},"value":{"type":"integer","title":"Value"},"formatted_value":{"type":"string","title":"Formatted Value"},"change_percent":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Change Percent"}},"type":"object","required":["label","value","formatted_value"],"title":"TrafficOverviewMetric"},"TrafficOverviewRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"compare_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compare Start Date","description":"Comparison period start date"},"compare_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Compare End Date","description":"Comparison period end date"}},"type":"object","required":["start_date","end_date"],"title":"TrafficOverviewRequest"},"TrafficOverviewResponse":{"properties":{"metrics":{"items":{"$ref":"#/components/schemas/TrafficOverviewMetric"},"type":"array","title":"Metrics"},"chart_data":{"items":{"$ref":"#/components/schemas/TrafficOverviewChartPoint"},"type":"array","title":"Chart Data"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["metrics","chart_data","date_range","property_id"],"title":"TrafficOverviewResponse"},"TrafficType":{"type":"string","enum":["AI_CITATION","AI_TRAINING","HUMAN_REFERRAL","HUMAN_DIRECT","BOT_CRAWLER","UNKNOWN"],"title":"TrafficType","description":"Classification of traffic based on source and intent"},"TrendingKeywordItem":{"properties":{"term":{"type":"string","title":"Term"},"geo":{"type":"string","title":"Geo"},"approximate_traffic":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Approximate Traffic"},"trending_date":{"type":"string","format":"date","title":"Trending Date"},"workspace_keyword_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Keyword Id"},"keyword_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Keyword Text"}},"type":"object","required":["term","geo","trending_date"],"title":"TrendingKeywordItem","description":"Single trending keyword item."},"TrendingResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/TrendingKeywordItem"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"TrendingResponse","description":"Response for trending keywords endpoint."},"TriggerComparisonRequest":{"properties":{"competitor_id":{"type":"string","format":"uuid","title":"Competitor Id","description":"Competitor ID to compare against"}},"type":"object","required":["competitor_id"],"title":"TriggerComparisonRequest","description":"Request to trigger async comparison generation."},"TriggerComparisonResponse":{"properties":{"message":{"type":"string","title":"Message"},"comparison_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Comparison Id"},"status":{"type":"string","title":"Status","default":"triggered"}},"type":"object","required":["message"],"title":"TriggerComparisonResponse","description":"Response for async trigger."},"TriggerEnrichmentRequest":{"properties":{"force":{"type":"boolean","title":"Force","description":"Force re-enrichment even if already completed","default":false}},"type":"object","title":"TriggerEnrichmentRequest","description":"Request to manually trigger enrichment for a contact."},"TriggerExecutionResponse":{"properties":{"message":{"type":"string","title":"Message"},"workspace_id":{"type":"string","title":"Workspace Id"},"prompts_found":{"type":"integer","title":"Prompts Found"}},"type":"object","required":["message","workspace_id","prompts_found"],"title":"TriggerExecutionResponse","description":"Response schema for triggering workspace execution."},"TriggerExportRequest":{"properties":{"resource_type":{"$ref":"#/components/schemas/ExportResourceType","description":"Type of resource to export"},"resource_id":{"type":"string","format":"uuid","title":"Resource Id","description":"ID of the resource to export"},"destination_ids":{"anyOf":[{"items":{"type":"string","format":"uuid"},"type":"array"},{"type":"null"}],"title":"Destination Ids","description":"Specific destinations to send to. If omitted, sends to all enabled destinations."}},"type":"object","required":["resource_type","resource_id"],"title":"TriggerExportRequest"},"TriggerExportResponse":{"properties":{"logs":{"items":{"$ref":"#/components/schemas/ExportEventLogResponse"},"type":"array","title":"Logs"},"message":{"type":"string","title":"Message","default":"Export triggered"}},"type":"object","required":["logs"],"title":"TriggerExportResponse"},"UCPCapabilityDetail":{"properties":{"identifier":{"type":"string","title":"Identifier","description":"Capability identifier (e.g., 'dev.ucp.shopping.checkout')"},"name":{"type":"string","title":"Name","description":"Human-readable capability name"},"supported":{"type":"boolean","title":"Supported","description":"Whether this capability is supported"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description","description":"Description of the capability"}},"type":"object","required":["identifier","name","supported"],"title":"UCPCapabilityDetail","description":"Details about a specific UCP capability."},"UCPCheckRequest":{"properties":{"domain":{"type":"string","maxLength":255,"minLength":3,"title":"Domain","description":"The merchant domain to check (e.g., 'example.com')"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email","description":"Optional email to associate with this check"},"force_refresh":{"type":"boolean","title":"Force Refresh","description":"Force a fresh check even if cached data exists","default":false}},"type":"object","required":["domain"],"title":"UCPCheckRequest","description":"Request to check a merchant's UCP readiness."},"UCPCheckResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the check was successful"},"data":{"anyOf":[{"$ref":"#/components/schemas/UCPCheckResult"},{"type":"null"}],"description":"Check result data"},"message":{"type":"string","title":"Message","description":"Response message"},"cached":{"type":"boolean","title":"Cached","description":"Whether the result was from cache","default":false}},"type":"object","required":["success","message"],"title":"UCPCheckResponse","description":"Response for UCP check endpoint."},"UCPCheckResult":{"properties":{"domain":{"type":"string","title":"Domain","description":"The checked domain"},"merchant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Name","description":"Merchant name if available"},"ucp_status":{"$ref":"#/components/schemas/UCPStatus","description":"UCP readiness status"},"readiness_score":{"type":"number","maximum":100.0,"minimum":0.0,"title":"Readiness Score","description":"Readiness score from 0-100","default":0.0},"ucp_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ucp Version","description":"UCP specification version"},"manifest_url":{"type":"string","title":"Manifest Url","description":"URL of the UCP manifest"},"manifest_found":{"type":"boolean","title":"Manifest Found","description":"Whether a manifest was found"},"capabilities":{"items":{"$ref":"#/components/schemas/UCPCapabilityDetail"},"type":"array","title":"Capabilities","description":"List of UCP capabilities"},"capability_count":{"type":"integer","title":"Capability Count","description":"Number of supported capabilities","default":0},"transports":{"items":{"$ref":"#/components/schemas/UCPTransportDetail"},"type":"array","title":"Transports","description":"List of transport protocols"},"transport_count":{"type":"integer","title":"Transport Count","description":"Number of supported transports","default":0},"services":{"items":{"$ref":"#/components/schemas/UCPServiceDetail"},"type":"array","title":"Services","description":"List of service endpoints"},"validation":{"$ref":"#/components/schemas/UCPValidationResult","description":"Validation result details"},"checked_at":{"type":"string","format":"date-time","title":"Checked At","description":"When the check was performed"},"response_time_ms":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Response Time Ms","description":"Response time in milliseconds"},"http_status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Http Status Code","description":"HTTP status code"},"has_signing_keys":{"type":"boolean","title":"Has Signing Keys","description":"Whether signing keys are present","default":false}},"type":"object","required":["domain","ucp_status","manifest_url","manifest_found","validation","checked_at"],"title":"UCPCheckResult","description":"Complete result of a UCP readiness check."},"UCPDirectoryPagination":{"properties":{"current_page":{"type":"integer","title":"Current Page","description":"Current page number"},"page_size":{"type":"integer","title":"Page Size","description":"Items per page"},"total_count":{"type":"integer","title":"Total Count","description":"Total number of items"},"total_pages":{"type":"integer","title":"Total Pages","description":"Total number of pages"},"has_next":{"type":"boolean","title":"Has Next","description":"Whether there is a next page"},"has_prev":{"type":"boolean","title":"Has Prev","description":"Whether there is a previous page"}},"type":"object","required":["current_page","page_size","total_count","total_pages","has_next","has_prev"],"title":"UCPDirectoryPagination","description":"Pagination metadata for directory results."},"UCPDirectoryResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the request was successful"},"data":{"items":{"$ref":"#/components/schemas/UCPMerchantSummary"},"type":"array","title":"Data","description":"List of merchant summaries"},"pagination":{"$ref":"#/components/schemas/UCPDirectoryPagination","description":"Pagination metadata"},"stats":{"additionalProperties":true,"type":"object","title":"Stats","description":"Directory statistics"},"message":{"type":"string","title":"Message","description":"Response message"}},"type":"object","required":["success","pagination","message"],"title":"UCPDirectoryResponse","description":"Response for UCP merchant directory endpoint."},"UCPMerchantSummary":{"properties":{"id":{"type":"string","format":"uuid","title":"Id","description":"Merchant record ID"},"domain":{"type":"string","title":"Domain","description":"Merchant domain"},"merchant_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merchant Name","description":"Merchant name"},"ucp_status":{"$ref":"#/components/schemas/UCPStatus","description":"UCP readiness status"},"readiness_score":{"type":"number","title":"Readiness Score","description":"Readiness score (0-100)","default":0.0},"capability_count":{"type":"integer","title":"Capability Count","description":"Number of supported capabilities","default":0},"transport_count":{"type":"integer","title":"Transport Count","description":"Number of supported transports","default":0},"has_checkout":{"type":"boolean","title":"Has Checkout","description":"Supports checkout capability","default":false},"has_identity_linking":{"type":"boolean","title":"Has Identity Linking","description":"Supports identity linking","default":false},"last_checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Checked At","description":"When last checked"},"is_stale":{"type":"boolean","title":"Is Stale","description":"Whether the check data is stale","default":false}},"type":"object","required":["id","domain","ucp_status"],"title":"UCPMerchantSummary","description":"Summary view of a merchant for directory listing."},"UCPServiceDetail":{"properties":{"name":{"type":"string","title":"Name","description":"Service name"},"transport":{"type":"string","title":"Transport","description":"Transport type used"},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint","description":"Service endpoint URL"},"schema_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Schema Url","description":"Schema definition URL"}},"type":"object","required":["name","transport"],"title":"UCPServiceDetail","description":"Details about a UCP service endpoint."},"UCPStatus":{"type":"string","enum":["READY","PARTIAL","NOT_READY","UNREACHABLE","PENDING"],"title":"UCPStatus","description":"UCP readiness status for merchants.\nIndicates whether a merchant has a valid UCP manifest."},"UCPTransportDetail":{"properties":{"type":{"type":"string","title":"Type","description":"Transport type (REST, MCP, A2A, EMBEDDED)"},"endpoint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Endpoint","description":"Service endpoint URL if available"},"supported":{"type":"boolean","title":"Supported","description":"Whether this transport is supported"}},"type":"object","required":["type","supported"],"title":"UCPTransportDetail","description":"Details about a UCP transport protocol."},"UCPValidationResult":{"properties":{"is_valid":{"type":"boolean","title":"Is Valid","description":"Whether the manifest is valid"},"errors":{"items":{"type":"string"},"type":"array","title":"Errors","description":"Validation errors"},"warnings":{"items":{"type":"string"},"type":"array","title":"Warnings","description":"Validation warnings"}},"type":"object","required":["is_valid"],"title":"UCPValidationResult","description":"Result of UCP manifest validation."},"URLDataResponse":{"properties":{"success":{"type":"boolean","title":"Success","description":"Whether the operation was successful"},"data":{"items":{"$ref":"#/components/schemas/URLStatistic"},"type":"array","title":"Data","description":"List of URL statistics"},"total_urls":{"type":"integer","minimum":0.0,"title":"Total Urls","description":"Total number of URLs returned"},"page":{"type":"integer","minimum":1.0,"title":"Page","description":"Current page number"},"page_size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Page Size","description":"Number of items per page"},"error":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error","description":"Error message if operation failed"}},"type":"object","required":["success","data","total_urls","page","page_size"],"title":"URLDataResponse","description":"Response model for URL data API."},"URLSortBy":{"type":"string","enum":["used_total","avg_citations"],"title":"URLSortBy","description":"Allowed sorting fields for URL data."},"URLStatistic":{"properties":{"url":{"type":"string","title":"Url","description":"The exact URL used in responses"},"page_title":{"type":"string","title":"Page Title","description":"Title of the referenced page"},"type":{"type":"string","title":"Type","description":"Domain type (CORPORATE, EDITORIAL, INSTITUTIONAL, UGC, REFERENCE, COMPETITOR, YOU, OTHER)"},"used_total":{"type":"integer","minimum":0.0,"title":"Used Total","description":"Total number of times URL was used as source"},"avg_citations":{"type":"number","title":"Avg Citations","description":"Average number of citations when URL was used"},"text_used":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text Used","description":"Sample of citation text from this URL"},"prompt_count":{"type":"integer","minimum":0.0,"title":"Prompt Count","description":"Number of distinct prompts citing this URL"}},"type":"object","required":["url","page_title","type","used_total","avg_citations","prompt_count"],"title":"URLStatistic","description":"Individual URL statistic entry."},"UnreadCountResponse":{"properties":{"unread_count":{"type":"integer","title":"Unread Count"}},"type":"object","required":["unread_count"],"title":"UnreadCountResponse","description":"Response schema for unread count."},"UpdateAction":{"type":"string","enum":["SUBMIT_TITLES","SUBMIT_BRIEF","APPROVE_FINAL","MARK_PUBLISHED","REGENERATE","SAVE_CONTENT"],"title":"UpdateAction","description":"Actions for PATCH /contents/{id} endpoint."},"UpdateActionFeedbackRequest":{"properties":{"feedback":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Feedback","description":"true = thumbs up, false = thumbs down, null = clear"}},"type":"object","title":"UpdateActionFeedbackRequest","description":"Request schema for updating action feedback."},"UpdateActionRequest":{"properties":{"status":{"$ref":"#/components/schemas/ActionStatus"},"blocked_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Blocked Reason","description":"Required when status is BLOCKED"},"archived_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archived Reason","description":"Required when status is ARCHIVED"}},"type":"object","required":["status"],"title":"UpdateActionRequest","description":"Request schema for updating action status."},"UpdateBrandVaultCoreRequest":{"properties":{"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"brand_description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Description"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"},"mission_statement":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mission Statement"},"brand_archetype":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Archetype"},"archetype_rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Archetype Rationale"},"core_value_proposition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Core Value Proposition"},"anti_identity":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Anti Identity"},"competitor_stance":{"anyOf":[{"items":{"$ref":"#/components/schemas/CompetitorStanceSchema"},"type":"array"},{"type":"null"}],"title":"Competitor Stance"}},"type":"object","title":"UpdateBrandVaultCoreRequest","description":"Request schema for updating Brand Vault Core data."},"UpdateBrandVaultPersonaRequest":{"properties":{"persona_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Persona Name"},"proficiency_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Proficiency Level"},"pain_points":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Pain Points"},"desired_outcomes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Desired Outcomes"},"buying_barriers":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Buying Barriers"},"jobs_to_be_done":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Jobs To Be Done"}},"type":"object","title":"UpdateBrandVaultPersonaRequest","description":"Request schema for updating Brand Vault Persona data."},"UpdateBrandVaultProductRequest":{"properties":{"product_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Product Name"},"hook":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hook"},"pricing_model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pricing Model"},"differentiator":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Differentiator"},"features":{"anyOf":[{"items":{"$ref":"#/components/schemas/FeatureSchema"},"type":"array"},{"type":"null"}],"title":"Features"}},"type":"object","title":"UpdateBrandVaultProductRequest","description":"Request schema for updating Brand Vault Product data."},"UpdateBrandVaultVoiceRequest":{"properties":{"tone_attributes":{"anyOf":[{"items":{"$ref":"#/components/schemas/ToneAttributeSchema"},"type":"array"},{"type":"null"}],"title":"Tone Attributes"},"writing_style":{"anyOf":[{"$ref":"#/components/schemas/WritingStyleSchema"},{"type":"null"}]},"vocabulary":{"anyOf":[{"$ref":"#/components/schemas/VocabularySchema"},{"type":"null"}]},"sample_phrases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Sample Phrases"}},"type":"object","title":"UpdateBrandVaultVoiceRequest","description":"Request schema for updating Brand Vault Voice data."},"UpdateCompetitorRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"domain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Domain"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"aliases":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Aliases"},"excluded_match_terms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Excluded Match Terms"}},"type":"object","title":"UpdateCompetitorRequest"},"UpdateContentRequest":{"properties":{"action":{"$ref":"#/components/schemas/UpdateAction","description":"Action to perform"},"data":{"additionalProperties":true,"type":"object","title":"Data","description":"Action-specific data"}},"type":"object","required":["action"],"title":"UpdateContentRequest","description":"Request schema for updating/resuming content generation.","examples":[{"action":"SUBMIT_TITLES","data":{"selected_title":"The Ultimate Guide to Enterprise CRM"}},{"action":"SUBMIT_BRIEF","data":{"updated_brief":{"sections":[{"heading":"Introduction","subheadings":["What is CRM?"]}]}}}]},"UpdateContentResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"},"status":{"$ref":"#/components/schemas/ContentStatus"}},"type":"object","required":["success","message","status"],"title":"UpdateContentResponse","description":"Response schema for PATCH /contents/{id}."},"UpdateExportDestinationRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Url"},"secret":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Secret"},"headers":{"anyOf":[{"additionalProperties":{"type":"string"},"type":"object"},{"type":"null"}],"title":"Headers"},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types"},"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"}},"type":"object","title":"UpdateExportDestinationRequest"},"UpdateHeroTextStyleRequest":{"properties":{"font_family":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Font Family"},"font_weight":{"anyOf":[{"$ref":"#/components/schemas/FontWeight"},{"type":"null"}]},"font_size":{"anyOf":[{"$ref":"#/components/schemas/FontSize"},{"type":"null"}]},"text_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text Color"}},"type":"object","title":"UpdateHeroTextStyleRequest","description":"Request schema for updating hero text style. All fields optional for partial update."},"UpdateIntegrationSettingsRequest":{"properties":{"auto_sync":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Auto Sync"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"connected_properties":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Connected Properties"}},"type":"object","title":"UpdateIntegrationSettingsRequest","description":"Update integration settings"},"UpdateNotificationPreferences":{"properties":{"email_notifications":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Notifications"},"weekly_digest":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Weekly Digest"},"browser_notifications":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Browser Notifications"}},"type":"object","title":"UpdateNotificationPreferences","description":"Partial update for NotificationPreferences."},"UpdateOutreachStatusRequest":{"properties":{"status":{"$ref":"#/components/schemas/OutreachStatus"},"notes":{"anyOf":[{"type":"string","maxLength":2000},{"type":"null"}],"title":"Notes"}},"type":"object","required":["status"],"title":"UpdateOutreachStatusRequest","description":"Request to update the outreach lifecycle status for a contact."},"UpdatePromptRequest":{"properties":{"status":{"anyOf":[{"$ref":"#/components/schemas/PromptStatus"},{"type":"null"}],"description":"Status of the prompt (ACTIVE or INACTIVE)"},"intent_type":{"anyOf":[{"$ref":"#/components/schemas/IntentType"},{"type":"null"}],"description":"Intent type for the prompt"},"workspace_keyword_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Keyword Id","description":"Workspace keyword ID to associate with this prompt"}},"type":"object","title":"UpdatePromptRequest"},"UpdateStatusRequest":{"properties":{"status":{"$ref":"#/components/schemas/EngagementOpportunityStatus"}},"type":"object","required":["status"],"title":"UpdateStatusRequest"},"UpdateTopicRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name","description":"Topic name"},"description":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Description","description":"Topic description"},"status":{"anyOf":[{"$ref":"#/components/schemas/TopicStatus"},{"type":"null"}],"description":"Topic status"}},"type":"object","title":"UpdateTopicRequest","description":"Request schema for updating a topic."},"UpdateTourProgress":{"properties":{"completed":{"type":"boolean","title":"Completed","default":true}},"type":"object","title":"UpdateTourProgress","description":"Body for PATCH /tour-progress/{tour_id}. Defaults to marking the tour complete."},"UrlFilterEntry":{"properties":{"pattern":{"type":"string","title":"Pattern"},"match_type":{"$ref":"#/components/schemas/UrlMatchType","default":"contains"}},"type":"object","required":["pattern"],"title":"UrlFilterEntry"},"UrlMatchType":{"type":"string","enum":["contains","exact"],"title":"UrlMatchType"},"UrlPatternsResponse":{"properties":{"patterns":{"items":{"type":"string"},"type":"array","title":"Patterns"}},"type":"object","required":["patterns"],"title":"UrlPatternsResponse","description":"Response for distinct URL path segments."},"UsageByActionType":{"properties":{"action_type":{"type":"string","title":"Action Type"},"display_name":{"type":"string","title":"Display Name"},"total_credits":{"type":"integer","title":"Total Credits"},"transaction_count":{"type":"integer","title":"Transaction Count"},"percentage":{"type":"number","title":"Percentage","default":0.0}},"type":"object","required":["action_type","display_name","total_credits","transaction_count"],"title":"UsageByActionType","description":"Usage breakdown by action type."},"UsageByPlatform":{"properties":{"platform":{"type":"string","title":"Platform"},"display_name":{"type":"string","title":"Display Name"},"total_credits":{"type":"integer","title":"Total Credits"},"transaction_count":{"type":"integer","title":"Transaction Count"},"percentage":{"type":"number","title":"Percentage","default":0.0}},"type":"object","required":["platform","display_name","total_credits","transaction_count"],"title":"UsageByPlatform","description":"Usage breakdown by AI platform."},"UserAcquisitionChannel":{"properties":{"channel":{"type":"string","title":"Channel"},"new_users":{"type":"integer","title":"New Users"},"returning_users":{"type":"integer","title":"Returning Users"},"total_users":{"type":"integer","title":"Total Users"},"engaged_sessions":{"type":"integer","title":"Engaged Sessions"},"engagement_rate":{"type":"number","title":"Engagement Rate"},"avg_engagement_time":{"type":"number","title":"Avg Engagement Time"},"events_per_session":{"type":"number","title":"Events Per Session"}},"type":"object","required":["channel","new_users","returning_users","total_users","engaged_sessions","engagement_rate","avg_engagement_time","events_per_session"],"title":"UserAcquisitionChannel"},"UserAcquisitionRequest":{"properties":{"start_date":{"type":"string","title":"Start Date","description":"Start date in YYYY-MM-DD format or relative (e.g., '30daysAgo')"},"end_date":{"type":"string","title":"End Date","description":"End date in YYYY-MM-DD format or relative (e.g., 'today', 'yesterday')"},"limit":{"type":"integer","maximum":100.0,"title":"Limit","description":"Top N channels","default":10}},"type":"object","required":["start_date","end_date"],"title":"UserAcquisitionRequest"},"UserAcquisitionResponse":{"properties":{"channels":{"items":{"$ref":"#/components/schemas/UserAcquisitionChannel"},"type":"array","title":"Channels"},"trend_data":{"items":{"$ref":"#/components/schemas/UserAcquisitionTrendPoint"},"type":"array","title":"Trend Data"},"total_new_users":{"type":"integer","title":"Total New Users"},"date_range":{"additionalProperties":{"type":"string"},"type":"object","title":"Date Range"},"property_id":{"type":"string","title":"Property Id"}},"type":"object","required":["channels","trend_data","total_new_users","date_range","property_id"],"title":"UserAcquisitionResponse"},"UserAcquisitionTrendPoint":{"properties":{"date":{"type":"string","title":"Date"},"channels":{"additionalProperties":{"type":"integer"},"type":"object","title":"Channels"}},"type":"object","required":["date","channels"],"title":"UserAcquisitionTrendPoint"},"UserInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"},"status":{"type":"string","title":"Status"},"profile":{"anyOf":[{"$ref":"#/components/schemas/app__invitation__schemas__UserProfileInfo"},{"type":"null"}]}},"type":"object","required":["id","email","status"],"title":"UserInfo","description":"User information"},"UserLanguage":{"type":"string","enum":["EN"],"title":"UserLanguage"},"UserProfileResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Profile ID"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name","description":"User's first name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name","description":"User's last name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url","description":"Profile picture URL"},"language":{"type":"string","title":"Language","description":"Preferred language","default":"EN"}},"type":"object","required":["id"],"title":"UserProfileResponse","description":"User profile information"},"UserStatus":{"type":"string","enum":["PENDING_APPROVAL","ACTIVE","INACTIVE","SUSPENDED"],"title":"UserStatus"},"UserWorkspaceDetailsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_role":{"$ref":"#/components/schemas/WorkspaceRoleResponse"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"},"last_active_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Active At"}},"type":"object","required":["id","user_role"],"title":"UserWorkspaceDetailsResponse","description":"Response schema for user workspace details with role information."},"ValidateOtpRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"User email address"},"otp":{"type":"string","maxLength":6,"minLength":6,"title":"Otp","description":"6-digit OTP code"}},"type":"object","required":["email","otp"],"title":"ValidateOtpRequest","description":"Request schema for OTP validation"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"ValidationErrorResponse":{"properties":{"error":{"type":"string","title":"Error","description":"Error type","default":"validation_error"},"message":{"type":"string","title":"Message","description":"Error message"},"field_errors":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Field Errors","description":"Field-specific errors","default":[]},"timestamp":{"type":"string","format":"date-time","title":"Timestamp","description":"Error timestamp"}},"type":"object","required":["message","timestamp"],"title":"ValidationErrorResponse","description":"Validation error response"},"Visibility":{"properties":{"mentioned":{"type":"boolean","title":"Mentioned"},"position":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Position","description":"Brand position in response"}},"type":"object","required":["mentioned"],"title":"Visibility","description":"Schema for visibility status."},"VisibilityComparisonResponse":{"properties":{"brands":{"items":{"$ref":"#/components/schemas/BrandVisibilityTimeSeries"},"type":"array","title":"Brands","description":"User brand + top 4 competitors"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range analyzed"},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Platform filters applied"}},"type":"object","required":["brands","period"],"title":"VisibilityComparisonResponse","description":"Response schema for visibility comparison API."},"VisibilityRankingResponse":{"properties":{"rankings":{"items":{"$ref":"#/components/schemas/BrandRanking"},"type":"array","title":"Rankings","description":"List of brand rankings"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_executions":{"type":"integer","title":"Total Executions","description":"Total prompt executions"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"}},"type":"object","required":["rankings","period","total_executions"],"title":"VisibilityRankingResponse","description":"Response schema for visibility ranking API."},"VisibilityScoreResponse":{"properties":{"visibility_score":{"type":"number","title":"Visibility Score","description":"Overall visibility score as percentage"},"period":{"$ref":"#/components/schemas/DateRange","description":"Date range of analysis"},"total_executions":{"type":"integer","title":"Total Executions","description":"Total prompt executions"},"brand_mentions":{"type":"integer","title":"Brand Mentions","description":"Total brand mentions"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform","description":"Platform filter applied"},"time_series":{"anyOf":[{"items":{"$ref":"#/components/schemas/app__visibility__schemas__TimeSeriesDataPoint__1"},"type":"array"},{"type":"null"}],"title":"Time Series","description":"Daily breakdown data"}},"type":"object","required":["visibility_score","period","total_executions","brand_mentions"],"title":"VisibilityScoreResponse","description":"Response schema for visibility score API."},"VisitorType":{"type":"string","enum":["HUMAN","AI_BOT","SEARCH_BOT","OTHER_BOT","UNKNOWN"],"title":"VisitorType","description":"Type of visitor making the request"},"VocabularySchema":{"properties":{"preferred_terms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preferred Terms"},"avoided_terms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Avoided Terms"},"jargon_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jargon Level"},"industry_terminology":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Industry Terminology"}},"type":"object","title":"VocabularySchema","description":"Vocabulary preferences for API responses."},"WebVitalsResponse":{"properties":{"performance_score":{"type":"number","title":"Performance Score"},"seo_score":{"type":"number","title":"Seo Score"},"accessibility_score":{"type":"number","title":"Accessibility Score"},"best_practices_score":{"type":"number","title":"Best Practices Score"},"lcp_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Lcp Ms"},"inp_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Inp Ms"},"cls":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Cls"},"fcp_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Fcp Ms"},"ttfb_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ttfb Ms"},"speed_index":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Speed Index"}},"type":"object","required":["performance_score","seo_score","accessibility_score","best_practices_score"],"title":"WebVitalsResponse","description":"Web vitals metrics response."},"WordCountRangeSchema":{"properties":{"min":{"type":"integer","title":"Min"},"max":{"type":"integer","title":"Max"}},"type":"object","required":["min","max"],"title":"WordCountRangeSchema","description":"Target word count range for a brief."},"WorkspaceConfigResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"plan_type":{"anyOf":[{"$ref":"#/components/schemas/WorkspacePlanType"},{"type":"null"}]},"models":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Models"},"plan_details":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Plan Details"},"is_paywall_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Paywall Active"},"is_payment_setup":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Payment Setup"},"free_trial_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Free Trial Days"},"free_trial_days_left":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Free Trial Days Left"}},"type":"object","required":["id","workspace_id","config"],"title":"WorkspaceConfigResponse"},"WorkspaceDetailsResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType"},"status":{"$ref":"#/components/schemas/WorkspaceStatus"},"owner_id":{"type":"string","format":"uuid","title":"Owner Id"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url"},"onboarding_step":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceOnboardingSteps"},{"type":"null"}]},"stepper_status":{"anyOf":[{"$ref":"#/components/schemas/StepperStatus"},{"type":"null"}]},"onboarding_completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Onboarding Completed At"},"max_workspaces":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Max Workspaces"},"parent_agency_id":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Parent Agency Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"owner":{"anyOf":[{"$ref":"#/components/schemas/app__user__schemas__UserResponse"},{"type":"null"}]},"members":{"anyOf":[{"items":{"$ref":"#/components/schemas/WorkspaceMemberResponse"},"type":"array"},{"type":"null"}],"title":"Members"},"roles":{"anyOf":[{"items":{"$ref":"#/components/schemas/WorkspaceRoleResponse"},"type":"array"},{"type":"null"}],"title":"Roles"},"config":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceConfigResponse"},{"type":"null"}]},"setup":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceSetupResponse"},{"type":"null"}]},"invitations":{"anyOf":[{"items":{"$ref":"#/components/schemas/WorkspaceInvitationResponse"},"type":"array"},{"type":"null"}],"title":"Invitations"},"member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Member Count"},"active_member_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Active Member Count"},"pending_invitations_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Pending Invitations Count"}},"type":"object","required":["id","name","workspace_type","status","owner_id","created_at"],"title":"WorkspaceDetailsResponse"},"WorkspaceEngagementChannelResponse":{"properties":{"platform":{"$ref":"#/components/schemas/EngagementPlatform"},"channel_name":{"type":"string","title":"Channel Name"},"thread_count":{"type":"integer","title":"Thread Count","default":0}},"type":"object","required":["platform","channel_name"],"title":"WorkspaceEngagementChannelResponse","description":"v3: `GET /channels` feeds the FE filter dropdown — exposes only the\nchannel identity + `thread_count`. The rollup counts, `status_counts`,\n`discovery_signals`, recommendation flags, recompute cursor, and community\nfacts remain stored on the row (and drive `/channels/recommended`) but are\nnot exposed here. `model_validate(row)` ignores the row's extra attributes."},"WorkspaceInvitationResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"email":{"type":"string","title":"Email"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"invited_by_id":{"type":"string","format":"uuid","title":"Invited By Id"},"invited_at":{"type":"string","format":"date-time","title":"Invited At"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"is_accepted":{"type":"boolean","title":"Is Accepted"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"},"role_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role Name"},"invited_by_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invited By Email"}},"type":"object","required":["id","workspace_id","email","role_id","invited_by_id","invited_at","expires_at","is_accepted"],"title":"WorkspaceInvitationResponse"},"WorkspaceLatestResult":{"properties":{"monitor_id":{"type":"string","format":"uuid","title":"Monitor Id","description":"Monitor ID"},"website_url":{"type":"string","title":"Website Url","description":"Website URL"},"monitor_status":{"$ref":"#/components/schemas/SEOMonitorStatus","description":"Monitor status"},"latest_result":{"anyOf":[{"$ref":"#/components/schemas/SEOMonitorResultResponse"},{"type":"null"}],"description":"Latest scan result"},"last_scan_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Scan At","description":"When last scan was performed"}},"type":"object","required":["monitor_id","website_url","monitor_status"],"title":"WorkspaceLatestResult","description":"Latest result for a monitor in workspace overview."},"WorkspaceLatestResultsResponse":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id","description":"Workspace ID"},"total_monitors":{"type":"integer","title":"Total Monitors","description":"Total monitors"},"results":{"items":{"$ref":"#/components/schemas/WorkspaceLatestResult"},"type":"array","title":"Results","description":"Latest results for each monitor"},"generated_at":{"type":"string","format":"date-time","title":"Generated At","description":"When this response was generated"}},"type":"object","required":["workspace_id","total_monitors","results","generated_at"],"title":"WorkspaceLatestResultsResponse","description":"Response for workspace latest results."},"WorkspaceMemberResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"user_id":{"type":"string","format":"uuid","title":"User Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"role_id":{"type":"string","format":"uuid","title":"Role Id"},"role_name":{"type":"string","title":"Role Name"},"workspace_name":{"type":"string","title":"Workspace Name"},"user_email":{"type":"string","title":"User Email"},"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"joined_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Joined At"},"last_active_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Active At"},"role":{"anyOf":[{"$ref":"#/components/schemas/WorkspaceRoleResponse"},{"type":"null"}]},"user_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Status"},"user_language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Language"},"notification_preferences":{"$ref":"#/components/schemas/NotificationPreferences"}},"type":"object","required":["id","user_id","workspace_id","role_id","role_name","workspace_name","user_email"],"title":"WorkspaceMemberResponse"},"WorkspaceOnboardingSteps":{"type":"string","enum":["INITIATED","TYPE_SELECTED","SETUP_COMPLETED","PROMPTS_CONFIGURED","RESULTS_REVIEWED","PLAN_FINALIZED","COMPLETED"],"title":"WorkspaceOnboardingSteps"},"WorkspaceOverview":{"properties":{"total_monitors":{"type":"integer","title":"Total Monitors"},"active_monitors":{"type":"integer","title":"Active Monitors"},"recent_results_count":{"type":"integer","title":"Recent Results Count"},"average_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Average Score"},"monitors":{"items":{"$ref":"#/components/schemas/AISeoMonitorResponse"},"type":"array","title":"Monitors"},"recent_results":{"items":{"$ref":"#/components/schemas/AISeoMonitorResultResponse"},"type":"array","title":"Recent Results"}},"type":"object","required":["total_monitors","active_monitors","recent_results_count","average_score","monitors","recent_results"],"title":"WorkspaceOverview","description":"Overview of AI SEO monitoring for a workspace."},"WorkspacePlanType":{"type":"string","enum":["AGENCY","AGENCY_TRIAL","STANDARD","ENTERPRISE","TRIAL","ENTERPRISE_TRIAL","FREE"],"title":"WorkspacePlanType"},"WorkspaceResponse":{"properties":{"id":{"type":"string","title":"Id","description":"Workspace ID"},"name":{"type":"string","title":"Name","description":"Workspace name"},"workspace_type":{"$ref":"#/components/schemas/WorkspaceType","description":"Type of workspace"},"status":{"$ref":"#/components/schemas/WorkspaceStatus","description":"Workspace status"},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","description":"Workspace image URL"},"is_agency":{"type":"boolean","title":"Is Agency","description":"Whether workspace is agency type"},"is_in_house":{"type":"boolean","title":"Is In House","description":"Whether workspace is in-house type"},"onboarding_status":{"anyOf":[{"$ref":"#/components/schemas/GetStatusResponse"},{"type":"null"}],"description":"Workspace onboarding status"}},"type":"object","required":["id","name","workspace_type","status","is_agency","is_in_house"],"title":"WorkspaceResponse","description":"Workspace information"},"WorkspaceResult":{"properties":{"result":{"anyOf":[{"$ref":"#/components/schemas/SEOMonitorResultResponse"},{"type":"null"}],"description":"Latest scan result"},"scan_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scan At","description":"When last scan was performed"}},"type":"object","title":"WorkspaceResult","description":"Latest result for a monitor in workspace overview."},"WorkspaceResultsResponse":{"properties":{"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id","description":"Workspace ID"},"total_monitors":{"type":"integer","title":"Total Monitors","description":"Total monitors"},"results":{"items":{"$ref":"#/components/schemas/WorkspaceResult"},"type":"array","title":"Results","description":"Latest results for each monitor"},"generated_at":{"type":"string","format":"date-time","title":"Generated At","description":"When this response was generated"}},"type":"object","required":["workspace_id","total_monitors","results","generated_at"],"title":"WorkspaceResultsResponse","description":"Response for workspace results."},"WorkspaceRoleName":{"type":"string","enum":["ADMIN","MEMBER","OWNER"],"title":"WorkspaceRoleName"},"WorkspaceRoleResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"$ref":"#/components/schemas/WorkspaceRoleName"},"display_name":{"type":"string","title":"Display Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"is_visible":{"type":"boolean","title":"Is Visible"},"is_system_role":{"type":"boolean","title":"Is System Role"}},"type":"object","required":["id","name","display_name","is_visible","is_system_role"],"title":"WorkspaceRoleResponse"},"WorkspaceSetupResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"brand_website":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Website"},"brand_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Logo Url"},"default_location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Location"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"target_customers":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Customers"},"primary_offerings":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Offerings"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"company_size":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Size"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"value_proposition":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Value Proposition"},"use_cases":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Cases"},"key_features":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key Features"},"company_stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Stage"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","workspace_id","created_at","updated_at"],"title":"WorkspaceSetupResponse"},"WorkspaceStatus":{"type":"string","enum":["ACTIVE","INACTIVE","SUSPENDED","ARCHIVED"],"title":"WorkspaceStatus"},"WorkspaceSummaryListResponse":{"properties":{"summaries":{"items":{"$ref":"#/components/schemas/WorkspaceSummaryResponse"},"type":"array","title":"Summaries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["summaries","total","page","page_size"],"title":"WorkspaceSummaryListResponse","description":"Response schema for list of summaries."},"WorkspaceSummaryResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"workspace_id":{"type":"string","format":"uuid","title":"Workspace Id"},"summary_type":{"$ref":"#/components/schemas/SummaryType"},"status":{"$ref":"#/components/schemas/SummaryStatus"},"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"summary_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary Text"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","workspace_id","summary_type","status","period_start","period_end","created_at"],"title":"WorkspaceSummaryResponse","description":"Response schema for workspace summary."},"WorkspaceType":{"type":"string","enum":["AGENCY","IN_HOUSE","AGENCY_CLIENT"],"title":"WorkspaceType"},"WritingStyleSchema":{"properties":{"formality_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Formality Level"},"sentence_structure":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentence Structure"},"paragraph_style":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Paragraph Style"},"use_of_questions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Of Questions"},"use_of_examples":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Use Of Examples"}},"type":"object","title":"WritingStyleSchema","description":"Writing style for API responses."},"app__agency_owner__schemas__AgencyInfoResponse":{"properties":{"agency_workspace":{"$ref":"#/components/schemas/AgencyWorkspaceDetailInfo"},"sub_workspaces":{"items":{"$ref":"#/components/schemas/AgencyWorkspaceDetailInfo"},"type":"array","title":"Sub Workspaces","default":[]},"total_members":{"type":"integer","title":"Total Members"},"total_active_members":{"type":"integer","title":"Total Active Members"},"total_pending_invitations":{"type":"integer","title":"Total Pending Invitations"}},"type":"object","required":["agency_workspace","total_members","total_active_members","total_pending_invitations"],"title":"AgencyInfoResponse","description":"Response containing comprehensive agency information."},"app__agency_owner__schemas__CreateAgencyClientRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name","description":"Optional name for the client workspace"}},"type":"object","title":"CreateAgencyClientRequest","description":"Request body for creating an agency client workspace."},"app__agent__schemas__MessageResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"role":{"type":"string","title":"Role"},"content":{"type":"string","title":"Content"},"tool_calls":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tool Calls"},"tokens_used":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Tokens Used"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","role","content","created_at"],"title":"MessageResponse"},"app__auth__response_schema__UserResponse":{"properties":{"id":{"type":"string","title":"Id","description":"User ID"},"email":{"type":"string","title":"Email","description":"User email"},"status":{"$ref":"#/components/schemas/UserStatus","description":"User status"},"auth_provider":{"$ref":"#/components/schemas/AuthProvider","description":"Authentication provider"},"last_login":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Login","description":"Last login timestamp"},"created_at":{"type":"string","format":"date-time","title":"Created At","description":"Account creation timestamp"}},"type":"object","required":["id","email","status","auth_provider","created_at"],"title":"UserResponse","description":"User information"},"app__brand_vault__schemas__TriggerEnrichmentResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"},"workspace_id":{"type":"string","title":"Workspace Id"}},"type":"object","required":["status","message","workspace_id"],"title":"TriggerEnrichmentResponse","description":"Response schema for enrichment trigger."},"app__citation__schemas__SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort order options."},"app__content__enums__ContentType":{"type":"string","enum":["ARTICLE","HOW_TO","COMPARISON","LISTICLE","BRIEF"],"title":"ContentType","description":"Content type enum."},"app__content_performance__enums__TrendDirection":{"type":"string","enum":["growing","stable","decaying"],"title":"TrendDirection"},"app__google_analytics__schemas__DeviceItem":{"properties":{"device":{"type":"string","title":"Device"},"active_users":{"type":"integer","title":"Active Users"},"percentage":{"type":"number","title":"Percentage"}},"type":"object","required":["device","active_users","percentage"],"title":"DeviceItem"},"app__invitation__schemas__UserProfileInfo":{"properties":{"first_name":{"type":"string","title":"First Name"},"last_name":{"type":"string","title":"Last Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"language":{"type":"string","title":"Language","default":"EN"}},"type":"object","required":["first_name","last_name"],"title":"UserProfileInfo","description":"User profile information"},"app__invitation__schemas__WorkspaceInfo":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"name":{"type":"string","title":"Name"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","name","status"],"title":"WorkspaceInfo","description":"Workspace information"},"app__keyword__enums__TrendDirection":{"type":"string","enum":["UP","DOWN","STABLE"],"title":"TrendDirection"},"app__keyword__schema__IntentResponseData":{"properties":{"type":{"$ref":"#/components/schemas/IntentType"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","label","description"],"title":"IntentResponseData","description":"Intent data for prompt response."},"app__log_drain__enums__ContentType":{"type":"string","enum":["BLOG_POST","PRODUCT_PAGE","DOCUMENTATION","STATIC_ASSET","API_ENDPOINT","HOME_PAGE","LANDING_PAGE","OTHER"],"title":"ContentType","description":"Type of content being accessed"},"app__outreach__schemas__TriggerEnrichmentResponse":{"properties":{"contact_id":{"type":"string","title":"Contact Id"},"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"}},"type":"object","required":["contact_id","status","message"],"title":"TriggerEnrichmentResponse","description":"Response after triggering enrichment."},"app__prompt__schemas__IntentResponseData":{"properties":{"type":{"$ref":"#/components/schemas/IntentType"},"label":{"type":"string","title":"Label"},"description":{"type":"string","title":"Description"}},"type":"object","required":["type","label","description"],"title":"IntentResponseData"},"app__prompt__schemas__SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Enum for sort order."},"app__search_analytics__enums__SortOrder":{"type":"string","enum":["asc","desc"],"title":"SortOrder","description":"Sort order for analytics data."},"app__search_analytics__schemas__DeviceItem":{"properties":{"device":{"type":"string","title":"Device"},"label":{"type":"string","title":"Label"},"clicks":{"type":"integer","title":"Clicks","default":0},"clicks_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Clicks Change"},"impressions":{"type":"integer","title":"Impressions","default":0},"impressions_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Impressions Change"},"ctr":{"type":"number","title":"Ctr","default":0.0},"ctr_change":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Ctr Change"}},"type":"object","required":["device","label"],"title":"DeviceItem","description":"Single device item."},"app__sitemap__schemas__MessageResponse":{"properties":{"message":{"type":"string","title":"Message"},"detail":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Detail"}},"type":"object","required":["message"],"title":"MessageResponse","description":"Generic message response.","example":{"detail":{"audit_id":"123e4567-e89b-12d3-a456-426614174000"},"message":"Audit triggered successfully"}},"app__user__schemas__UserProfileInfo":{"properties":{"first_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Name"},"last_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Name"},"display_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Display Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"language":{"anyOf":[{"$ref":"#/components/schemas/UserLanguage"},{"type":"null"}]}},"type":"object","title":"UserProfileInfo","description":"User profile information"},"app__user__schemas__UserResponse":{"properties":{"id":{"type":"string","format":"uuid","title":"Id"},"email":{"type":"string","title":"Email"}},"type":"object","required":["id","email"],"title":"UserResponse"},"app__user__schemas__WorkspaceInfo":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"workspace_type":{"type":"string","title":"Workspace Type"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"onboarding_current_step":{"anyOf":[{"$ref":"#/components/schemas/OnboardingStep"},{"type":"null"}]},"onboarding_completed_steps":{"items":{"$ref":"#/components/schemas/OnboardingStep"},"type":"array","title":"Onboarding Completed Steps","default":[]},"onboarding_is_completed":{"type":"boolean","title":"Onboarding Is Completed","default":false}},"type":"object","required":["workspace_id","name","workspace_type"],"title":"WorkspaceInfo","description":"Workspace information for user response"},"app__visibility__schemas__TimeSeriesDataPoint__1":{"properties":{"date":{"type":"string","title":"Date","description":"Date in ISO format"},"executions":{"type":"integer","title":"Executions","description":"Total executions on this date"},"mentions":{"type":"integer","title":"Mentions","description":"Brand mentions on this date"},"score":{"type":"number","title":"Score","description":"Visibility score for this date"}},"type":"object","required":["date","executions","mentions","score"],"title":"TimeSeriesDataPoint","description":"Single data point in time series."},"app__visibility__schemas__TimeSeriesDataPoint__2":{"properties":{"date":{"type":"string","title":"Date","description":"Date in YYYY-MM-DD format"},"visibility":{"type":"number","title":"Visibility","description":"Visibility percentage for that day"}},"type":"object","required":["date","visibility"],"title":"TimeSeriesDataPoint","description":"Single time series data point."},"app__workspace__schemas__AgencyInfoResponse":{"properties":{"agency_workspace":{"$ref":"#/components/schemas/AgencyWorkspaceInfo"},"sub_workspaces":{"items":{"$ref":"#/components/schemas/AgencyWorkspaceInfo"},"type":"array","title":"Sub Workspaces","default":[]},"total_members":{"type":"integer","title":"Total Members"},"total_active_members":{"type":"integer","title":"Total Active Members"},"total_pending_invitations":{"type":"integer","title":"Total Pending Invitations"}},"type":"object","required":["agency_workspace","total_members","total_active_members","total_pending_invitations"],"title":"AgencyInfoResponse","description":"Response schema for agency information."},"app__workspace__schemas__CreateAgencyClientRequest":{"properties":{"agency_owner_workspace_id":{"type":"string","title":"Agency Owner Workspace Id"}},"type":"object","required":["agency_owner_workspace_id"],"title":"CreateAgencyClientRequest"}}}}