{"openapi":"3.1.0","info":{"title":"Feedjolt","description":"Feedjolt API - Public feedback and roadmap platform for B2B SaaS teams.\n\nAPI version: v1. All endpoints available at both `/api/` and `/api/v1/` prefixes.","version":"1.0.0"},"paths":{"/api/v1/health":{"get":{"tags":["Health"],"summary":"Health Check","operationId":"health_check_api_v1_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/auth/google/login":{"get":{"tags":["Authentication"],"summary":"Google Login","description":"Initiate Google OAuth flow by redirecting to Google.","operationId":"google_login_api_v1_auth_google_login_get","parameters":[{"name":"data_region","in":"query","required":false,"schema":{"type":"string","default":"US","title":"Data Region"}},{"name":"redirect_to","in":"query","required":false,"schema":{"type":"string","default":"/dashboard","title":"Redirect To"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/google/callback":{"get":{"tags":["Authentication"],"summary":"Google Callback","description":"Handle Google OAuth callback - exchange code, create/login user, redirect.","operationId":"google_callback_api_v1_auth_google_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"google_oauth_state","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Oauth State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Refresh Tokens","operationId":"refresh_tokens_api_v1_auth_refresh_post","parameters":[{"name":"refresh_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/logout":{"post":{"tags":["Authentication"],"summary":"Logout","operationId":"logout_api_v1_auth_logout_post","parameters":[{"name":"refresh_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/verify-email":{"post":{"tags":["Authentication"],"summary":"Verify Email","operationId":"verify_email_api_v1_auth_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/resend-verification":{"post":{"tags":["Authentication"],"summary":"Resend Verification","operationId":"resend_verification_api_v1_auth_resend_verification_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/magic-link":{"post":{"tags":["Authentication"],"summary":"Request Magic Link","description":"Send a magic link login email. Creates account if email doesn't exist.","operationId":"request_magic_link_api_v1_auth_magic_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/magic-link/verify":{"post":{"tags":["Authentication"],"summary":"Verify Magic Link","description":"Verify magic link token and issue auth cookies.","operationId":"verify_magic_link_api_v1_auth_magic_link_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/accept-invite":{"post":{"tags":["Authentication"],"summary":"Accept Invite","description":"Accept a workspace invitation: set name, verify email, issue auth cookies.","operationId":"accept_invite_api_v1_auth_accept_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/me":{"get":{"tags":["Authentication"],"summary":"Get Current User Info","operationId":"get_current_user_info_api_v1_auth_me_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/auth/impersonate/apply":{"post":{"tags":["Authentication"],"summary":"Impersonate Apply","description":"Exchange an impersonation token for an access_token cookie.\n\nThe token is minted by /api/superadmin/users/{id}/impersonate and carries\n`act_as`/`actor` claims. Setting it as an httpOnly cookie makes subsequent\nrequests authenticate as the target user.","operationId":"impersonate_apply_api_v1_auth_impersonate_apply_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonateApplyRequest"}}},"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/oauth/consent/{request_id}":{"get":{"tags":["OAuth"],"summary":"Get Consent","operationId":"get_consent_api_v1_oauth_consent__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["OAuth"],"summary":"Post Consent","operationId":"post_consent_api_v1_oauth_consent__request_id__post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentDecision"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/oauth/grants":{"get":{"tags":["OAuth"],"summary":"List Grants","operationId":"list_grants_api_v1_oauth_grants_get","parameters":[{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OAuthGrantResponse"},"title":"Response List Grants Api V1 Oauth Grants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/oauth/grants/{family_id}":{"delete":{"tags":["OAuth"],"summary":"Delete Grant","operationId":"delete_grant_api_v1_oauth_grants__family_id__delete","parameters":[{"name":"family_id","in":"path","required":true,"schema":{"type":"string","title":"Family Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/contact":{"post":{"tags":["Contact"],"summary":"Submit Contact Form","description":"Submit contact form with Turnstile protection.","operationId":"submit_contact_form_api_v1_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/profile":{"get":{"tags":["User"],"summary":"Get Profile","operationId":"get_profile_api_v1_user_profile_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["User"],"summary":"Update Profile","operationId":"update_profile_api_v1_user_profile_patch","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/profile/avatar":{"post":{"tags":["User"],"summary":"Upload Avatar","description":"Upload or replace user profile avatar.","operationId":"upload_avatar_api_v1_user_profile_avatar_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_avatar_api_v1_user_profile_avatar_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["User"],"summary":"Delete Avatar","description":"Remove user profile avatar.","operationId":"delete_avatar_api_v1_user_profile_avatar_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/export":{"get":{"tags":["User"],"summary":"Export User Data","description":"GDPR: Export all user data as JSON.","operationId":"export_user_data_api_v1_user_export_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/invitations":{"get":{"tags":["User"],"summary":"List Pending Invitations","description":"List workspaces with pending (unaccepted) invitations for the current user.","operationId":"list_pending_invitations_api_v1_user_invitations_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceResponse"},"title":"Response List Pending Invitations Api V1 User Invitations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/user/account":{"delete":{"tags":["User"],"summary":"Delete Account","description":"GDPR: Hard-delete user account and all associated data.","operationId":"delete_account_api_v1_user_account_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces":{"post":{"tags":["Workspaces"],"summary":"Create Workspace","operationId":"create_workspace_api_v1_workspaces_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Workspaces"],"summary":"List Workspaces","operationId":"list_workspaces_api_v1_workspaces_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceResponse"},"title":"Response List Workspaces Api V1 Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}":{"get":{"tags":["Workspaces"],"summary":"Get Workspace","operationId":"get_workspace_api_v1_workspaces__workspace_slug__get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Workspaces"],"summary":"Update Workspace","operationId":"update_workspace_api_v1_workspaces__workspace_slug__patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Workspaces"],"summary":"Delete Workspace","description":"Delete workspace and all associated data. Owner only.","operationId":"delete_workspace_api_v1_workspaces__workspace_slug__delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/email-intake/rotate-token":{"post":{"tags":["Workspaces"],"summary":"Rotate Email Intake Token","description":"Regenerate the inbound-email token. Use when an address has been\ncompromised - old token stops working immediately.","operationId":"rotate_email_intake_token_api_v1_workspaces__workspace_slug__email_intake_rotate_token_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/logo":{"post":{"tags":["Workspaces"],"summary":"Upload Workspace Logo","description":"Upload workspace logo image to private storage bucket.","operationId":"upload_workspace_logo_api_v1_workspaces__workspace_slug__logo_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_workspace_logo_api_v1_workspaces__workspace_slug__logo_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/favicon":{"post":{"tags":["Workspaces"],"summary":"Upload Workspace Favicon","description":"Upload workspace favicon to private storage bucket.","operationId":"upload_workspace_favicon_api_v1_workspaces__workspace_slug__favicon_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_workspace_favicon_api_v1_workspaces__workspace_slug__favicon_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/members":{"get":{"tags":["Workspaces"],"summary":"List Members","operationId":"list_members_api_v1_workspaces__workspace_slug__members_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Workspaces"],"summary":"Invite Member","operationId":"invite_member_api_v1_workspaces__workspace_slug__members_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/members/accept":{"post":{"tags":["Workspaces"],"summary":"Accept Invitation","description":"Accept a pending workspace invitation for the current user.","operationId":"accept_invitation_api_v1_workspaces__workspace_slug__members_accept_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/members/{user_id}":{"patch":{"tags":["Workspaces"],"summary":"Update Member Role","operationId":"update_member_role_api_v1_workspaces__workspace_slug__members__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Workspaces"],"summary":"Remove Member","operationId":"remove_member_api_v1_workspaces__workspace_slug__members__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/metrics":{"get":{"tags":["Workspaces"],"summary":"Get Workspace Metrics","operationId":"get_workspace_metrics_api_v1_workspaces__workspace_slug__metrics_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetrics"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/dashboard":{"get":{"tags":["Workspaces"],"summary":"Get Dashboard","operationId":"get_dashboard_api_v1_workspaces__workspace_slug__dashboard_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/onboarding-progress":{"get":{"tags":["Workspaces"],"summary":"Get Onboarding Progress","operationId":"get_onboarding_progress_api_v1_workspaces__workspace_slug__onboarding_progress_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Onboarding Progress Api V1 Workspaces  Workspace Slug  Onboarding Progress Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/export":{"get":{"tags":["Workspaces"],"summary":"Export Workspace Data","description":"Export all workspace data as JSON. Owner only.","operationId":"export_workspace_data_api_v1_workspaces__workspace_slug__export_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/jwt-config":{"post":{"tags":["JWT Config"],"summary":"Create Jwt Config","operationId":"create_jwt_config_api_v1_workspaces__workspace_slug__jwt_config_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["JWT Config"],"summary":"Get Jwt Config","operationId":"get_jwt_config_api_v1_workspaces__workspace_slug__jwt_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["JWT Config"],"summary":"Update Jwt Config","operationId":"update_jwt_config_api_v1_workspaces__workspace_slug__jwt_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/identify":{"post":{"tags":["JWT Config"],"summary":"Identify","operationId":"identify_api_v1_workspaces__workspace_slug__identify_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/api-keys":{"post":{"tags":["API Keys"],"summary":"Create Api Key","operationId":"create_api_key_api_v1_workspaces__workspace_slug__api_keys_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["API Keys"],"summary":"List Api Keys","operationId":"list_api_keys_api_v1_workspaces__workspace_slug__api_keys_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKeyResponse"},"title":"Response List Api Keys Api V1 Workspaces  Workspace Slug  Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/api-keys/{key_id}":{"patch":{"tags":["API Keys"],"summary":"Update Api Key Scopes","operationId":"update_api_key_scopes_api_v1_workspaces__workspace_slug__api_keys__key_id__patch","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyScopesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API Keys"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_v1_workspaces__workspace_slug__api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/webhooks":{"post":{"tags":["Webhooks"],"summary":"Create Webhook","operationId":"create_webhook_api_v1_workspaces__workspace_slug__webhooks_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Webhooks"],"summary":"List Webhooks","operationId":"list_webhooks_api_v1_workspaces__workspace_slug__webhooks_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResponse"},"title":"Response List Webhooks Api V1 Workspaces  Workspace Slug  Webhooks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/webhooks/{webhook_id}":{"patch":{"tags":["Webhooks"],"summary":"Update Webhook","operationId":"update_webhook_api_v1_workspaces__workspace_slug__webhooks__webhook_id__patch","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete Webhook","operationId":"delete_webhook_api_v1_workspaces__workspace_slug__webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/webhooks/{webhook_id}/logs":{"get":{"tags":["Webhook Logs"],"summary":"List Delivery Logs","operationId":"list_delivery_logs_api_v1_workspaces__workspace_slug__webhooks__webhook_id__logs_get","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"success","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryLogResponse"},"title":"Response List Delivery Logs Api V1 Workspaces  Workspace Slug  Webhooks  Webhook Id  Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/webhooks/logs/{log_id}/retry":{"post":{"tags":["Webhook Logs"],"summary":"Retry Delivery","operationId":"retry_delivery_api_v1_workspaces__workspace_slug__webhooks_logs__log_id__retry_post","parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Delivery Api V1 Workspaces  Workspace Slug  Webhooks Logs  Log Id  Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/notifications/subscriptions":{"get":{"tags":["Notifications"],"summary":"List Subscriptions","operationId":"list_subscriptions_api_v1_workspaces__workspace_slug__notifications_subscriptions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionResponse"},"title":"Response List Subscriptions Api V1 Workspaces  Workspace Slug  Notifications Subscriptions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Notifications"],"summary":"Create Subscription","operationId":"create_subscription_api_v1_workspaces__workspace_slug__notifications_subscriptions_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreate"}}}},"responses":{"201":{"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/workspaces/{workspace_slug}/notifications/subscriptions/{subscription_id}":{"patch":{"tags":["Notifications"],"summary":"Toggle Subscription","operationId":"toggle_subscription_api_v1_workspaces__workspace_slug__notifications_subscriptions__subscription_id__patch","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionToggle"}}}},"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"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Subscription","operationId":"delete_subscription_api_v1_workspaces__workspace_slug__notifications_subscriptions__subscription_id__delete","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/notifications/events":{"get":{"tags":["Notifications"],"summary":"List Events","operationId":"list_events_api_v1_workspaces__workspace_slug__notifications_events_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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":50,"title":"Page Size"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEventListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/notifications/custom-domain":{"post":{"tags":["Notifications"],"summary":"Create Custom Domain","description":"Create custom sending domain (Business tier, Owner only).","operationId":"create_custom_domain_api_v1_workspaces__workspace_slug__notifications_custom_domain_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Custom Domain Api V1 Workspaces  Workspace Slug  Notifications Custom Domain Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Notifications"],"summary":"Get Custom Domain Status","operationId":"get_custom_domain_status_api_v1_workspaces__workspace_slug__notifications_custom_domain_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Custom Domain Status Api V1 Workspaces  Workspace Slug  Notifications Custom Domain Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Custom Domain","operationId":"delete_custom_domain_api_v1_workspaces__workspace_slug__notifications_custom_domain_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations":{"get":{"tags":["Integrations"],"summary":"List Integrations","operationId":"list_integrations_api_v1_workspaces__workspace_slug__integrations_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationResponse"},"title":"Response List Integrations Api V1 Workspaces  Workspace Slug  Integrations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/slack/oauth":{"post":{"tags":["Integrations"],"summary":"Slack Oauth Callback","description":"Exchange Slack OAuth code for bot token and store connection.","operationId":"slack_oauth_callback_api_v1_workspaces__workspace_slug__integrations_slack_oauth_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackOAuthCallback"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/slack":{"delete":{"tags":["Integrations"],"summary":"Disconnect Slack","operationId":"disconnect_slack_api_v1_workspaces__workspace_slug__integrations_slack_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/slack/channels":{"get":{"tags":["Integrations"],"summary":"List Slack Channels","description":"List Slack channels the bot can post to (live from Slack API).","operationId":"list_slack_channels_api_v1_workspaces__workspace_slug__integrations_slack_channels_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackChannelListResponse"},"title":"Response List Slack Channels Api V1 Workspaces  Workspace Slug  Integrations Slack Channels Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/slack/channel-mappings":{"post":{"tags":["Integrations"],"summary":"Create Channel Mapping","operationId":"create_channel_mapping_api_v1_workspaces__workspace_slug__integrations_slack_channel_mappings_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Integrations"],"summary":"List Channel Mappings","operationId":"list_channel_mappings_api_v1_workspaces__workspace_slug__integrations_slack_channel_mappings_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackChannelMappingResponse"},"title":"Response List Channel Mappings Api V1 Workspaces  Workspace Slug  Integrations Slack Channel Mappings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/slack/channel-mappings/{mapping_id}":{"patch":{"tags":["Integrations"],"summary":"Update Channel Mapping","operationId":"update_channel_mapping_api_v1_workspaces__workspace_slug__integrations_slack_channel_mappings__mapping_id__patch","parameters":[{"name":"mapping_id","in":"path","required":true,"schema":{"type":"string","title":"Mapping Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Integrations"],"summary":"Delete Channel Mapping","operationId":"delete_channel_mapping_api_v1_workspaces__workspace_slug__integrations_slack_channel_mappings__mapping_id__delete","parameters":[{"name":"mapping_id","in":"path","required":true,"schema":{"type":"string","title":"Mapping Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear/oauth":{"post":{"tags":["Integrations"],"summary":"Linear Oauth Callback","description":"Exchange Linear OAuth code for access token and store connection.","operationId":"linear_oauth_callback_api_v1_workspaces__workspace_slug__integrations_linear_oauth_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearOAuthCallback"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear":{"delete":{"tags":["Integrations"],"summary":"Disconnect Linear","operationId":"disconnect_linear_api_v1_workspaces__workspace_slug__integrations_linear_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear/teams":{"get":{"tags":["Integrations"],"summary":"List Linear Teams","description":"List Linear teams (live from Linear API).","operationId":"list_linear_teams_api_v1_workspaces__workspace_slug__integrations_linear_teams_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinearTeamResponse"},"title":"Response List Linear Teams Api V1 Workspaces  Workspace Slug  Integrations Linear Teams Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear/workflow-states":{"get":{"tags":["Integrations"],"summary":"List Linear Workflow States","description":"List Linear workflow states for a team (for status mapping dropdown).","operationId":"list_linear_workflow_states_api_v1_workspaces__workspace_slug__integrations_linear_workflow_states_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"team_id","in":"query","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinearWorkflowStateResponse"},"title":"Response List Linear Workflow States Api V1 Workspaces  Workspace Slug  Integrations Linear Workflow States Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear/config":{"patch":{"tags":["Integrations"],"summary":"Update Linear Config","description":"Update Linear integration config (default team, status mappings).","operationId":"update_linear_config_api_v1_workspaces__workspace_slug__integrations_linear_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/audit-logs":{"get":{"tags":["Audit Logs"],"summary":"List Audit Logs","operationId":"list_audit_logs_api_v1_workspaces__workspace_slug__audit_logs_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/statuses":{"get":{"tags":["Statuses"],"summary":"List Statuses","operationId":"list_statuses_api_v1_workspaces__workspace_slug__statuses_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusResponse"},"title":"Response List Statuses Api V1 Workspaces  Workspace Slug  Statuses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Statuses"],"summary":"Create Status","operationId":"create_status_api_v1_workspaces__workspace_slug__statuses_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/statuses/{status_id}":{"patch":{"tags":["Statuses"],"summary":"Update Status","operationId":"update_status_api_v1_workspaces__workspace_slug__statuses__status_id__patch","parameters":[{"name":"status_id","in":"path","required":true,"schema":{"type":"string","title":"Status Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Statuses"],"summary":"Delete Status","operationId":"delete_status_api_v1_workspaces__workspace_slug__statuses__status_id__delete","parameters":[{"name":"status_id","in":"path","required":true,"schema":{"type":"string","title":"Status Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/statuses/reorder":{"put":{"tags":["Statuses"],"summary":"Reorder Statuses","operationId":"reorder_statuses_api_v1_workspaces__workspace_slug__statuses_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/tags":{"get":{"tags":["Tags"],"summary":"List Tags","operationId":"list_tags_api_v1_workspaces__workspace_slug__tags_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagResponse"},"title":"Response List Tags Api V1 Workspaces  Workspace Slug  Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tags"],"summary":"Create Tag","operationId":"create_tag_api_v1_workspaces__workspace_slug__tags_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/tags/{tag_id}":{"patch":{"tags":["Tags"],"summary":"Update Tag","operationId":"update_tag_api_v1_workspaces__workspace_slug__tags__tag_id__patch","parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tags"],"summary":"Delete Tag","operationId":"delete_tag_api_v1_workspaces__workspace_slug__tags__tag_id__delete","parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/tags/reorder":{"put":{"tags":["Tags"],"summary":"Reorder Tags","operationId":"reorder_tags_api_v1_workspaces__workspace_slug__tags_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/tags":{"put":{"tags":["Tags"],"summary":"Set Post Tags","operationId":"set_post_tags_api_v1_workspaces__workspace_slug__posts__post_id__tags_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostTagsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagResponse"},"title":"Response Set Post Tags Api V1 Workspaces  Workspace Slug  Posts  Post Id  Tags Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards":{"get":{"tags":["Boards"],"summary":"List Boards","operationId":"list_boards_api_v1_workspaces__workspace_slug__boards_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardResponse"},"title":"Response List Boards Api V1 Workspaces  Workspace Slug  Boards Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Boards"],"summary":"Create Board","operationId":"create_board_api_v1_workspaces__workspace_slug__boards_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}":{"get":{"tags":["Boards"],"summary":"Get Board","operationId":"get_board_api_v1_workspaces__workspace_slug__boards__board_slug__get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Boards"],"summary":"Update Board","operationId":"update_board_api_v1_workspaces__workspace_slug__boards__board_slug__patch","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Boards"],"summary":"Delete Board","operationId":"delete_board_api_v1_workspaces__workspace_slug__boards__board_slug__delete","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/reorder":{"put":{"tags":["Boards"],"summary":"Reorder Boards","operationId":"reorder_boards_api_v1_workspaces__workspace_slug__boards_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}/invites":{"get":{"tags":["Boards"],"summary":"List Board Invites","operationId":"list_board_invites_api_v1_workspaces__workspace_slug__boards__board_slug__invites_get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardInviteResponse"},"title":"Response List Board Invites Api V1 Workspaces  Workspace Slug  Boards  Board Slug  Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Boards"],"summary":"Add Board Invites","operationId":"add_board_invites_api_v1_workspaces__workspace_slug__boards__board_slug__invites_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}/invites/{invite_id}":{"delete":{"tags":["Boards"],"summary":"Remove Board Invite","operationId":"remove_board_invite_api_v1_workspaces__workspace_slug__boards__board_slug__invites__invite_id__delete","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","title":"Invite Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}/invites/{invite_id}/notify":{"post":{"tags":["Boards"],"summary":"Notify Board Invite","operationId":"notify_board_invite_api_v1_workspaces__workspace_slug__boards__board_slug__invites__invite_id__notify_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","title":"Invite Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}/invites/notify-pending":{"post":{"tags":["Boards"],"summary":"Notify Pending Board Invites","operationId":"notify_pending_board_invites_api_v1_workspaces__workspace_slug__boards__board_slug__invites_notify_pending_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteNotifyPendingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_slug}/posts":{"post":{"tags":["Posts"],"summary":"Create Post","operationId":"create_post_api_v1_workspaces__workspace_slug__boards__board_slug__posts_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/search":{"get":{"tags":["Posts"],"summary":"Search Posts","operationId":"search_posts_api_v1_workspaces__workspace_slug__posts_search_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"title":"Q"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"},"title":"Response Search Posts Api V1 Workspaces  Workspace Slug  Posts Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts":{"get":{"tags":["Posts"],"summary":"List Posts","operationId":"list_posts_api_v1_workspaces__workspace_slug__posts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}},{"name":"exclude_status_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exclude Status Ids"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"owner_admin_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Admin Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_votes","recently_updated","status_date"],"type":"string","default":"newest","title":"Sort By"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/bulk":{"post":{"tags":["Posts"],"summary":"Bulk Post Action","description":"Run bounded batch actions and report individual failures without hiding partial success.","operationId":"bulk_post_action_api_v1_workspaces__workspace_slug__posts_bulk_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPostAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPostActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}":{"get":{"tags":["Posts"],"summary":"Get Post","operationId":"get_post_api_v1_workspaces__workspace_slug__posts__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Posts"],"summary":"Delete Post","operationId":"delete_post_api_v1_workspaces__workspace_slug__posts__post_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Posts"],"summary":"Update Post","operationId":"update_post_api_v1_workspaces__workspace_slug__posts__post_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/status":{"put":{"tags":["Posts"],"summary":"Change Post Status","operationId":"change_post_status_api_v1_workspaces__workspace_slug__posts__post_id__status_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostStatusChange"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/board":{"put":{"tags":["Posts"],"summary":"Move Post","operationId":"move_post_api_v1_workspaces__workspace_slug__posts__post_id__board_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/owner":{"put":{"tags":["Posts"],"summary":"Assign Post Owner","operationId":"assign_post_owner_api_v1_workspaces__workspace_slug__posts__post_id__owner_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAssignOwner"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/merge":{"post":{"tags":["Posts"],"summary":"Merge Posts","operationId":"merge_posts_api_v1_workspaces__workspace_slug__posts__post_id__merge_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostMerge"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/unmerge":{"post":{"tags":["Posts"],"summary":"Unmerge Post","operationId":"unmerge_post_api_v1_workspaces__workspace_slug__posts__post_id__unmerge_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/merged-from":{"get":{"tags":["Posts"],"summary":"List Merged Children","description":"List posts that have been merged INTO the given post.","operationId":"list_merged_children_api_v1_workspaces__workspace_slug__posts__post_id__merged_from_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"},"title":"Response List Merged Children Api V1 Workspaces  Workspace Slug  Posts  Post Id  Merged From Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/auto-merge-config":{"get":{"tags":["Posts"],"summary":"Get Auto Merge Config","operationId":"get_auto_merge_config_api_v1_workspaces__workspace_slug__auto_merge_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Auto Merge Config","operationId":"update_auto_merge_config_api_v1_workspaces__workspace_slug__auto_merge_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/auto-tag-config":{"get":{"tags":["Posts"],"summary":"Get Auto Tag Config","operationId":"get_auto_tag_config_api_v1_workspaces__workspace_slug__auto_tag_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Auto Tag Config","operationId":"update_auto_tag_config_api_v1_workspaces__workspace_slug__auto_tag_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/auto-merges":{"get":{"tags":["Posts"],"summary":"List Auto Merges","description":"Recent auto-merges in this workspace, with status (still merged or unmerged).","operationId":"list_auto_merges_api_v1_workspaces__workspace_slug__auto_merges_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeLogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/moderation":{"get":{"tags":["Posts"],"summary":"List Moderation Queue","operationId":"list_moderation_queue_api_v1_workspaces__workspace_slug__moderation_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/moderation/bulk":{"post":{"tags":["Posts"],"summary":"Bulk Moderate","operationId":"bulk_moderate_api_v1_workspaces__workspace_slug__moderation_bulk_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkModerationAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/moderation/config":{"get":{"tags":["Posts"],"summary":"Get Moderation Config","operationId":"get_moderation_config_api_v1_workspaces__workspace_slug__moderation_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Moderation Config","operationId":"update_moderation_config_api_v1_workspaces__workspace_slug__moderation_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/moderation/{post_id}":{"post":{"tags":["Posts"],"summary":"Moderate Post","operationId":"moderate_post_api_v1_workspaces__workspace_slug__moderation__post_id__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PostResponse"},{"type":"null"}],"title":"Response Moderate Post Api V1 Workspaces  Workspace Slug  Moderation  Post Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/featured":{"patch":{"tags":["Posts"],"summary":"Toggle Featured","description":"Toggle featured status on a post. Requires OWNER or ADMIN role.","operationId":"toggle_featured_api_v1_workspaces__workspace_slug__posts__post_id__featured_patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Toggle Featured Api V1 Workspaces  Workspace Slug  Posts  Post Id  Featured Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/vote":{"post":{"tags":["Votes"],"summary":"Toggle Vote","operationId":"toggle_vote_api_v1_workspaces__workspace_slug__posts__post_id__vote_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Toggle Vote Api V1 Workspaces  Workspace Slug  Posts  Post Id  Vote Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/vote-on-behalf":{"post":{"tags":["Votes"],"summary":"Vote On Behalf","operationId":"vote_on_behalf_api_v1_workspaces__workspace_slug__posts__post_id__vote_on_behalf_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteOnBehalf"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Vote On Behalf Api V1 Workspaces  Workspace Slug  Posts  Post Id  Vote On Behalf Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/voters":{"get":{"tags":["Votes"],"summary":"List Voters","operationId":"list_voters_api_v1_workspaces__workspace_slug__posts__post_id__voters_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoterListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/comments":{"post":{"tags":["Comments"],"summary":"Create Comment","operationId":"create_comment_api_v1_workspaces__workspace_slug__posts__post_id__comments_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Comments"],"summary":"List Comments","operationId":"list_comments_api_v1_workspaces__workspace_slug__posts__post_id__comments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"include_internal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Internal"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/comments/{comment_id}":{"patch":{"tags":["Comments"],"summary":"Update Comment","operationId":"update_comment_api_v1_workspaces__workspace_slug__comments__comment_id__patch","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Comments"],"summary":"Delete Comment","operationId":"delete_comment_api_v1_workspaces__workspace_slug__comments__comment_id__delete","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/comments/{comment_id}/visibility":{"patch":{"tags":["Comments"],"summary":"Set Comment Visibility","operationId":"set_comment_visibility_api_v1_workspaces__workspace_slug__comments__comment_id__visibility_patch","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentVisibilityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/comments/{comment_id}/pin":{"put":{"tags":["Comments"],"summary":"Pin Comment","operationId":"pin_comment_api_v1_workspaces__workspace_slug__comments__comment_id__pin_put","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Comments"],"summary":"Unpin Comment","operationId":"unpin_comment_api_v1_workspaces__workspace_slug__comments__comment_id__pin_delete","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/attachments":{"post":{"tags":["Attachments"],"summary":"Upload Attachment","operationId":"upload_attachment_api_v1_workspaces__workspace_slug__attachments_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_attachment_api_v1_workspaces__workspace_slug__attachments_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/attachments":{"get":{"tags":["Attachments"],"summary":"List Post Attachments","operationId":"list_post_attachments_api_v1_workspaces__workspace_slug__posts__post_id__attachments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/comments/{comment_id}/attachments":{"get":{"tags":["Attachments"],"summary":"List Comment Attachments","operationId":"list_comment_attachments_api_v1_workspaces__workspace_slug__comments__comment_id__attachments_get","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/attachments/{attachment_id}":{"delete":{"tags":["Attachments"],"summary":"Delete Attachment","operationId":"delete_attachment_api_v1_workspaces__workspace_slug__attachments__attachment_id__delete","parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/imports/canny":{"post":{"tags":["Imports"],"summary":"Create Canny Import","operationId":"create_canny_import_api_v1_workspaces__workspace_slug__imports_canny_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_canny_import_api_v1_workspaces__workspace_slug__imports_canny_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/imports/canny/preview":{"post":{"tags":["Imports"],"summary":"Preview Canny Csv","operationId":"preview_canny_csv_api_v1_workspaces__workspace_slug__imports_canny_preview_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_preview_canny_csv_api_v1_workspaces__workspace_slug__imports_canny_preview_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/imports/canny/csv":{"post":{"tags":["Imports"],"summary":"Submit Canny Csv","operationId":"submit_canny_csv_api_v1_workspaces__workspace_slug__imports_canny_csv_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/imports":{"get":{"tags":["Imports"],"summary":"List Imports","operationId":"list_imports_api_v1_workspaces__workspace_slug__imports_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/imports/{job_id}":{"get":{"tags":["Imports"],"summary":"Get Import","operationId":"get_import_api_v1_workspaces__workspace_slug__imports__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Imports"],"summary":"Cancel Import","operationId":"cancel_import_api_v1_workspaces__workspace_slug__imports__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/end-users":{"get":{"tags":["End Users"],"summary":"List End Users","operationId":"list_end_users_api_v1_workspaces__workspace_slug__end_users_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_posts","most_votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/end-users/{end_user_id}":{"get":{"tags":["End Users"],"summary":"Get End User","operationId":"get_end_user_api_v1_workspaces__workspace_slug__end_users__end_user_id__get","parameters":[{"name":"end_user_id","in":"path","required":true,"schema":{"type":"string","title":"End User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/companies":{"get":{"tags":["Companies"],"summary":"List Companies","operationId":"list_companies_api_v1_workspaces__workspace_slug__companies_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_users","highest_mrr","most_posts"],"type":"string","default":"newest","title":"Sort By"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Companies"],"summary":"Create Company","operationId":"create_company_api_v1_workspaces__workspace_slug__companies_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/companies/{company_id}":{"get":{"tags":["Companies"],"summary":"Get Company","operationId":"get_company_api_v1_workspaces__workspace_slug__companies__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Companies"],"summary":"Update Company","operationId":"update_company_api_v1_workspaces__workspace_slug__companies__company_id__patch","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/companies/{company_id}/archive":{"post":{"tags":["Companies"],"summary":"Archive Company","operationId":"archive_company_api_v1_workspaces__workspace_slug__companies__company_id__archive_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/companies/{company_id}/unarchive":{"post":{"tags":["Companies"],"summary":"Unarchive Company","operationId":"unarchive_company_api_v1_workspaces__workspace_slug__companies__company_id__unarchive_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/roadmap":{"get":{"tags":["Roadmap"],"summary":"Get Public Roadmap","description":"Public roadmap - only public board posts, no internal/draft.","operationId":"get_public_roadmap_api_v1_workspaces__workspace_slug__roadmap_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/roadmap/admin":{"get":{"tags":["Roadmap"],"summary":"Get Admin Roadmap","description":"Admin roadmap - all posts including internal, from all boards.","operationId":"get_admin_roadmap_api_v1_workspaces__workspace_slug__roadmap_admin_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"include_hidden","in":"query","required":false,"schema":{"type":"boolean","description":"Include statuses with show_on_roadmap=False","default":false,"title":"Include Hidden"},"description":"Include statuses with show_on_roadmap=False"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog":{"get":{"tags":["Changelog"],"summary":"List Public Changelog","operationId":"list_public_changelog_api_v1_workspaces__workspace_slug__changelog_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Changelog"],"summary":"Create Changelog","operationId":"create_changelog_api_v1_workspaces__workspace_slug__changelog_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/admin":{"get":{"tags":["Changelog"],"summary":"List Admin Changelog","operationId":"list_admin_changelog_api_v1_workspaces__workspace_slug__changelog_admin_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/{entry_id}":{"get":{"tags":["Changelog"],"summary":"Get Changelog","operationId":"get_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__get","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Changelog"],"summary":"Update Changelog","operationId":"update_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__patch","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Changelog"],"summary":"Delete Changelog","operationId":"delete_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/{entry_id}/publish":{"post":{"tags":["Changelog"],"summary":"Publish Changelog","operationId":"publish_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__publish_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogPublish"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/{entry_id}/unpublish":{"post":{"tags":["Changelog"],"summary":"Unpublish Changelog","operationId":"unpublish_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__unpublish_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/{entry_id}/posts":{"put":{"tags":["Changelog"],"summary":"Link Posts To Changelog","operationId":"link_posts_to_changelog_api_v1_workspaces__workspace_slug__changelog__entry_id__posts_put","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogLinkPosts"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/versions":{"get":{"tags":["Versions"],"summary":"List Versions","operationId":"list_versions_api_v1_workspaces__workspace_slug__versions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/VersionStatus"},{"type":"null"}],"title":"Status"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Versions"],"summary":"Create Version","operationId":"create_version_api_v1_workspaces__workspace_slug__versions_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__version__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/versions/{version_id}":{"get":{"tags":["Versions"],"summary":"Get Version","operationId":"get_version_api_v1_workspaces__workspace_slug__versions__version_id__get","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Versions"],"summary":"Update Version","operationId":"update_version_api_v1_workspaces__workspace_slug__versions__version_id__patch","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__version__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Versions"],"summary":"Delete Version","operationId":"delete_version_api_v1_workspaces__workspace_slug__versions__version_id__delete","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/versions/{version_id}/posts":{"post":{"tags":["Versions"],"summary":"Assign Posts To Version","operationId":"assign_posts_to_version_api_v1_workspaces__workspace_slug__versions__version_id__posts_post","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionAssignPosts"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/versions/{version_id}/posts/{post_id}":{"delete":{"tags":["Versions"],"summary":"Unassign Post From Version","operationId":"unassign_post_from_version_api_v1_workspaces__workspace_slug__versions__version_id__posts__post_id__delete","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/changelog/versions/{version_id}/suggested-posts":{"get":{"tags":["Versions"],"summary":"Get Suggested Posts For Version","operationId":"get_suggested_posts_for_version_api_v1_workspaces__workspace_slug__changelog_versions__version_id__suggested_posts_get","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestedPostsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/sync-errors":{"get":{"tags":["Sync Errors"],"summary":"List Sync Errors","description":"List sync errors for workspace (admin only).","operationId":"list_sync_errors_api_v1_workspaces__workspace_slug__sync_errors_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"resolved","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Resolved"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SyncErrorResponse"},"title":"Response List Sync Errors Api V1 Workspaces  Workspace Slug  Sync Errors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/sync-errors/{error_id}/resolve":{"patch":{"tags":["Sync Errors"],"summary":"Resolve Sync Error","description":"Mark a sync error as resolved.","operationId":"resolve_sync_error_api_v1_workspaces__workspace_slug__sync_errors__error_id__resolve_patch","parameters":[{"name":"error_id","in":"path","required":true,"schema":{"type":"string","title":"Error Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/sync-errors/{error_id}/retry":{"post":{"tags":["Sync Errors"],"summary":"Retry Sync Error","description":"Retry a failed outbound sync error.","operationId":"retry_sync_error_api_v1_workspaces__workspace_slug__sync_errors__error_id__retry_post","parameters":[{"name":"error_id","in":"path","required":true,"schema":{"type":"string","title":"Error Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Sync Error Api V1 Workspaces  Workspace Slug  Sync Errors  Error Id  Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/sync-links":{"get":{"tags":["Sync Links"],"summary":"List Sync Links","description":"List all external issue links for a post.","operationId":"list_sync_links_api_v1_workspaces__workspace_slug__posts__post_id__sync_links_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SyncLinkResponse"},"title":"Response List Sync Links Api V1 Workspaces  Workspace Slug  Posts  Post Id  Sync Links Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Sync Links"],"summary":"Create Sync Link","description":"Manually link an existing external issue to a post.","operationId":"create_sync_link_api_v1_workspaces__workspace_slug__posts__post_id__sync_links_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/sync-links/linear":{"post":{"tags":["Sync Links"],"summary":"Create Linear Issue","description":"Create a new Linear issue from a post and link it.","operationId":"create_linear_issue_api_v1_workspaces__workspace_slug__posts__post_id__sync_links_linear_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearIssueCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/posts/{post_id}/sync-links/{link_id}":{"delete":{"tags":["Sync Links"],"summary":"Delete Sync Link","operationId":"delete_sync_link_api_v1_workspaces__workspace_slug__posts__post_id__sync_links__link_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"link_id","in":"path","required":true,"schema":{"type":"string","title":"Link Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/integrations/linear/search-issues":{"get":{"tags":["Sync Links"],"summary":"Search Linear Issues","description":"Search Linear issues (for linking existing issues).","operationId":"search_linear_issues_api_v1_workspaces__workspace_slug__integrations_linear_search_issues_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"title":"Q"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Search Linear Issues Api V1 Workspaces  Workspace Slug  Integrations Linear Search Issues Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/intake":{"get":{"tags":["Intake Drafts"],"summary":"List Intake Drafts","operationId":"list_intake_drafts_api_v1_workspaces__workspace_slug__intake_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftStatus"},{"type":"null"}],"title":"Status"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftSource"},{"type":"null"}],"description":"Filter by source: SLACK, EMAIL, etc.","title":"Source"},"description":"Filter by source: SLACK, EMAIL, etc."},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/intake/{draft_id}/approve":{"post":{"tags":["Intake Drafts"],"summary":"Approve Intake Draft","operationId":"approve_intake_draft_api_v1_workspaces__workspace_slug__intake__draft_id__approve_post","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftUpdate"},{"type":"null"}],"title":"Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/intake/{draft_id}/dismiss":{"post":{"tags":["Intake Drafts"],"summary":"Dismiss Intake Draft","operationId":"dismiss_intake_draft_api_v1_workspaces__workspace_slug__intake__draft_id__dismiss_post","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/intake/{draft_id}":{"patch":{"tags":["Intake Drafts"],"summary":"Update Intake Draft","operationId":"update_intake_draft_api_v1_workspaces__workspace_slug__intake__draft_id__patch","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/slack-drafts{rest}":{"put":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_v1_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_v1_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_v1_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_v1_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_v1_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/duplicates":{"post":{"tags":["AI"],"summary":"Find Duplicates","operationId":"find_duplicates_api_v1_workspaces__workspace_slug__ai_duplicates_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateSuggestionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/posts/{post_id}/summary":{"post":{"tags":["AI"],"summary":"Summarize Thread","operationId":"summarize_thread_api_v1_workspaces__workspace_slug__ai_posts__post_id__summary_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/suggest-tags":{"post":{"tags":["AI"],"summary":"Suggest Tags","operationId":"suggest_tags_api_v1_workspaces__workspace_slug__ai_suggest_tags_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSuggestionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSuggestionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/changelog-draft":{"post":{"tags":["AI"],"summary":"Draft Changelog","operationId":"draft_changelog_api_v1_workspaces__workspace_slug__ai_changelog_draft_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogDraftRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/posts/{post_id}/replies":{"post":{"tags":["AI"],"summary":"Suggest Replies","operationId":"suggest_replies_api_v1_workspaces__workspace_slug__ai_posts__post_id__replies_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmartReplyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/usage":{"get":{"tags":["AI"],"summary":"Get Usage","operationId":"get_usage_api_v1_workspaces__workspace_slug__ai_usage_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/recommendations/{rec_id}":{"put":{"tags":["AI"],"summary":"Update Recommendation","operationId":"update_recommendation_api_v1_workspaces__workspace_slug__ai_recommendations__rec_id__put","parameters":[{"name":"rec_id","in":"path","required":true,"schema":{"type":"string","title":"Rec Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRecommendationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/sentiment/trend":{"get":{"tags":["AI"],"summary":"Sentiment Trend","description":"Per-day sentiment counts over a rolling window. Growth+ feature.","operationId":"sentiment_trend_api_v1_workspaces__workspace_slug__ai_sentiment_trend_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"window","in":"query","required":false,"schema":{"enum":["7d","30d","90d"],"type":"string","default":"30d","title":"Window"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentimentTrendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/ai/posts/{post_id}/merge-candidates":{"get":{"tags":["AI"],"summary":"Merge Candidates","operationId":"merge_candidates_api_v1_workspaces__workspace_slug__ai_posts__post_id__merge_candidates_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeCandidatesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/dashboard/next-steps":{"get":{"tags":["Dashboard"],"summary":"Get Next Steps","description":"Return the pre-computed daily AI next-steps snapshot for a workspace.\n\nAll scoring + LLM work happens out-of-band via Celery beat; this endpoint\nis a pure read of `post_score_snapshots` + `workspace_next_steps_summaries`.\nReturns an empty-state shape when the feature flag is disabled so the\nfrontend panel quietly disappears with no UI break.","operationId":"get_next_steps_api_v1_workspaces__workspace_slug__dashboard_next_steps_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextStepsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/branding":{"get":{"tags":["Branding"],"summary":"Get Branding","operationId":"get_branding_api_v1_workspaces__workspace_slug__branding_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Branding"],"summary":"Update Branding","operationId":"update_branding_api_v1_workspaces__workspace_slug__branding_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/boards/{board_id}/saved-views":{"get":{"tags":["Saved Views"],"summary":"List Saved Views","operationId":"list_saved_views_api_v1_workspaces__workspace_slug__boards__board_id__saved_views_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Saved Views"],"summary":"Create Saved View","operationId":"create_saved_view_api_v1_workspaces__workspace_slug__boards__board_id__saved_views_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/saved-views/{view_id}":{"patch":{"tags":["Saved Views"],"summary":"Update Saved View","operationId":"update_saved_view_api_v1_workspaces__workspace_slug__saved_views__view_id__patch","parameters":[{"name":"view_id","in":"path","required":true,"schema":{"type":"string","title":"View Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Saved Views"],"summary":"Delete Saved View","operationId":"delete_saved_view_api_v1_workspaces__workspace_slug__saved_views__view_id__delete","parameters":[{"name":"view_id","in":"path","required":true,"schema":{"type":"string","title":"View Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/widget-config":{"get":{"tags":["Widget Config"],"summary":"Get Widget Config","operationId":"get_widget_config_api_v1_workspaces__workspace_slug__widget_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Widget Config"],"summary":"Create Widget Config","operationId":"create_widget_config_api_v1_workspaces__workspace_slug__widget_config_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Widget Config"],"summary":"Update Widget Config","operationId":"update_widget_config_api_v1_workspaces__workspace_slug__widget_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/widget/embed/{workspace_slug}/config":{"options":{"tags":["Widget Embed"],"summary":"Widget Embed Config Cors","operationId":"widget_embed_config_cors_api_v1_widget_embed__workspace_slug__config_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"get":{"tags":["Widget Embed"],"summary":"Get Widget Embed Config","operationId":"get_widget_embed_config_api_v1_widget_embed__workspace_slug__config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetEmbedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/settings/weekly-jolt":{"get":{"tags":["Weekly Jolt Settings"],"summary":"Get Settings","description":"Fetch Weekly Jolt preference + computed recipient count.","operationId":"get_settings_api_v1_workspaces__workspace_slug__settings_weekly_jolt_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Weekly Jolt Settings"],"summary":"Update Settings","description":"Patch Weekly Jolt preference. Only provided fields are updated.","operationId":"update_settings_api_v1_workspaces__workspace_slug__settings_weekly_jolt_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/settings/weekly-jolt/unsubscribe-me":{"post":{"tags":["Weekly Jolt Settings"],"summary":"Unsubscribe Me","description":"Per-recipient unsubscribe: add 'weekly_jolt' to caller's event_types_disabled.\n\nOnly OWNER/ADMIN can call (CONTRIBUTORs aren't recipients of the Jolt).\nIdempotent - calling repeatedly does not duplicate the entry.","operationId":"unsubscribe_me_api_v1_workspaces__workspace_slug__settings_weekly_jolt_unsubscribe_me_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/weekly-jolts":{"get":{"tags":["Weekly Jolt Archive"],"summary":"List Archive","description":"Cursor-paginated archive of past Weekly Jolts (newest first).\n\nOWNER/ADMIN only. Returns empty list when no Jolts exist.","operationId":"list_archive_api_v1_workspaces__workspace_slug__weekly_jolts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/weekly-jolts/{jolt_id}":{"get":{"tags":["Weekly Jolt Archive"],"summary":"Get Archive Detail","description":"Return full Jolt body + metadata for a single archived Weekly Jolt.","operationId":"get_archive_detail_api_v1_workspaces__workspace_slug__weekly_jolts__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","title":"Jolt Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/startup-request":{"get":{"tags":["StartupRequest"],"summary":"Get Startup Request","operationId":"get_startup_request_api_v1_workspaces__workspace_slug__startup_request_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/StartupRequestResponse"},{"type":"null"}],"title":"Response Get Startup Request Api V1 Workspaces  Workspace Slug  Startup Request Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["StartupRequest"],"summary":"Submit Startup Request","description":"Create or re-apply (resets to PENDING + clears AI/review fields).\n\n2a-ii will enqueue AI rating + email admins here.","operationId":"submit_startup_request_api_v1_workspaces__workspace_slug__startup_request_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestSubmit"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/weekly-jolt/click/{jolt_id}":{"get":{"tags":["Weekly Jolt Tracking"],"summary":"Click","description":"Record a click event then redirect to ``to``.\n\nOpen-redirect defense: only redirects to URLs whose host matches the\nconfigured ``frontend_url``. Off-domain ``to`` values are dropped and the\nuser is bounced to the home URL instead.\n\nLegacy ``/{workspace}/posts/{id}`` destinations (and their locale / portal\nvariants) are rewritten to the dashboard post page so private tickets\ndon't 404 on the public portal.","operationId":"click_api_v1_weekly_jolt_click__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Jolt Id"}},{"name":"link_type","in":"query","required":true,"schema":{"type":"string","title":"Link Type"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/weekly-jolt/pixel/{jolt_id}":{"get":{"tags":["Weekly Jolt Tracking"],"summary":"Pixel","description":"1x1 transparent PNG that records an email-open event.","operationId":"pixel_api_v1_weekly_jolt_pixel__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Jolt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/me":{"get":{"tags":["Public Portal"],"summary":"Get Portal Me","description":"Return current enduser from portal session cookie.","operationId":"get_portal_me_api_v1_public__workspace_slug__me_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/logout":{"post":{"tags":["Public Portal"],"summary":"Portal Logout","description":"Clear portal session cookie.","operationId":"portal_logout_api_v1_public__workspace_slug__logout_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/portal-home":{"get":{"tags":["Public Portal"],"summary":"Get Portal Home","description":"Aggregate endpoint for portal home page - avoids waterfall.","operationId":"get_portal_home_api_v1_public__workspace_slug__portal_home_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalHomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/boards":{"get":{"tags":["Public Portal"],"summary":"List Public Boards","operationId":"list_public_boards_api_v1_public__workspace_slug__boards_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBoardResponse"},"title":"Response List Public Boards Api V1 Public  Workspace Slug  Boards Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/posts":{"get":{"tags":["Public Portal"],"summary":"List Workspace Posts","description":"Workspace-wide feed across the visitor's accessible boards.\n\nOptional board_slug narrows to one board (404s if not accessible).","operationId":"list_workspace_posts_api_v1_public__workspace_slug__posts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}},{"name":"board_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/boards/{board_slug}/posts":{"get":{"tags":["Public Portal"],"summary":"List Public Posts","operationId":"list_public_posts_api_v1_public__workspace_slug__boards__board_slug__posts_get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/search":{"get":{"tags":["Public Portal"],"summary":"Search Public Posts","operationId":"search_public_posts_api_v1_public__workspace_slug__search_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/posts/{post_id}":{"get":{"tags":["Public Portal"],"summary":"Get Public Post","operationId":"get_public_post_api_v1_public__workspace_slug__posts__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/posts/{post_id}/comments":{"get":{"tags":["Public Portal"],"summary":"List Public Comments","operationId":"list_public_comments_api_v1_public__workspace_slug__posts__post_id__comments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCommentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Public Portal"],"summary":"Submit Public Comment","operationId":"submit_public_comment_api_v1_public__workspace_slug__posts__post_id__comments_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/submission-status":{"get":{"tags":["Public Portal"],"summary":"Get Submission Status","description":"Public monthly post quota for the submission form - no tier/billing info leaked.","operationId":"get_submission_status_api_v1_public__workspace_slug__submission_status_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Submission Status Api V1 Public  Workspace Slug  Submission Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/feedback":{"post":{"tags":["Public Portal"],"summary":"Submit Feedback","operationId":"submit_feedback_api_v1_public__workspace_slug__feedback_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/feedback/enhance":{"post":{"tags":["Public Portal"],"summary":"Enhance Public Feedback","description":"Portal AI enhance - signed-in end users only, 1 per 30 seconds.\n\nSame gating as the admin AI routes (plan feature, provider, quota) minus\nthe member-role check.","operationId":"enhance_public_feedback_api_v1_public__workspace_slug__feedback_enhance_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackEnhanceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackEnhanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/posts/{post_id}/vote":{"post":{"tags":["Public Portal"],"summary":"Toggle Public Vote","operationId":"toggle_public_vote_api_v1_public__workspace_slug__posts__post_id__vote_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteToggleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/posts/{post_id}/subscribe":{"post":{"tags":["Public Portal"],"summary":"Subscribe To Post","description":"Subscribe the signed-in end user to a post's notifications.","operationId":"subscribe_to_post_api_v1_public__workspace_slug__posts__post_id__subscribe_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Public Portal"],"summary":"Unsubscribe From Post","description":"Unsubscribe the signed-in end user from a post's notifications.","operationId":"unsubscribe_from_post_api_v1_public__workspace_slug__posts__post_id__subscribe_delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/roadmap":{"get":{"tags":["Public Portal"],"summary":"Get Public Roadmap","description":"Public roadmap - posts grouped by public bucket (planned/in_progress/done).\n\nOptional ?tags=id1,id2 filters posts (OR). available_tags is always\ncomputed from the unfiltered roadmap so the picker is stable.","operationId":"get_public_roadmap_api_v1_public__workspace_slug__roadmap_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated tag ids","title":"Tags"},"description":"Comma-separated tag ids"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicRoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/changelog":{"get":{"tags":["Public Portal"],"summary":"List Public Changelog","operationId":"list_public_changelog_api_v1_public__workspace_slug__changelog_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"version_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/versions":{"get":{"tags":["Public Portal"],"summary":"List Public Versions","operationId":"list_public_versions_api_v1_public__workspace_slug__versions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVersionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/sitemap-index":{"get":{"tags":["Public Portal"],"summary":"Enumerate public workspaces + boards + eligible posts for sitemap","operationId":"get_sitemap_index_api_v1_public_sitemap_index_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapIndexResponse"}}}}}}},"/api/v1/public/unmerge/{token}":{"post":{"tags":["Public Portal"],"summary":"Public Unmerge","description":"One-click 'not a duplicate' undo from auto-merge notification email.","operationId":"public_unmerge_api_v1_public_unmerge__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/auth/request-code":{"post":{"tags":["Portal Auth"],"summary":"Request Portal Code","operationId":"request_portal_code_api_v1_public__workspace_slug__auth_request_code_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthRequestCode"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Portal Code Api V1 Public  Workspace Slug  Auth Request Code Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/auth/verify-code":{"post":{"tags":["Portal Auth"],"summary":"Verify Portal Code","operationId":"verify_portal_code_api_v1_public__workspace_slug__auth_verify_code_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthVerifyCode"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/{workspace_slug}/auth/verify-invite":{"post":{"tags":["Portal Auth"],"summary":"Verify Board Invite","description":"Sign in via a board-invite email link (signed multi-use token, 7d).\n\nThe invite row must still exist - deleting an invite in the dashboard\nrevokes its emailed links. Replaces any existing portal session.","operationId":"verify_board_invite_api_v1_public__workspace_slug__auth_verify_invite_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthVerifyInvite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/email/unsubscribe":{"post":{"tags":["Email Preferences"],"summary":"One Click Unsubscribe","description":"RFC 8058 one-click unsubscribe (POST only). No auth required.","operationId":"one_click_unsubscribe_api_v1_public_email_unsubscribe_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response One Click Unsubscribe Api V1 Public Email Unsubscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Email Preferences"],"summary":"Unsubscribe Via Link","description":"GET redirects to frontend preferences page (no state mutation on GET).","operationId":"unsubscribe_via_link_api_v1_public_email_unsubscribe_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/public/email/preferences":{"get":{"tags":["Email Preferences"],"summary":"Get Preferences","description":"Get email preferences for a subscriber (token-based, no auth).","operationId":"get_preferences_api_v1_public_email_preferences_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/EmailPreferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Email Preferences"],"summary":"Update Preferences","description":"Update email preferences (token-based, no auth).","operationId":"update_preferences_api_v1_public_email_preferences_patch","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferenceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/blog/posts":{"get":{"tags":["Blog"],"summary":"List Posts","operationId":"list_posts_api_v1_blog_posts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostListResponse"}}}}}}},"/api/v1/blog/posts/{language}/{slug}":{"get":{"tags":["Blog"],"summary":"Get Post","operationId":"get_post_api_v1_blog_posts__language___slug__get","parameters":[{"name":"language","in":"path","required":true,"schema":{"type":"string","title":"Language"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing":{"get":{"tags":["Billing"],"summary":"Get Billing Info","operationId":"get_billing_info_api_v1_workspaces__workspace_slug__billing_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing/change-plan":{"post":{"tags":["Billing"],"summary":"Change Plan","operationId":"change_plan_api_v1_workspaces__workspace_slug__billing_change_plan_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing/reactivate":{"post":{"tags":["Billing"],"summary":"Reactivate Subscription","description":"Recreate a canceled subscription via a same-tier Checkout at the retained tier.","operationId":"reactivate_subscription_api_v1_workspaces__workspace_slug__billing_reactivate_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactivateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactivateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing/preview-change":{"post":{"tags":["Billing"],"summary":"Preview Plan Change","operationId":"preview_plan_change_api_v1_workspaces__workspace_slug__billing_preview_change_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewChangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing/portal":{"post":{"tags":["Billing"],"summary":"Create Portal Session","operationId":"create_portal_session_api_v1_workspaces__workspace_slug__billing_portal_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/workspaces/{workspace_slug}/billing/quota-status":{"get":{"tags":["Billing"],"summary":"Get Quota Status","operationId":"get_quota_status_api_v1_workspaces__workspace_slug__billing_quota_status_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Quota Status Api V1 Workspaces  Workspace Slug  Billing Quota Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/stripe/webhooks":{"post":{"tags":["Billing Webhooks"],"summary":"Handle Stripe Webhook","operationId":"handle_stripe_webhook_api_v1_stripe_webhooks_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/integrations/slack/events":{"post":{"tags":["Slack Events"],"summary":"Slack Events","description":"Handle Slack Events API callbacks.","operationId":"slack_events_api_v1_integrations_slack_events_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Events Api V1 Integrations Slack Events Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/commands":{"post":{"tags":["Slack Events"],"summary":"Slack Commands","description":"Handle /feedjolt slash command.","operationId":"slack_commands_api_v1_integrations_slack_commands_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Commands Api V1 Integrations Slack Commands Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/slack/interactivity":{"post":{"tags":["Slack Events"],"summary":"Slack Interactivity","description":"Handle Slack message shortcuts (interactivity).","operationId":"slack_interactivity_api_v1_integrations_slack_interactivity_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Interactivity Api V1 Integrations Slack Interactivity Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/integrations/linear/webhooks":{"post":{"tags":["Linear Webhooks"],"summary":"Linear Webhook","description":"Handle Linear webhook events for status sync.\n\nThe limit is a runaway safety valve, deliberately far above real traffic - not\na shaping mechanism. Deliveries carry no API key, so `_get_rate_limit_key`\nfalls back to the remote address, and uvicorn runs without `--proxy-headers`;\nbehind Traefik every workspace's Linear events therefore share ONE bucket.\nSized so one customer's bulk edit cannot throttle everybody else's sync.\n\nConnection-hold safety comes from the pool config and release_connection(),\nnot from this.","operationId":"linear_webhook_api_v1_integrations_linear_webhooks_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Linear Webhook Api V1 Integrations Linear Webhooks Post"}}}}}}},"/api/v1/inbound/postmark":{"post":{"tags":["Inbound"],"summary":"Postmark Inbound","description":"Receive a parsed inbound email from Postmark, persist as intake or comment.\n\nPostmark expects a 200 even for \"we couldn't process this\" so it doesn't\nretry - that's the convention encoded in EmailIntakeService.handle returning\n{\"ok\": True, \"action\": ...} for spam/no-workspace/etc. Only true server\nerrors (5xx) trigger Postmark retries.","operationId":"postmark_inbound_api_v1_inbound_postmark_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostmarkInboundPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Postmark Inbound Api V1 Inbound Postmark Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/rankgoat-publish":{"post":{"tags":["RankGoat Blog"],"summary":"Rankgoat Publish","operationId":"rankgoat_publish_api_v1_rankgoat_publish_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rankgoat Publish Api V1 Rankgoat Publish Post"}}}}}}},"/api/v1/admin/users":{"get":{"tags":["Admin"],"summary":"List Users","description":"List all users with pagination (admin only).","operationId":"list_users_api_v1_admin_users_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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__routes__admin__UsersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/users/{user_id}":{"patch":{"tags":["Admin"],"summary":"Update User Role","description":"Update a user's role (admin only).","operationId":"update_user_role_api_v1_admin_users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/failed":{"get":{"tags":["Admin"],"summary":"List Failed Jobs","description":"List permanently failed background jobs from the dead-letter queue.","operationId":"list_failed_jobs_api_v1_admin_jobs_failed_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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedJobsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin"],"summary":"Clear Failed Jobs","description":"Clear the dead-letter queue.","operationId":"clear_failed_jobs_api_v1_admin_jobs_failed_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/failed/{task_id}/retry":{"post":{"tags":["Admin"],"summary":"Retry Failed Job","description":"Re-enqueue a permanently-failed task and remove it from the DLQ.","operationId":"retry_failed_job_api_v1_admin_jobs_failed__task_id__retry_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryFailedJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/jobs/failed/{task_id}":{"delete":{"tags":["Admin"],"summary":"Delete Failed Job","description":"Remove a single failed job from the DLQ.","operationId":"delete_failed_job_api_v1_admin_jobs_failed__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/beat-tasks":{"get":{"tags":["Admin"],"summary":"List Beat Tasks","description":"Return all beat-scheduled tasks with humanized schedule + latest run info.","operationId":"list_beat_tasks_api_v1_admin_beat_tasks_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BeatTaskEntry"},"title":"Response List Beat Tasks Api V1 Admin Beat Tasks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/beat-tasks/{key}/run":{"post":{"tags":["Admin"],"summary":"Run Beat Task","description":"Manually enqueue one beat task. Audit-logged.","operationId":"run_beat_task_api_v1_admin_beat_tasks__key__run_post","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeatTaskRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/weekly-jolts/force-send":{"post":{"tags":["Admin Weekly Jolt"],"summary":"Force Send","description":"Enqueue an immediate Weekly Jolt send for `workspace_id`.\n\nBypasses the schedule and the 7-day hard cap (`force=True` is forwarded\nto the worker). Eligibility is still enforced - FREE tier silently skips.\n\nAudit-logged: every SuperAdmin action on workspace-scoped data must land\nin the audit log (per backend/CLAUDE.md).","operationId":"force_send_api_v1_admin_weekly_jolts_force_send_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceSendBody"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceSendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/weekly-jolts/stats":{"get":{"tags":["Admin Weekly Jolt"],"summary":"Get Stats","description":"7-day aggregate of Weekly Jolt activity. SuperAdmin only.\n\nSums LLM cost, averages latency across successful sends, and counts\nskip reasons recorded on `WeeklyJoltPreference.last_skipped_reason`.\nSingle-region view - runs on the caller's regional DB (per JWT `rgn`).","operationId":"get_stats_api_v1_admin_weekly_jolts_stats_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Stats Api V1 Admin Weekly Jolts Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/admin/weekly-jolts/recent":{"get":{"tags":["Admin Weekly Jolt"],"summary":"List Recent","description":"Last N Weekly Jolt archive rows ordered by `sent_at` desc.\n\nSuperAdmin only. Returns the full `llm_metadata_json` blob so the\noperator console can surface model / token / cost details.","operationId":"list_recent_api_v1_admin_weekly_jolts_recent_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Recent Api V1 Admin Weekly Jolts Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/users":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Users","description":"List all platform users across regions with filters.","operationId":"list_platform_users_api_v1_superadmin_users_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"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search email or name","title":"Q"},"description":"Search email or name"},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(EU|US)$"},{"type":"null"}],"title":"Region"}},{"name":"is_super_admin","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Super Admin"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__superadmin__UsersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/users/{user_id}/super-admin":{"patch":{"tags":["SuperAdmin"],"summary":"Set Super Admin","description":"Grant or revoke super admin status (super admin only). Cannot change own status.","operationId":"set_super_admin_api_v1_superadmin_users__user_id__super_admin_patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetSuperAdminRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/users/{user_id}/force-logout":{"post":{"tags":["SuperAdmin"],"summary":"Force Logout","description":"Invalidate a user's sessions (super admin only).","operationId":"force_logout_api_v1_superadmin_users__user_id__force_logout_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/users/{user_id}/impersonate":{"post":{"tags":["SuperAdmin"],"summary":"Impersonate","description":"Mint a 5-minute impersonation token for the target user (super admin only).","operationId":"impersonate_api_v1_superadmin_users__user_id__impersonate_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/users/{user_id}":{"delete":{"tags":["SuperAdmin"],"summary":"Delete User Endpoint","description":"Soft-delete a user with typed-confirm (super admin only).","operationId":"delete_user_endpoint_api_v1_superadmin_users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"confirm","in":"query","required":true,"schema":{"type":"string","description":"Typed confirmation - must match user email","title":"Confirm"},"description":"Typed confirmation - must match user email"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/workspaces":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Workspaces","description":"List all platform workspaces across regions with filters.","operationId":"list_platform_workspaces_api_v1_superadmin_workspaces_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"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(EU|US)$"},{"type":"null"}],"title":"Region"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspacesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/workspaces/{workspace_id}/details":{"get":{"tags":["SuperAdmin"],"summary":"Workspace Details","description":"Full detail for one workspace: subscription, entity counts, live Stripe.","operationId":"workspace_details_api_v1_superadmin_workspaces__workspace_id__details_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/workspaces/{workspace_id}/active":{"patch":{"tags":["SuperAdmin"],"summary":"Toggle Workspace Active","description":"Toggle workspace active status (super admin only).","operationId":"toggle_workspace_active_api_v1_superadmin_workspaces__workspace_id__active_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/workspaces/{workspace_id}/comp":{"patch":{"tags":["SuperAdmin"],"summary":"Set Workspace Comp","description":"Grant or revoke a free (comped) license for a workspace (super admin only).","operationId":"set_workspace_comp_api_v1_superadmin_workspaces__workspace_id__comp_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompWorkspaceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionTaggedWorkspace"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/workspaces/{workspace_id}":{"delete":{"tags":["SuperAdmin"],"summary":"Delete Workspace Endpoint","description":"Soft-delete a workspace with typed-confirm (super admin only).","operationId":"delete_workspace_endpoint_api_v1_superadmin_workspaces__workspace_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"confirm","in":"query","required":true,"schema":{"type":"string","description":"Typed confirmation - must match workspace slug","title":"Confirm"},"description":"Typed confirmation - must match workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/settings":{"get":{"tags":["SuperAdmin"],"summary":"Get Settings","description":"Return platform settings grouped by section with secrets redacted.","operationId":"get_settings_api_v1_superadmin_settings_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/plans":{"get":{"tags":["SuperAdmin"],"summary":"Get Plans","description":"Return all tier dials + the feature→tier matrix for the admin editor.","operationId":"get_plans_api_v1_superadmin_plans_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["SuperAdmin"],"summary":"Update Plans","description":"Apply tier-dial + feature-matrix edits. Audit-logged; cache invalidated.","operationId":"update_plans_api_v1_superadmin_plans_put","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/plans/reset":{"post":{"tags":["SuperAdmin"],"summary":"Reset Plans","description":"Reset all plan config to in-code defaults. Audit-logged; cache invalidated.","operationId":"reset_plans_api_v1_superadmin_plans_reset_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/startup-requests":{"get":{"tags":["SuperAdmin"],"summary":"List Startup Requests","description":"Queue of startup requests for review (default PENDING), newest first.","operationId":"list_startup_requests_api_v1_superadmin_startup_requests_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StartupRequestStatus","default":"PENDING"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/startup-requests/{request_id}/approve":{"post":{"tags":["SuperAdmin"],"summary":"Approve Startup Request","description":"Approve a startup request - unlocks the $9 price and emails the applicant.","operationId":"approve_startup_request_api_v1_superadmin_startup_requests__request_id__approve_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestAdminItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/startup-requests/{request_id}/reject":{"post":{"tags":["SuperAdmin"],"summary":"Reject Startup Request","description":"Reject a startup request and email the applicant the reviewer's note.","operationId":"reject_startup_request_api_v1_superadmin_startup_requests__request_id__reject_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestAdminItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/server/health":{"get":{"tags":["SuperAdmin"],"summary":"Server Health","description":"Ping DBs, Redis, and R2 buckets with latency in milliseconds.","operationId":"server_health_api_v1_superadmin_server_health_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/server/uptime":{"get":{"tags":["SuperAdmin"],"summary":"Server Uptime","description":"Return process start time and uptime seconds.","operationId":"server_uptime_api_v1_superadmin_server_uptime_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UptimeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/server/workers":{"get":{"tags":["SuperAdmin"],"summary":"Server Workers","description":"Return Celery worker/task stats plus dead-letter queue depth.","operationId":"server_workers_api_v1_superadmin_server_workers_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/server/database":{"get":{"tags":["SuperAdmin"],"summary":"Server Database","description":"Return per-region pool stats and top-5 table row counts.","operationId":"server_database_api_v1_superadmin_server_database_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/server/version":{"get":{"tags":["SuperAdmin"],"summary":"Server Version","description":"Return git SHA, build time, app version, and Python version.","operationId":"server_version_api_v1_superadmin_server_version_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__superadmin__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/stats/totals":{"get":{"tags":["SuperAdmin"],"summary":"Stats Totals","description":"Return platform-wide counts for 7 metrics plus per-region breakdown.","operationId":"stats_totals_api_v1_superadmin_stats_totals_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/stats/growth":{"get":{"tags":["SuperAdmin"],"summary":"Stats Growth","description":"Return a daily count series for ``metric`` over the last ``days`` days.","operationId":"stats_growth_api_v1_superadmin_stats_growth_get","parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","default":"users","title":"Metric"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/stats/top-workspaces":{"get":{"tags":["SuperAdmin"],"summary":"Stats Top Workspaces","description":"Return the top ``limit`` workspaces ranked by posts, end_users, or votes.","operationId":"stats_top_workspaces_api_v1_superadmin_stats_top_workspaces_get","parameters":[{"name":"by","in":"query","required":false,"schema":{"type":"string","default":"posts","title":"By"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopWorkspacesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/stats/plans":{"get":{"tags":["SuperAdmin"],"summary":"Stats Plans","description":"Return workspace counts bucketed by plan tier across both regions.","operationId":"stats_plans_api_v1_superadmin_stats_plans_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDistributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/superadmin/audit-logs":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Audit Logs","description":"SuperAdmin cross-workspace audit log view with actor + workspace metadata.","operationId":"list_platform_audit_logs_api_v1_superadmin_audit_logs_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":25,"title":"Page Size"}},{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/health":{"get":{"tags":["Health"],"summary":"Health Check","operationId":"health_check_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/google/login":{"get":{"tags":["Authentication"],"summary":"Google Login","description":"Initiate Google OAuth flow by redirecting to Google.","operationId":"google_login_api_auth_google_login_get","parameters":[{"name":"data_region","in":"query","required":false,"schema":{"type":"string","default":"US","title":"Data Region"}},{"name":"redirect_to","in":"query","required":false,"schema":{"type":"string","default":"/dashboard","title":"Redirect To"}},{"name":"locale","in":"query","required":false,"schema":{"type":"string","default":"en","title":"Locale"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/google/callback":{"get":{"tags":["Authentication"],"summary":"Google Callback","description":"Handle Google OAuth callback - exchange code, create/login user, redirect.","operationId":"google_callback_api_auth_google_callback_get","parameters":[{"name":"code","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"google_oauth_state","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Google Oauth State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/refresh":{"post":{"tags":["Authentication"],"summary":"Refresh Tokens","operationId":"refresh_tokens_api_auth_refresh_post","parameters":[{"name":"refresh_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/logout":{"post":{"tags":["Authentication"],"summary":"Logout","operationId":"logout_api_auth_logout_post","parameters":[{"name":"refresh_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/verify-email":{"post":{"tags":["Authentication"],"summary":"Verify Email","operationId":"verify_email_api_auth_verify_email_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TokenRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/resend-verification":{"post":{"tags":["Authentication"],"summary":"Resend Verification","operationId":"resend_verification_api_auth_resend_verification_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/magic-link":{"post":{"tags":["Authentication"],"summary":"Request Magic Link","description":"Send a magic link login email. Creates account if email doesn't exist.","operationId":"request_magic_link_api_auth_magic_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/magic-link/verify":{"post":{"tags":["Authentication"],"summary":"Verify Magic Link","description":"Verify magic link token and issue auth cookies.","operationId":"verify_magic_link_api_auth_magic_link_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagicLinkVerifyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/accept-invite":{"post":{"tags":["Authentication"],"summary":"Accept Invite","description":"Accept a workspace invitation: set name, verify email, issue auth cookies.","operationId":"accept_invite_api_auth_accept_invite_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AcceptInviteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/me":{"get":{"tags":["Authentication"],"summary":"Get Current User Info","operationId":"get_current_user_info_api_auth_me_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/impersonate/apply":{"post":{"tags":["Authentication"],"summary":"Impersonate Apply","description":"Exchange an impersonation token for an access_token cookie.\n\nThe token is minted by /api/superadmin/users/{id}/impersonate and carries\n`act_as`/`actor` claims. Setting it as an httpOnly cookie makes subsequent\nrequests authenticate as the target user.","operationId":"impersonate_apply_api_auth_impersonate_apply_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonateApplyRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/oauth/consent/{request_id}":{"get":{"tags":["OAuth"],"summary":"Get Consent","operationId":"get_consent_api_oauth_consent__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["OAuth"],"summary":"Post Consent","operationId":"post_consent_api_oauth_consent__request_id__post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConsentDecision"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/oauth/grants":{"get":{"tags":["OAuth"],"summary":"List Grants","operationId":"list_grants_api_oauth_grants_get","parameters":[{"name":"workspace_id","in":"query","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/OAuthGrantResponse"},"title":"Response List Grants Api Oauth Grants Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/oauth/grants/{family_id}":{"delete":{"tags":["OAuth"],"summary":"Delete Grant","operationId":"delete_grant_api_oauth_grants__family_id__delete","parameters":[{"name":"family_id","in":"path","required":true,"schema":{"type":"string","title":"Family Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/contact":{"post":{"tags":["Contact"],"summary":"Submit Contact Form","description":"Submit contact form with Turnstile protection.","operationId":"submit_contact_form_api_contact_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/profile":{"get":{"tags":["User"],"summary":"Get Profile","operationId":"get_profile_api_user_profile_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["User"],"summary":"Update Profile","operationId":"update_profile_api_user_profile_patch","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/profile/avatar":{"post":{"tags":["User"],"summary":"Upload Avatar","description":"Upload or replace user profile avatar.","operationId":"upload_avatar_api_user_profile_avatar_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_avatar_api_user_profile_avatar_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["User"],"summary":"Delete Avatar","description":"Remove user profile avatar.","operationId":"delete_avatar_api_user_profile_avatar_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/export":{"get":{"tags":["User"],"summary":"Export User Data","description":"GDPR: Export all user data as JSON.","operationId":"export_user_data_api_user_export_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/invitations":{"get":{"tags":["User"],"summary":"List Pending Invitations","description":"List workspaces with pending (unaccepted) invitations for the current user.","operationId":"list_pending_invitations_api_user_invitations_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceResponse"},"title":"Response List Pending Invitations Api User Invitations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/user/account":{"delete":{"tags":["User"],"summary":"Delete Account","description":"GDPR: Hard-delete user account and all associated data.","operationId":"delete_account_api_user_account_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces":{"post":{"tags":["Workspaces"],"summary":"Create Workspace","operationId":"create_workspace_api_workspaces_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Workspaces"],"summary":"List Workspaces","operationId":"list_workspaces_api_workspaces_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WorkspaceResponse"},"title":"Response List Workspaces Api Workspaces Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}":{"get":{"tags":["Workspaces"],"summary":"Get Workspace","operationId":"get_workspace_api_workspaces__workspace_slug__get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Workspaces"],"summary":"Update Workspace","operationId":"update_workspace_api_workspaces__workspace_slug__patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Workspaces"],"summary":"Delete Workspace","description":"Delete workspace and all associated data. Owner only.","operationId":"delete_workspace_api_workspaces__workspace_slug__delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/email-intake/rotate-token":{"post":{"tags":["Workspaces"],"summary":"Rotate Email Intake Token","description":"Regenerate the inbound-email token. Use when an address has been\ncompromised - old token stops working immediately.","operationId":"rotate_email_intake_token_api_workspaces__workspace_slug__email_intake_rotate_token_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/logo":{"post":{"tags":["Workspaces"],"summary":"Upload Workspace Logo","description":"Upload workspace logo image to private storage bucket.","operationId":"upload_workspace_logo_api_workspaces__workspace_slug__logo_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_workspace_logo_api_workspaces__workspace_slug__logo_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/favicon":{"post":{"tags":["Workspaces"],"summary":"Upload Workspace Favicon","description":"Upload workspace favicon to private storage bucket.","operationId":"upload_workspace_favicon_api_workspaces__workspace_slug__favicon_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_workspace_favicon_api_workspaces__workspace_slug__favicon_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/members":{"get":{"tags":["Workspaces"],"summary":"List Members","operationId":"list_members_api_workspaces__workspace_slug__members_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MembersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Workspaces"],"summary":"Invite Member","operationId":"invite_member_api_workspaces__workspace_slug__members_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InviteMemberRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/members/accept":{"post":{"tags":["Workspaces"],"summary":"Accept Invitation","description":"Accept a pending workspace invitation for the current user.","operationId":"accept_invitation_api_workspaces__workspace_slug__members_accept_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/members/{user_id}":{"patch":{"tags":["Workspaces"],"summary":"Update Member Role","operationId":"update_member_role_api_workspaces__workspace_slug__members__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMemberRoleRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Workspaces"],"summary":"Remove Member","operationId":"remove_member_api_workspaces__workspace_slug__members__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/metrics":{"get":{"tags":["Workspaces"],"summary":"Get Workspace Metrics","operationId":"get_workspace_metrics_api_workspaces__workspace_slug__metrics_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceMetrics"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/dashboard":{"get":{"tags":["Workspaces"],"summary":"Get Dashboard","operationId":"get_dashboard_api_workspaces__workspace_slug__dashboard_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/onboarding-progress":{"get":{"tags":["Workspaces"],"summary":"Get Onboarding Progress","operationId":"get_onboarding_progress_api_workspaces__workspace_slug__onboarding_progress_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Onboarding Progress Api Workspaces  Workspace Slug  Onboarding Progress Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/export":{"get":{"tags":["Workspaces"],"summary":"Export Workspace Data","description":"Export all workspace data as JSON. Owner only.","operationId":"export_workspace_data_api_workspaces__workspace_slug__export_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/jwt-config":{"post":{"tags":["JWT Config"],"summary":"Create Jwt Config","operationId":"create_jwt_config_api_workspaces__workspace_slug__jwt_config_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["JWT Config"],"summary":"Get Jwt Config","operationId":"get_jwt_config_api_workspaces__workspace_slug__jwt_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["JWT Config"],"summary":"Update Jwt Config","operationId":"update_jwt_config_api_workspaces__workspace_slug__jwt_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JWTConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/identify":{"post":{"tags":["JWT Config"],"summary":"Identify","operationId":"identify_api_workspaces__workspace_slug__identify_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdentifyRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/api-keys":{"post":{"tags":["API Keys"],"summary":"Create Api Key","operationId":"create_api_key_api_workspaces__workspace_slug__api_keys_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreatedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["API Keys"],"summary":"List Api Keys","operationId":"list_api_keys_api_workspaces__workspace_slug__api_keys_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/APIKeyResponse"},"title":"Response List Api Keys Api Workspaces  Workspace Slug  Api Keys Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/api-keys/{key_id}":{"patch":{"tags":["API Keys"],"summary":"Update Api Key Scopes","operationId":"update_api_key_scopes_api_workspaces__workspace_slug__api_keys__key_id__patch","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyScopesUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["API Keys"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_workspaces__workspace_slug__api_keys__key_id__delete","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string","title":"Key Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/webhooks":{"post":{"tags":["Webhooks"],"summary":"Create Webhook","operationId":"create_webhook_api_workspaces__workspace_slug__webhooks_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Webhooks"],"summary":"List Webhooks","operationId":"list_webhooks_api_workspaces__workspace_slug__webhooks_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookResponse"},"title":"Response List Webhooks Api Workspaces  Workspace Slug  Webhooks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/webhooks/{webhook_id}":{"patch":{"tags":["Webhooks"],"summary":"Update Webhook","operationId":"update_webhook_api_workspaces__workspace_slug__webhooks__webhook_id__patch","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Webhooks"],"summary":"Delete Webhook","operationId":"delete_webhook_api_workspaces__workspace_slug__webhooks__webhook_id__delete","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/webhooks/{webhook_id}/logs":{"get":{"tags":["Webhook Logs"],"summary":"List Delivery Logs","operationId":"list_delivery_logs_api_workspaces__workspace_slug__webhooks__webhook_id__logs_get","parameters":[{"name":"webhook_id","in":"path","required":true,"schema":{"type":"string","title":"Webhook Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"success","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Success"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/WebhookDeliveryLogResponse"},"title":"Response List Delivery Logs Api Workspaces  Workspace Slug  Webhooks  Webhook Id  Logs Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/webhooks/logs/{log_id}/retry":{"post":{"tags":["Webhook Logs"],"summary":"Retry Delivery","operationId":"retry_delivery_api_workspaces__workspace_slug__webhooks_logs__log_id__retry_post","parameters":[{"name":"log_id","in":"path","required":true,"schema":{"type":"string","title":"Log Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Delivery Api Workspaces  Workspace Slug  Webhooks Logs  Log Id  Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/notifications/subscriptions":{"get":{"tags":["Notifications"],"summary":"List Subscriptions","operationId":"list_subscriptions_api_workspaces__workspace_slug__notifications_subscriptions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SubscriptionResponse"},"title":"Response List Subscriptions Api Workspaces  Workspace Slug  Notifications Subscriptions Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Notifications"],"summary":"Create Subscription","operationId":"create_subscription_api_workspaces__workspace_slug__notifications_subscriptions_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/notifications/subscriptions/{subscription_id}":{"patch":{"tags":["Notifications"],"summary":"Toggle Subscription","operationId":"toggle_subscription_api_workspaces__workspace_slug__notifications_subscriptions__subscription_id__patch","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionToggle"}}}},"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"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Subscription","operationId":"delete_subscription_api_workspaces__workspace_slug__notifications_subscriptions__subscription_id__delete","parameters":[{"name":"subscription_id","in":"path","required":true,"schema":{"type":"string","title":"Subscription Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/notifications/events":{"get":{"tags":["Notifications"],"summary":"List Events","operationId":"list_events_api_workspaces__workspace_slug__notifications_events_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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":50,"title":"Page Size"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationEventListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/notifications/custom-domain":{"post":{"tags":["Notifications"],"summary":"Create Custom Domain","description":"Create custom sending domain (Business tier, Owner only).","operationId":"create_custom_domain_api_workspaces__workspace_slug__notifications_custom_domain_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CustomDomainRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Create Custom Domain Api Workspaces  Workspace Slug  Notifications Custom Domain Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Notifications"],"summary":"Get Custom Domain Status","operationId":"get_custom_domain_status_api_workspaces__workspace_slug__notifications_custom_domain_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Custom Domain Status Api Workspaces  Workspace Slug  Notifications Custom Domain Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Notifications"],"summary":"Delete Custom Domain","operationId":"delete_custom_domain_api_workspaces__workspace_slug__notifications_custom_domain_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations":{"get":{"tags":["Integrations"],"summary":"List Integrations","operationId":"list_integrations_api_workspaces__workspace_slug__integrations_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/IntegrationResponse"},"title":"Response List Integrations Api Workspaces  Workspace Slug  Integrations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/slack/oauth":{"post":{"tags":["Integrations"],"summary":"Slack Oauth Callback","description":"Exchange Slack OAuth code for bot token and store connection.","operationId":"slack_oauth_callback_api_workspaces__workspace_slug__integrations_slack_oauth_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackOAuthCallback"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/slack":{"delete":{"tags":["Integrations"],"summary":"Disconnect Slack","operationId":"disconnect_slack_api_workspaces__workspace_slug__integrations_slack_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/slack/channels":{"get":{"tags":["Integrations"],"summary":"List Slack Channels","description":"List Slack channels the bot can post to (live from Slack API).","operationId":"list_slack_channels_api_workspaces__workspace_slug__integrations_slack_channels_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackChannelListResponse"},"title":"Response List Slack Channels Api Workspaces  Workspace Slug  Integrations Slack Channels Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/slack/channel-mappings":{"post":{"tags":["Integrations"],"summary":"Create Channel Mapping","operationId":"create_channel_mapping_api_workspaces__workspace_slug__integrations_slack_channel_mappings_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Integrations"],"summary":"List Channel Mappings","operationId":"list_channel_mappings_api_workspaces__workspace_slug__integrations_slack_channel_mappings_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlackChannelMappingResponse"},"title":"Response List Channel Mappings Api Workspaces  Workspace Slug  Integrations Slack Channel Mappings Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/slack/channel-mappings/{mapping_id}":{"patch":{"tags":["Integrations"],"summary":"Update Channel Mapping","operationId":"update_channel_mapping_api_workspaces__workspace_slug__integrations_slack_channel_mappings__mapping_id__patch","parameters":[{"name":"mapping_id","in":"path","required":true,"schema":{"type":"string","title":"Mapping Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlackChannelMappingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Integrations"],"summary":"Delete Channel Mapping","operationId":"delete_channel_mapping_api_workspaces__workspace_slug__integrations_slack_channel_mappings__mapping_id__delete","parameters":[{"name":"mapping_id","in":"path","required":true,"schema":{"type":"string","title":"Mapping Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear/oauth":{"post":{"tags":["Integrations"],"summary":"Linear Oauth Callback","description":"Exchange Linear OAuth code for access token and store connection.","operationId":"linear_oauth_callback_api_workspaces__workspace_slug__integrations_linear_oauth_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearOAuthCallback"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear":{"delete":{"tags":["Integrations"],"summary":"Disconnect Linear","operationId":"disconnect_linear_api_workspaces__workspace_slug__integrations_linear_delete","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear/teams":{"get":{"tags":["Integrations"],"summary":"List Linear Teams","description":"List Linear teams (live from Linear API).","operationId":"list_linear_teams_api_workspaces__workspace_slug__integrations_linear_teams_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinearTeamResponse"},"title":"Response List Linear Teams Api Workspaces  Workspace Slug  Integrations Linear Teams Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear/workflow-states":{"get":{"tags":["Integrations"],"summary":"List Linear Workflow States","description":"List Linear workflow states for a team (for status mapping dropdown).","operationId":"list_linear_workflow_states_api_workspaces__workspace_slug__integrations_linear_workflow_states_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"team_id","in":"query","required":true,"schema":{"type":"string","title":"Team Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/LinearWorkflowStateResponse"},"title":"Response List Linear Workflow States Api Workspaces  Workspace Slug  Integrations Linear Workflow States Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear/config":{"patch":{"tags":["Integrations"],"summary":"Update Linear Config","description":"Update Linear integration config (default team, status mappings).","operationId":"update_linear_config_api_workspaces__workspace_slug__integrations_linear_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/audit-logs":{"get":{"tags":["Audit Logs"],"summary":"List Audit Logs","operationId":"list_audit_logs_api_workspaces__workspace_slug__audit_logs_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuditLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/statuses":{"get":{"tags":["Statuses"],"summary":"List Statuses","operationId":"list_statuses_api_workspaces__workspace_slug__statuses_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StatusResponse"},"title":"Response List Statuses Api Workspaces  Workspace Slug  Statuses Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Statuses"],"summary":"Create Status","operationId":"create_status_api_workspaces__workspace_slug__statuses_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/statuses/{status_id}":{"patch":{"tags":["Statuses"],"summary":"Update Status","operationId":"update_status_api_workspaces__workspace_slug__statuses__status_id__patch","parameters":[{"name":"status_id","in":"path","required":true,"schema":{"type":"string","title":"Status Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Statuses"],"summary":"Delete Status","operationId":"delete_status_api_workspaces__workspace_slug__statuses__status_id__delete","parameters":[{"name":"status_id","in":"path","required":true,"schema":{"type":"string","title":"Status Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/statuses/reorder":{"put":{"tags":["Statuses"],"summary":"Reorder Statuses","operationId":"reorder_statuses_api_workspaces__workspace_slug__statuses_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatusReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/tags":{"get":{"tags":["Tags"],"summary":"List Tags","operationId":"list_tags_api_workspaces__workspace_slug__tags_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagResponse"},"title":"Response List Tags Api Workspaces  Workspace Slug  Tags Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Tags"],"summary":"Create Tag","operationId":"create_tag_api_workspaces__workspace_slug__tags_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/tags/{tag_id}":{"patch":{"tags":["Tags"],"summary":"Update Tag","operationId":"update_tag_api_workspaces__workspace_slug__tags__tag_id__patch","parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Tags"],"summary":"Delete Tag","operationId":"delete_tag_api_workspaces__workspace_slug__tags__tag_id__delete","parameters":[{"name":"tag_id","in":"path","required":true,"schema":{"type":"string","title":"Tag Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/tags/reorder":{"put":{"tags":["Tags"],"summary":"Reorder Tags","operationId":"reorder_tags_api_workspaces__workspace_slug__tags_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/tags":{"put":{"tags":["Tags"],"summary":"Set Post Tags","operationId":"set_post_tags_api_workspaces__workspace_slug__posts__post_id__tags_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostTagsUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TagResponse"},"title":"Response Set Post Tags Api Workspaces  Workspace Slug  Posts  Post Id  Tags Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards":{"get":{"tags":["Boards"],"summary":"List Boards","operationId":"list_boards_api_workspaces__workspace_slug__boards_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardResponse"},"title":"Response List Boards Api Workspaces  Workspace Slug  Boards Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Boards"],"summary":"Create Board","operationId":"create_board_api_workspaces__workspace_slug__boards_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}":{"get":{"tags":["Boards"],"summary":"Get Board","operationId":"get_board_api_workspaces__workspace_slug__boards__board_slug__get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Boards"],"summary":"Update Board","operationId":"update_board_api_workspaces__workspace_slug__boards__board_slug__patch","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Boards"],"summary":"Delete Board","operationId":"delete_board_api_workspaces__workspace_slug__boards__board_slug__delete","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/reorder":{"put":{"tags":["Boards"],"summary":"Reorder Boards","operationId":"reorder_boards_api_workspaces__workspace_slug__boards_reorder_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardReorderRequest"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}/invites":{"get":{"tags":["Boards"],"summary":"List Board Invites","operationId":"list_board_invites_api_workspaces__workspace_slug__boards__board_slug__invites_get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BoardInviteResponse"},"title":"Response List Board Invites Api Workspaces  Workspace Slug  Boards  Board Slug  Invites Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Boards"],"summary":"Add Board Invites","operationId":"add_board_invites_api_workspaces__workspace_slug__boards__board_slug__invites_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteBatchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}/invites/{invite_id}":{"delete":{"tags":["Boards"],"summary":"Remove Board Invite","operationId":"remove_board_invite_api_workspaces__workspace_slug__boards__board_slug__invites__invite_id__delete","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","title":"Invite Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}/invites/{invite_id}/notify":{"post":{"tags":["Boards"],"summary":"Notify Board Invite","operationId":"notify_board_invite_api_workspaces__workspace_slug__boards__board_slug__invites__invite_id__notify_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"invite_id","in":"path","required":true,"schema":{"type":"string","title":"Invite Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}/invites/notify-pending":{"post":{"tags":["Boards"],"summary":"Notify Pending Board Invites","operationId":"notify_pending_board_invites_api_workspaces__workspace_slug__boards__board_slug__invites_notify_pending_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BoardInviteNotifyPendingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_slug}/posts":{"post":{"tags":["Posts"],"summary":"Create Post","operationId":"create_post_api_workspaces__workspace_slug__boards__board_slug__posts_post","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/search":{"get":{"tags":["Posts"],"summary":"Search Posts","operationId":"search_posts_api_workspaces__workspace_slug__posts_search_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"title":"Q"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"},"title":"Response Search Posts Api Workspaces  Workspace Slug  Posts Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts":{"get":{"tags":["Posts"],"summary":"List Posts","operationId":"list_posts_api_workspaces__workspace_slug__posts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"board_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Id"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}},{"name":"exclude_status_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Exclude Status Ids"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"owner_admin_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Admin Id"}},{"name":"date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date From"}},{"name":"date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Date To"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_votes","recently_updated","status_date"],"type":"string","default":"newest","title":"Sort By"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/bulk":{"post":{"tags":["Posts"],"summary":"Bulk Post Action","description":"Run bounded batch actions and report individual failures without hiding partial success.","operationId":"bulk_post_action_api_workspaces__workspace_slug__posts_bulk_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPostAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkPostActionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}":{"get":{"tags":["Posts"],"summary":"Get Post","operationId":"get_post_api_workspaces__workspace_slug__posts__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Posts"],"summary":"Delete Post","operationId":"delete_post_api_workspaces__workspace_slug__posts__post_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Posts"],"summary":"Update Post","operationId":"update_post_api_workspaces__workspace_slug__posts__post_id__patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/status":{"put":{"tags":["Posts"],"summary":"Change Post Status","operationId":"change_post_status_api_workspaces__workspace_slug__posts__post_id__status_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostStatusChange"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/board":{"put":{"tags":["Posts"],"summary":"Move Post","operationId":"move_post_api_workspaces__workspace_slug__posts__post_id__board_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostMove"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/owner":{"put":{"tags":["Posts"],"summary":"Assign Post Owner","operationId":"assign_post_owner_api_workspaces__workspace_slug__posts__post_id__owner_put","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostAssignOwner"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/merge":{"post":{"tags":["Posts"],"summary":"Merge Posts","operationId":"merge_posts_api_workspaces__workspace_slug__posts__post_id__merge_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostMerge"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/unmerge":{"post":{"tags":["Posts"],"summary":"Unmerge Post","operationId":"unmerge_post_api_workspaces__workspace_slug__posts__post_id__unmerge_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/merged-from":{"get":{"tags":["Posts"],"summary":"List Merged Children","description":"List posts that have been merged INTO the given post.","operationId":"list_merged_children_api_workspaces__workspace_slug__posts__post_id__merged_from_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PostResponse"},"title":"Response List Merged Children Api Workspaces  Workspace Slug  Posts  Post Id  Merged From Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/auto-merge-config":{"get":{"tags":["Posts"],"summary":"Get Auto Merge Config","operationId":"get_auto_merge_config_api_workspaces__workspace_slug__auto_merge_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Auto Merge Config","operationId":"update_auto_merge_config_api_workspaces__workspace_slug__auto_merge_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/auto-tag-config":{"get":{"tags":["Posts"],"summary":"Get Auto Tag Config","operationId":"get_auto_tag_config_api_workspaces__workspace_slug__auto_tag_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Auto Tag Config","operationId":"update_auto_tag_config_api_workspaces__workspace_slug__auto_tag_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoTagConfigSchema"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/auto-merges":{"get":{"tags":["Posts"],"summary":"List Auto Merges","description":"Recent auto-merges in this workspace, with status (still merged or unmerged).","operationId":"list_auto_merges_api_workspaces__workspace_slug__auto_merges_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AutoMergeLogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/moderation":{"get":{"tags":["Posts"],"summary":"List Moderation Queue","operationId":"list_moderation_queue_api_workspaces__workspace_slug__moderation_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/moderation/bulk":{"post":{"tags":["Posts"],"summary":"Bulk Moderate","operationId":"bulk_moderate_api_workspaces__workspace_slug__moderation_bulk_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkModerationAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/moderation/config":{"get":{"tags":["Posts"],"summary":"Get Moderation Config","operationId":"get_moderation_config_api_workspaces__workspace_slug__moderation_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Posts"],"summary":"Update Moderation Config","operationId":"update_moderation_config_api_workspaces__workspace_slug__moderation_config_put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/moderation/{post_id}":{"post":{"tags":["Posts"],"summary":"Moderate Post","operationId":"moderate_post_api_workspaces__workspace_slug__moderation__post_id__post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ModerationAction"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/PostResponse"},{"type":"null"}],"title":"Response Moderate Post Api Workspaces  Workspace Slug  Moderation  Post Id  Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/featured":{"patch":{"tags":["Posts"],"summary":"Toggle Featured","description":"Toggle featured status on a post. Requires OWNER or ADMIN role.","operationId":"toggle_featured_api_workspaces__workspace_slug__posts__post_id__featured_patch","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Toggle Featured Api Workspaces  Workspace Slug  Posts  Post Id  Featured Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/vote":{"post":{"tags":["Votes"],"summary":"Toggle Vote","operationId":"toggle_vote_api_workspaces__workspace_slug__posts__post_id__vote_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Toggle Vote Api Workspaces  Workspace Slug  Posts  Post Id  Vote Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/vote-on-behalf":{"post":{"tags":["Votes"],"summary":"Vote On Behalf","operationId":"vote_on_behalf_api_workspaces__workspace_slug__posts__post_id__vote_on_behalf_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteOnBehalf"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Vote On Behalf Api Workspaces  Workspace Slug  Posts  Post Id  Vote On Behalf Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/voters":{"get":{"tags":["Votes"],"summary":"List Voters","operationId":"list_voters_api_workspaces__workspace_slug__posts__post_id__voters_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoterListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/comments":{"post":{"tags":["Comments"],"summary":"Create Comment","operationId":"create_comment_api_workspaces__workspace_slug__posts__post_id__comments_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Comments"],"summary":"List Comments","operationId":"list_comments_api_workspaces__workspace_slug__posts__post_id__comments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"include_internal","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Internal"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/comments/{comment_id}":{"patch":{"tags":["Comments"],"summary":"Update Comment","operationId":"update_comment_api_workspaces__workspace_slug__comments__comment_id__patch","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Comments"],"summary":"Delete Comment","operationId":"delete_comment_api_workspaces__workspace_slug__comments__comment_id__delete","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/comments/{comment_id}/visibility":{"patch":{"tags":["Comments"],"summary":"Set Comment Visibility","operationId":"set_comment_visibility_api_workspaces__workspace_slug__comments__comment_id__visibility_patch","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentVisibilityUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/comments/{comment_id}/pin":{"put":{"tags":["Comments"],"summary":"Pin Comment","operationId":"pin_comment_api_workspaces__workspace_slug__comments__comment_id__pin_put","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Comments"],"summary":"Unpin Comment","operationId":"unpin_comment_api_workspaces__workspace_slug__comments__comment_id__pin_delete","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/attachments":{"post":{"tags":["Attachments"],"summary":"Upload Attachment","operationId":"upload_attachment_api_workspaces__workspace_slug__attachments_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_attachment_api_workspaces__workspace_slug__attachments_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/attachments":{"get":{"tags":["Attachments"],"summary":"List Post Attachments","operationId":"list_post_attachments_api_workspaces__workspace_slug__posts__post_id__attachments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/comments/{comment_id}/attachments":{"get":{"tags":["Attachments"],"summary":"List Comment Attachments","operationId":"list_comment_attachments_api_workspaces__workspace_slug__comments__comment_id__attachments_get","parameters":[{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AttachmentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/attachments/{attachment_id}":{"delete":{"tags":["Attachments"],"summary":"Delete Attachment","operationId":"delete_attachment_api_workspaces__workspace_slug__attachments__attachment_id__delete","parameters":[{"name":"attachment_id","in":"path","required":true,"schema":{"type":"string","title":"Attachment Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/imports/canny":{"post":{"tags":["Imports"],"summary":"Create Canny Import","operationId":"create_canny_import_api_workspaces__workspace_slug__imports_canny_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_create_canny_import_api_workspaces__workspace_slug__imports_canny_post"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/imports/canny/preview":{"post":{"tags":["Imports"],"summary":"Preview Canny Csv","operationId":"preview_canny_csv_api_workspaces__workspace_slug__imports_canny_preview_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_preview_canny_csv_api_workspaces__workspace_slug__imports_canny_preview_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvPreviewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/imports/canny/csv":{"post":{"tags":["Imports"],"summary":"Submit Canny Csv","operationId":"submit_canny_csv_api_workspaces__workspace_slug__imports_canny_csv_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CsvSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/imports":{"get":{"tags":["Imports"],"summary":"List Imports","operationId":"list_imports_api_workspaces__workspace_slug__imports_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/imports/{job_id}":{"get":{"tags":["Imports"],"summary":"Get Import","operationId":"get_import_api_workspaces__workspace_slug__imports__job_id__get","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImportJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Imports"],"summary":"Cancel Import","operationId":"cancel_import_api_workspaces__workspace_slug__imports__job_id__delete","parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"string","title":"Job Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/end-users":{"get":{"tags":["End Users"],"summary":"List End Users","operationId":"list_end_users_api_workspaces__workspace_slug__end_users_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Page Size"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_posts","most_votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/end-users/{end_user_id}":{"get":{"tags":["End Users"],"summary":"Get End User","operationId":"get_end_user_api_workspaces__workspace_slug__end_users__end_user_id__get","parameters":[{"name":"end_user_id","in":"path","required":true,"schema":{"type":"string","title":"End User Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EndUserDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/companies":{"get":{"tags":["Companies"],"summary":"List Companies","operationId":"list_companies_api_workspaces__workspace_slug__companies_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","most_users","highest_mrr","most_posts"],"type":"string","default":"newest","title":"Sort By"}},{"name":"include_archived","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Archived"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Companies"],"summary":"Create Company","operationId":"create_company_api_workspaces__workspace_slug__companies_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/companies/{company_id}":{"get":{"tags":["Companies"],"summary":"Get Company","operationId":"get_company_api_workspaces__workspace_slug__companies__company_id__get","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Companies"],"summary":"Update Company","operationId":"update_company_api_workspaces__workspace_slug__companies__company_id__patch","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/companies/{company_id}/archive":{"post":{"tags":["Companies"],"summary":"Archive Company","operationId":"archive_company_api_workspaces__workspace_slug__companies__company_id__archive_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/companies/{company_id}/unarchive":{"post":{"tags":["Companies"],"summary":"Unarchive Company","operationId":"unarchive_company_api_workspaces__workspace_slug__companies__company_id__unarchive_post","parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/roadmap":{"get":{"tags":["Roadmap"],"summary":"Get Public Roadmap","description":"Public roadmap - only public board posts, no internal/draft.","operationId":"get_public_roadmap_api_workspaces__workspace_slug__roadmap_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/roadmap/admin":{"get":{"tags":["Roadmap"],"summary":"Get Admin Roadmap","description":"Admin roadmap - all posts including internal, from all boards.","operationId":"get_admin_roadmap_api_workspaces__workspace_slug__roadmap_admin_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"include_hidden","in":"query","required":false,"schema":{"type":"boolean","description":"Include statuses with show_on_roadmap=False","default":false,"title":"Include Hidden"},"description":"Include statuses with show_on_roadmap=False"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog":{"get":{"tags":["Changelog"],"summary":"List Public Changelog","operationId":"list_public_changelog_api_workspaces__workspace_slug__changelog_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Changelog"],"summary":"Create Changelog","operationId":"create_changelog_api_workspaces__workspace_slug__changelog_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/admin":{"get":{"tags":["Changelog"],"summary":"List Admin Changelog","operationId":"list_admin_changelog_api_workspaces__workspace_slug__changelog_admin_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/{entry_id}":{"get":{"tags":["Changelog"],"summary":"Get Changelog","operationId":"get_changelog_api_workspaces__workspace_slug__changelog__entry_id__get","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Changelog"],"summary":"Update Changelog","operationId":"update_changelog_api_workspaces__workspace_slug__changelog__entry_id__patch","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Changelog"],"summary":"Delete Changelog","operationId":"delete_changelog_api_workspaces__workspace_slug__changelog__entry_id__delete","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/{entry_id}/publish":{"post":{"tags":["Changelog"],"summary":"Publish Changelog","operationId":"publish_changelog_api_workspaces__workspace_slug__changelog__entry_id__publish_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogPublish"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/{entry_id}/unpublish":{"post":{"tags":["Changelog"],"summary":"Unpublish Changelog","operationId":"unpublish_changelog_api_workspaces__workspace_slug__changelog__entry_id__unpublish_post","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/{entry_id}/posts":{"put":{"tags":["Changelog"],"summary":"Link Posts To Changelog","operationId":"link_posts_to_changelog_api_workspaces__workspace_slug__changelog__entry_id__posts_put","parameters":[{"name":"entry_id","in":"path","required":true,"schema":{"type":"string","title":"Entry Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogLinkPosts"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/versions":{"get":{"tags":["Versions"],"summary":"List Versions","operationId":"list_versions_api_workspaces__workspace_slug__versions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/VersionStatus"},{"type":"null"}],"title":"Status"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Versions"],"summary":"Create Version","operationId":"create_version_api_workspaces__workspace_slug__versions_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__version__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/versions/{version_id}":{"get":{"tags":["Versions"],"summary":"Get Version","operationId":"get_version_api_workspaces__workspace_slug__versions__version_id__get","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Versions"],"summary":"Update Version","operationId":"update_version_api_workspaces__workspace_slug__versions__version_id__patch","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__version__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Versions"],"summary":"Delete Version","operationId":"delete_version_api_workspaces__workspace_slug__versions__version_id__delete","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/versions/{version_id}/posts":{"post":{"tags":["Versions"],"summary":"Assign Posts To Version","operationId":"assign_posts_to_version_api_workspaces__workspace_slug__versions__version_id__posts_post","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VersionAssignPosts"}}}},"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/versions/{version_id}/posts/{post_id}":{"delete":{"tags":["Versions"],"summary":"Unassign Post From Version","operationId":"unassign_post_from_version_api_workspaces__workspace_slug__versions__version_id__posts__post_id__delete","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/changelog/versions/{version_id}/suggested-posts":{"get":{"tags":["Versions"],"summary":"Get Suggested Posts For Version","operationId":"get_suggested_posts_for_version_api_workspaces__workspace_slug__changelog_versions__version_id__suggested_posts_get","parameters":[{"name":"version_id","in":"path","required":true,"schema":{"type":"string","title":"Version Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuggestedPostsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/sync-errors":{"get":{"tags":["Sync Errors"],"summary":"List Sync Errors","description":"List sync errors for workspace (admin only).","operationId":"list_sync_errors_api_workspaces__workspace_slug__sync_errors_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"resolved","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Resolved"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SyncErrorResponse"},"title":"Response List Sync Errors Api Workspaces  Workspace Slug  Sync Errors Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/sync-errors/{error_id}/resolve":{"patch":{"tags":["Sync Errors"],"summary":"Resolve Sync Error","description":"Mark a sync error as resolved.","operationId":"resolve_sync_error_api_workspaces__workspace_slug__sync_errors__error_id__resolve_patch","parameters":[{"name":"error_id","in":"path","required":true,"schema":{"type":"string","title":"Error Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/sync-errors/{error_id}/retry":{"post":{"tags":["Sync Errors"],"summary":"Retry Sync Error","description":"Retry a failed outbound sync error.","operationId":"retry_sync_error_api_workspaces__workspace_slug__sync_errors__error_id__retry_post","parameters":[{"name":"error_id","in":"path","required":true,"schema":{"type":"string","title":"Error Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Retry Sync Error Api Workspaces  Workspace Slug  Sync Errors  Error Id  Retry Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/sync-links":{"get":{"tags":["Sync Links"],"summary":"List Sync Links","description":"List all external issue links for a post.","operationId":"list_sync_links_api_workspaces__workspace_slug__posts__post_id__sync_links_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SyncLinkResponse"},"title":"Response List Sync Links Api Workspaces  Workspace Slug  Posts  Post Id  Sync Links Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Sync Links"],"summary":"Create Sync Link","description":"Manually link an existing external issue to a post.","operationId":"create_sync_link_api_workspaces__workspace_slug__posts__post_id__sync_links_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/sync-links/linear":{"post":{"tags":["Sync Links"],"summary":"Create Linear Issue","description":"Create a new Linear issue from a post and link it.","operationId":"create_linear_issue_api_workspaces__workspace_slug__posts__post_id__sync_links_linear_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LinearIssueCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SyncLinkResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/posts/{post_id}/sync-links/{link_id}":{"delete":{"tags":["Sync Links"],"summary":"Delete Sync Link","operationId":"delete_sync_link_api_workspaces__workspace_slug__posts__post_id__sync_links__link_id__delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"link_id","in":"path","required":true,"schema":{"type":"string","title":"Link Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/integrations/linear/search-issues":{"get":{"tags":["Sync Links"],"summary":"Search Linear Issues","description":"Search Linear issues (for linking existing issues).","operationId":"search_linear_issues_api_workspaces__workspace_slug__integrations_linear_search_issues_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"title":"Q"}},{"name":"team_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response Search Linear Issues Api Workspaces  Workspace Slug  Integrations Linear Search Issues Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/intake":{"get":{"tags":["Intake Drafts"],"summary":"List Intake Drafts","operationId":"list_intake_drafts_api_workspaces__workspace_slug__intake_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftStatus"},{"type":"null"}],"title":"Status"}},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftSource"},{"type":"null"}],"description":"Filter by source: SLACK, EMAIL, etc.","title":"Source"},"description":"Filter by source: SLACK, EMAIL, etc."},{"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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/intake/{draft_id}/approve":{"post":{"tags":["Intake Drafts"],"summary":"Approve Intake Draft","operationId":"approve_intake_draft_api_workspaces__workspace_slug__intake__draft_id__approve_post","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/IntakeDraftUpdate"},{"type":"null"}],"title":"Update"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/intake/{draft_id}/dismiss":{"post":{"tags":["Intake Drafts"],"summary":"Dismiss Intake Draft","operationId":"dismiss_intake_draft_api_workspaces__workspace_slug__intake__draft_id__dismiss_post","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/intake/{draft_id}":{"patch":{"tags":["Intake Drafts"],"summary":"Update Intake Draft","operationId":"update_intake_draft_api_workspaces__workspace_slug__intake__draft_id__patch","parameters":[{"name":"draft_id","in":"path","required":true,"schema":{"type":"string","title":"Draft Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntakeDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/slack-drafts{rest}":{"put":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Intake Drafts"],"summary":"Slack Drafts Compat","operationId":"slack_drafts_compat_api_workspaces__workspace_slug__slack_drafts_rest__put","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","title":"Workspace Slug"}},{"name":"rest","in":"path","required":true,"schema":{"type":"string","title":"Rest"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/duplicates":{"post":{"tags":["AI"],"summary":"Find Duplicates","operationId":"find_duplicates_api_workspaces__workspace_slug__ai_duplicates_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateCheckRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuplicateSuggestionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/posts/{post_id}/summary":{"post":{"tags":["AI"],"summary":"Summarize Thread","operationId":"summarize_thread_api_workspaces__workspace_slug__ai_posts__post_id__summary_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThreadSummaryResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/suggest-tags":{"post":{"tags":["AI"],"summary":"Suggest Tags","operationId":"suggest_tags_api_workspaces__workspace_slug__ai_suggest_tags_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSuggestionRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TagSuggestionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/changelog-draft":{"post":{"tags":["AI"],"summary":"Draft Changelog","operationId":"draft_changelog_api_workspaces__workspace_slug__ai_changelog_draft_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogDraftRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangelogDraftResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/posts/{post_id}/replies":{"post":{"tags":["AI"],"summary":"Suggest Replies","operationId":"suggest_replies_api_workspaces__workspace_slug__ai_posts__post_id__replies_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SmartReplyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/usage":{"get":{"tags":["AI"],"summary":"Get Usage","operationId":"get_usage_api_workspaces__workspace_slug__ai_usage_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIUsageResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/recommendations/{rec_id}":{"put":{"tags":["AI"],"summary":"Update Recommendation","operationId":"update_recommendation_api_workspaces__workspace_slug__ai_recommendations__rec_id__put","parameters":[{"name":"rec_id","in":"path","required":true,"schema":{"type":"string","title":"Rec Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateRecommendationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AIRecommendationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/sentiment/trend":{"get":{"tags":["AI"],"summary":"Sentiment Trend","description":"Per-day sentiment counts over a rolling window. Growth+ feature.","operationId":"sentiment_trend_api_workspaces__workspace_slug__ai_sentiment_trend_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"window","in":"query","required":false,"schema":{"enum":["7d","30d","90d"],"type":"string","default":"30d","title":"Window"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SentimentTrendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/ai/posts/{post_id}/merge-candidates":{"get":{"tags":["AI"],"summary":"Merge Candidates","operationId":"merge_candidates_api_workspaces__workspace_slug__ai_posts__post_id__merge_candidates_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MergeCandidatesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/dashboard/next-steps":{"get":{"tags":["Dashboard"],"summary":"Get Next Steps","description":"Return the pre-computed daily AI next-steps snapshot for a workspace.\n\nAll scoring + LLM work happens out-of-band via Celery beat; this endpoint\nis a pure read of `post_score_snapshots` + `workspace_next_steps_summaries`.\nReturns an empty-state shape when the feature flag is disabled so the\nfrontend panel quietly disappears with no UI break.","operationId":"get_next_steps_api_workspaces__workspace_slug__dashboard_next_steps_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NextStepsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/branding":{"get":{"tags":["Branding"],"summary":"Get Branding","operationId":"get_branding_api_workspaces__workspace_slug__branding_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Branding"],"summary":"Update Branding","operationId":"update_branding_api_workspaces__workspace_slug__branding_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BrandingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/boards/{board_id}/saved-views":{"get":{"tags":["Saved Views"],"summary":"List Saved Views","operationId":"list_saved_views_api_workspaces__workspace_slug__boards__board_id__saved_views_get","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Saved Views"],"summary":"Create Saved View","operationId":"create_saved_view_api_workspaces__workspace_slug__boards__board_id__saved_views_post","parameters":[{"name":"board_id","in":"path","required":true,"schema":{"type":"string","title":"Board Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/saved-views/{view_id}":{"patch":{"tags":["Saved Views"],"summary":"Update Saved View","operationId":"update_saved_view_api_workspaces__workspace_slug__saved_views__view_id__patch","parameters":[{"name":"view_id","in":"path","required":true,"schema":{"type":"string","title":"View Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SavedViewResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Saved Views"],"summary":"Delete Saved View","operationId":"delete_saved_view_api_workspaces__workspace_slug__saved_views__view_id__delete","parameters":[{"name":"view_id","in":"path","required":true,"schema":{"type":"string","title":"View Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/widget-config":{"get":{"tags":["Widget Config"],"summary":"Get Widget Config","operationId":"get_widget_config_api_workspaces__workspace_slug__widget_config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Widget Config"],"summary":"Create Widget Config","operationId":"create_widget_config_api_workspaces__workspace_slug__widget_config_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Widget Config"],"summary":"Update Widget Config","operationId":"update_widget_config_api_workspaces__workspace_slug__widget_config_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetConfigResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/widget/embed/{workspace_slug}/config":{"options":{"tags":["Widget Embed"],"summary":"Widget Embed Config Cors","operationId":"widget_embed_config_cors_api_widget_embed__workspace_slug__config_options","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}},"get":{"tags":["Widget Embed"],"summary":"Get Widget Embed Config","operationId":"get_widget_embed_config_api_widget_embed__workspace_slug__config_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetEmbedResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/settings/weekly-jolt":{"get":{"tags":["Weekly Jolt Settings"],"summary":"Get Settings","description":"Fetch Weekly Jolt preference + computed recipient count.","operationId":"get_settings_api_workspaces__workspace_slug__settings_weekly_jolt_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Weekly Jolt Settings"],"summary":"Update Settings","description":"Patch Weekly Jolt preference. Only provided fields are updated.","operationId":"update_settings_api_workspaces__workspace_slug__settings_weekly_jolt_patch","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltPreferenceRead"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/settings/weekly-jolt/unsubscribe-me":{"post":{"tags":["Weekly Jolt Settings"],"summary":"Unsubscribe Me","description":"Per-recipient unsubscribe: add 'weekly_jolt' to caller's event_types_disabled.\n\nOnly OWNER/ADMIN can call (CONTRIBUTORs aren't recipients of the Jolt).\nIdempotent - calling repeatedly does not duplicate the entry.","operationId":"unsubscribe_me_api_workspaces__workspace_slug__settings_weekly_jolt_unsubscribe_me_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/weekly-jolts":{"get":{"tags":["Weekly Jolt Archive"],"summary":"List Archive","description":"Cursor-paginated archive of past Weekly Jolts (newest first).\n\nOWNER/ADMIN only. Returns empty list when no Jolts exist.","operationId":"list_archive_api_workspaces__workspace_slug__weekly_jolts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/weekly-jolts/{jolt_id}":{"get":{"tags":["Weekly Jolt Archive"],"summary":"Get Archive Detail","description":"Return full Jolt body + metadata for a single archived Weekly Jolt.","operationId":"get_archive_detail_api_workspaces__workspace_slug__weekly_jolts__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","title":"Jolt Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WeeklyJoltDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/startup-request":{"get":{"tags":["StartupRequest"],"summary":"Get Startup Request","operationId":"get_startup_request_api_workspaces__workspace_slug__startup_request_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/StartupRequestResponse"},{"type":"null"}],"title":"Response Get Startup Request Api Workspaces  Workspace Slug  Startup Request Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["StartupRequest"],"summary":"Submit Startup Request","description":"Create or re-apply (resets to PENDING + clears AI/review fields).\n\n2a-ii will enqueue AI rating + email admins here.","operationId":"submit_startup_request_api_workspaces__workspace_slug__startup_request_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestSubmit"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/weekly-jolt/click/{jolt_id}":{"get":{"tags":["Weekly Jolt Tracking"],"summary":"Click","description":"Record a click event then redirect to ``to``.\n\nOpen-redirect defense: only redirects to URLs whose host matches the\nconfigured ``frontend_url``. Off-domain ``to`` values are dropped and the\nuser is bounced to the home URL instead.\n\nLegacy ``/{workspace}/posts/{id}`` destinations (and their locale / portal\nvariants) are rewritten to the dashboard post page so private tickets\ndon't 404 on the public portal.","operationId":"click_api_weekly_jolt_click__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Jolt Id"}},{"name":"link_type","in":"query","required":true,"schema":{"type":"string","title":"Link Type"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/weekly-jolt/pixel/{jolt_id}":{"get":{"tags":["Weekly Jolt Tracking"],"summary":"Pixel","description":"1x1 transparent PNG that records an email-open event.","operationId":"pixel_api_weekly_jolt_pixel__jolt_id__get","parameters":[{"name":"jolt_id","in":"path","required":true,"schema":{"type":"string","format":"uuid","title":"Jolt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/me":{"get":{"tags":["Public Portal"],"summary":"Get Portal Me","description":"Return current enduser from portal session cookie.","operationId":"get_portal_me_api_public__workspace_slug__me_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/logout":{"post":{"tags":["Public Portal"],"summary":"Portal Logout","description":"Clear portal session cookie.","operationId":"portal_logout_api_public__workspace_slug__logout_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/portal-home":{"get":{"tags":["Public Portal"],"summary":"Get Portal Home","description":"Aggregate endpoint for portal home page - avoids waterfall.","operationId":"get_portal_home_api_public__workspace_slug__portal_home_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalHomeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/boards":{"get":{"tags":["Public Portal"],"summary":"List Public Boards","operationId":"list_public_boards_api_public__workspace_slug__boards_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBoardResponse"},"title":"Response List Public Boards Api Public  Workspace Slug  Boards Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/posts":{"get":{"tags":["Public Portal"],"summary":"List Workspace Posts","description":"Workspace-wide feed across the visitor's accessible boards.\n\nOptional board_slug narrows to one board (404s if not accessible).","operationId":"list_workspace_posts_api_public__workspace_slug__posts_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}},{"name":"board_slug","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/boards/{board_slug}/posts":{"get":{"tags":["Public Portal"],"summary":"List Public Posts","operationId":"list_public_posts_api_public__workspace_slug__boards__board_slug__posts_get","parameters":[{"name":"board_slug","in":"path","required":true,"schema":{"type":"string","title":"Board Slug"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"sort_by","in":"query","required":false,"schema":{"enum":["newest","oldest","votes"],"type":"string","default":"newest","title":"Sort By"}},{"name":"tag_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag Ids"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string","minLength":2,"maxLength":200},{"type":"null"}],"title":"Q"}},{"name":"status_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/search":{"get":{"tags":["Public Portal"],"summary":"Search Public Posts","operationId":"search_public_posts_api_public__workspace_slug__search_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"title":"Q"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicSearchResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/posts/{post_id}":{"get":{"tags":["Public Portal"],"summary":"Get Public Post","operationId":"get_public_post_api_public__workspace_slug__posts__post_id__get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/posts/{post_id}/comments":{"get":{"tags":["Public Portal"],"summary":"List Public Comments","operationId":"list_public_comments_api_public__workspace_slug__posts__post_id__comments_get","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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":50,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCommentListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Public Portal"],"summary":"Submit Public Comment","operationId":"submit_public_comment_api_public__workspace_slug__posts__post_id__comments_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommentSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/submission-status":{"get":{"tags":["Public Portal"],"summary":"Get Submission Status","description":"Public monthly post quota for the submission form - no tier/billing info leaked.","operationId":"get_submission_status_api_public__workspace_slug__submission_status_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Submission Status Api Public  Workspace Slug  Submission Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/feedback":{"post":{"tags":["Public Portal"],"summary":"Submit Feedback","operationId":"submit_feedback_api_public__workspace_slug__feedback_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackSubmitRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/feedback/enhance":{"post":{"tags":["Public Portal"],"summary":"Enhance Public Feedback","description":"Portal AI enhance - signed-in end users only, 1 per 30 seconds.\n\nSame gating as the admin AI routes (plan feature, provider, quota) minus\nthe member-role check.","operationId":"enhance_public_feedback_api_public__workspace_slug__feedback_enhance_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackEnhanceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackEnhanceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/posts/{post_id}/vote":{"post":{"tags":["Public Portal"],"summary":"Toggle Public Vote","operationId":"toggle_public_vote_api_public__workspace_slug__posts__post_id__vote_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoteToggleResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/posts/{post_id}/subscribe":{"post":{"tags":["Public Portal"],"summary":"Subscribe To Post","description":"Subscribe the signed-in end user to a post's notifications.","operationId":"subscribe_to_post_api_public__workspace_slug__posts__post_id__subscribe_post","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Public Portal"],"summary":"Unsubscribe From Post","description":"Unsubscribe the signed-in end user from a post's notifications.","operationId":"unsubscribe_from_post_api_public__workspace_slug__posts__post_id__subscribe_delete","parameters":[{"name":"post_id","in":"path","required":true,"schema":{"type":"string","title":"Post Id"}},{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/roadmap":{"get":{"tags":["Public Portal"],"summary":"Get Public Roadmap","description":"Public roadmap - posts grouped by public bucket (planned/in_progress/done).\n\nOptional ?tags=id1,id2 filters posts (OR). available_tags is always\ncomputed from the unfiltered roadmap so the picker is stable.","operationId":"get_public_roadmap_api_public__workspace_slug__roadmap_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated tag ids","title":"Tags"},"description":"Comma-separated tag ids"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicRoadmapResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/changelog":{"get":{"tags":["Public Portal"],"summary":"List Public Changelog","operationId":"list_public_changelog_api_public__workspace_slug__changelog_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"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"}},{"name":"version_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicChangelogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/versions":{"get":{"tags":["Public Portal"],"summary":"List Public Versions","operationId":"list_public_versions_api_public__workspace_slug__versions_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicVersionListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/sitemap-index":{"get":{"tags":["Public Portal"],"summary":"Enumerate public workspaces + boards + eligible posts for sitemap","operationId":"get_sitemap_index_api_public_sitemap_index_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SitemapIndexResponse"}}}}}}},"/api/public/unmerge/{token}":{"post":{"tags":["Public Portal"],"summary":"Public Unmerge","description":"One-click 'not a duplicate' undo from auto-merge notification email.","operationId":"public_unmerge_api_public_unmerge__token__post","parameters":[{"name":"token","in":"path","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/auth/request-code":{"post":{"tags":["Portal Auth"],"summary":"Request Portal Code","operationId":"request_portal_code_api_public__workspace_slug__auth_request_code_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthRequestCode"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Request Portal Code Api Public  Workspace Slug  Auth Request Code Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/auth/verify-code":{"post":{"tags":["Portal Auth"],"summary":"Verify Portal Code","operationId":"verify_portal_code_api_public__workspace_slug__auth_verify_code_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthVerifyCode"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/{workspace_slug}/auth/verify-invite":{"post":{"tags":["Portal Auth"],"summary":"Verify Board Invite","description":"Sign in via a board-invite email link (signed multi-use token, 7d).\n\nThe invite row must still exist - deleting an invite in the dashboard\nrevokes its emailed links. Replaces any existing portal session.","operationId":"verify_board_invite_api_public__workspace_slug__auth_verify_invite_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalAuthVerifyInvite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PortalMeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/email/unsubscribe":{"post":{"tags":["Email Preferences"],"summary":"One Click Unsubscribe","description":"RFC 8058 one-click unsubscribe (POST only). No auth required.","operationId":"one_click_unsubscribe_api_public_email_unsubscribe_post","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response One Click Unsubscribe Api Public Email Unsubscribe Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Email Preferences"],"summary":"Unsubscribe Via Link","description":"GET redirects to frontend preferences page (no state mutation on GET).","operationId":"unsubscribe_via_link_api_public_email_unsubscribe_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/public/email/preferences":{"get":{"tags":["Email Preferences"],"summary":"Get Preferences","description":"Get email preferences for a subscriber (token-based, no auth).","operationId":"get_preferences_api_public_email_preferences_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/EmailPreferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["Email Preferences"],"summary":"Update Preferences","description":"Update email preferences (token-based, no auth).","operationId":"update_preferences_api_public_email_preferences_patch","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferenceUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailPreferenceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/blog/posts":{"get":{"tags":["Blog"],"summary":"List Posts","operationId":"list_posts_api_blog_posts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostListResponse"}}}}}}},"/api/blog/posts/{language}/{slug}":{"get":{"tags":["Blog"],"summary":"Get Post","operationId":"get_post_api_blog_posts__language___slug__get","parameters":[{"name":"language","in":"path","required":true,"schema":{"type":"string","title":"Language"}},{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogPostResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing":{"get":{"tags":["Billing"],"summary":"Get Billing Info","operationId":"get_billing_info_api_workspaces__workspace_slug__billing_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingInfoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing/change-plan":{"post":{"tags":["Billing"],"summary":"Change Plan","operationId":"change_plan_api_workspaces__workspace_slug__billing_change_plan_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing/reactivate":{"post":{"tags":["Billing"],"summary":"Reactivate Subscription","description":"Recreate a canceled subscription via a same-tier Checkout at the retained tier.","operationId":"reactivate_subscription_api_workspaces__workspace_slug__billing_reactivate_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactivateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReactivateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing/preview-change":{"post":{"tags":["Billing"],"summary":"Preview Plan Change","operationId":"preview_plan_change_api_workspaces__workspace_slug__billing_preview_change_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePlanRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreviewChangeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing/portal":{"post":{"tags":["Billing"],"summary":"Create Portal Session","operationId":"create_portal_session_api_workspaces__workspace_slug__billing_portal_post","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/workspaces/{workspace_slug}/billing/quota-status":{"get":{"tags":["Billing"],"summary":"Get Quota Status","operationId":"get_quota_status_api_workspaces__workspace_slug__billing_quota_status_get","parameters":[{"name":"workspace_slug","in":"path","required":true,"schema":{"type":"string","description":"Workspace slug","title":"Workspace Slug"},"description":"Workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Quota Status Api Workspaces  Workspace Slug  Billing Quota Status Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/stripe/webhooks":{"post":{"tags":["Billing Webhooks"],"summary":"Handle Stripe Webhook","operationId":"handle_stripe_webhook_api_stripe_webhooks_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/integrations/slack/events":{"post":{"tags":["Slack Events"],"summary":"Slack Events","description":"Handle Slack Events API callbacks.","operationId":"slack_events_api_integrations_slack_events_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Events Api Integrations Slack Events Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/integrations/slack/commands":{"post":{"tags":["Slack Events"],"summary":"Slack Commands","description":"Handle /feedjolt slash command.","operationId":"slack_commands_api_integrations_slack_commands_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Commands Api Integrations Slack Commands Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/integrations/slack/interactivity":{"post":{"tags":["Slack Events"],"summary":"Slack Interactivity","description":"Handle Slack message shortcuts (interactivity).","operationId":"slack_interactivity_api_integrations_slack_interactivity_post","parameters":[{"name":"X-Slack-Request-Timestamp","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Request-Timestamp"}},{"name":"X-Slack-Signature","in":"header","required":true,"schema":{"type":"string","title":"X-Slack-Signature"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Slack Interactivity Api Integrations Slack Interactivity Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/integrations/linear/webhooks":{"post":{"tags":["Linear Webhooks"],"summary":"Linear Webhook","description":"Handle Linear webhook events for status sync.\n\nThe limit is a runaway safety valve, deliberately far above real traffic - not\na shaping mechanism. Deliveries carry no API key, so `_get_rate_limit_key`\nfalls back to the remote address, and uvicorn runs without `--proxy-headers`;\nbehind Traefik every workspace's Linear events therefore share ONE bucket.\nSized so one customer's bulk edit cannot throttle everybody else's sync.\n\nConnection-hold safety comes from the pool config and release_connection(),\nnot from this.","operationId":"linear_webhook_api_integrations_linear_webhooks_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Linear Webhook Api Integrations Linear Webhooks Post"}}}}}}},"/api/inbound/postmark":{"post":{"tags":["Inbound"],"summary":"Postmark Inbound","description":"Receive a parsed inbound email from Postmark, persist as intake or comment.\n\nPostmark expects a 200 even for \"we couldn't process this\" so it doesn't\nretry - that's the convention encoded in EmailIntakeService.handle returning\n{\"ok\": True, \"action\": ...} for spam/no-workspace/etc. Only true server\nerrors (5xx) trigger Postmark retries.","operationId":"postmark_inbound_api_inbound_postmark_post","parameters":[{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PostmarkInboundPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Postmark Inbound Api Inbound Postmark Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/rankgoat-publish":{"post":{"tags":["RankGoat Blog"],"summary":"Rankgoat Publish","operationId":"rankgoat_publish_api_rankgoat_publish_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rankgoat Publish Api Rankgoat Publish Post"}}}}}}},"/api/admin/users":{"get":{"tags":["Admin"],"summary":"List Users","description":"List all users with pagination (admin only).","operationId":"list_users_api_admin_users_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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__routes__admin__UsersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}":{"patch":{"tags":["Admin"],"summary":"Update User Role","description":"Update a user's role (admin only).","operationId":"update_user_role_api_admin_users__user_id__patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRoleUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/jobs/failed":{"get":{"tags":["Admin"],"summary":"List Failed Jobs","description":"List permanently failed background jobs from the dead-letter queue.","operationId":"list_failed_jobs_api_admin_jobs_failed_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"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FailedJobsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin"],"summary":"Clear Failed Jobs","description":"Clear the dead-letter queue.","operationId":"clear_failed_jobs_api_admin_jobs_failed_delete","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/jobs/failed/{task_id}/retry":{"post":{"tags":["Admin"],"summary":"Retry Failed Job","description":"Re-enqueue a permanently-failed task and remove it from the DLQ.","operationId":"retry_failed_job_api_admin_jobs_failed__task_id__retry_post","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RetryFailedJobResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/jobs/failed/{task_id}":{"delete":{"tags":["Admin"],"summary":"Delete Failed Job","description":"Remove a single failed job from the DLQ.","operationId":"delete_failed_job_api_admin_jobs_failed__task_id__delete","parameters":[{"name":"task_id","in":"path","required":true,"schema":{"type":"string","title":"Task Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/beat-tasks":{"get":{"tags":["Admin"],"summary":"List Beat Tasks","description":"Return all beat-scheduled tasks with humanized schedule + latest run info.","operationId":"list_beat_tasks_api_admin_beat_tasks_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/BeatTaskEntry"},"title":"Response List Beat Tasks Api Admin Beat Tasks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/beat-tasks/{key}/run":{"post":{"tags":["Admin"],"summary":"Run Beat Task","description":"Manually enqueue one beat task. Audit-logged.","operationId":"run_beat_task_api_admin_beat_tasks__key__run_post","parameters":[{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BeatTaskRunResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/weekly-jolts/force-send":{"post":{"tags":["Admin Weekly Jolt"],"summary":"Force Send","description":"Enqueue an immediate Weekly Jolt send for `workspace_id`.\n\nBypasses the schedule and the 7-day hard cap (`force=True` is forwarded\nto the worker). Eligibility is still enforced - FREE tier silently skips.\n\nAudit-logged: every SuperAdmin action on workspace-scoped data must land\nin the audit log (per backend/CLAUDE.md).","operationId":"force_send_api_admin_weekly_jolts_force_send_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceSendBody"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForceSendResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/weekly-jolts/stats":{"get":{"tags":["Admin Weekly Jolt"],"summary":"Get Stats","description":"7-day aggregate of Weekly Jolt activity. SuperAdmin only.\n\nSums LLM cost, averages latency across successful sends, and counts\nskip reasons recorded on `WeeklyJoltPreference.last_skipped_reason`.\nSingle-region view - runs on the caller's regional DB (per JWT `rgn`).","operationId":"get_stats_api_admin_weekly_jolts_stats_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Stats Api Admin Weekly Jolts Stats Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/weekly-jolts/recent":{"get":{"tags":["Admin Weekly Jolt"],"summary":"List Recent","description":"Last N Weekly Jolt archive rows ordered by `sent_at` desc.\n\nSuperAdmin only. Returns the full `llm_metadata_json` blob so the\noperator console can surface model / token / cost details.","operationId":"list_recent_api_admin_weekly_jolts_recent_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","additionalProperties":true},"title":"Response List Recent Api Admin Weekly Jolts Recent Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/users":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Users","description":"List all platform users across regions with filters.","operationId":"list_platform_users_api_superadmin_users_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"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Search email or name","title":"Q"},"description":"Search email or name"},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(EU|US)$"},{"type":"null"}],"title":"Region"}},{"name":"is_super_admin","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Super Admin"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__superadmin__UsersListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/users/{user_id}/super-admin":{"patch":{"tags":["SuperAdmin"],"summary":"Set Super Admin","description":"Grant or revoke super admin status (super admin only). Cannot change own status.","operationId":"set_super_admin_api_superadmin_users__user_id__super_admin_patch","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SetSuperAdminRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/users/{user_id}/force-logout":{"post":{"tags":["SuperAdmin"],"summary":"Force Logout","description":"Invalidate a user's sessions (super admin only).","operationId":"force_logout_api_superadmin_users__user_id__force_logout_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/users/{user_id}/impersonate":{"post":{"tags":["SuperAdmin"],"summary":"Impersonate","description":"Mint a 5-minute impersonation token for the target user (super admin only).","operationId":"impersonate_api_superadmin_users__user_id__impersonate_post","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ImpersonateResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/users/{user_id}":{"delete":{"tags":["SuperAdmin"],"summary":"Delete User Endpoint","description":"Soft-delete a user with typed-confirm (super admin only).","operationId":"delete_user_endpoint_api_superadmin_users__user_id__delete","parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"confirm","in":"query","required":true,"schema":{"type":"string","description":"Typed confirmation - must match user email","title":"Confirm"},"description":"Typed confirmation - must match user email"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/workspaces":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Workspaces","description":"List all platform workspaces across regions with filters.","operationId":"list_platform_workspaces_api_superadmin_workspaces_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"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"region","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^(EU|US)$"},{"type":"null"}],"title":"Region"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspacesListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/workspaces/{workspace_id}/details":{"get":{"tags":["SuperAdmin"],"summary":"Workspace Details","description":"Full detail for one workspace: subscription, entity counts, live Stripe.","operationId":"workspace_details_api_superadmin_workspaces__workspace_id__details_get","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceDetailResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/workspaces/{workspace_id}/active":{"patch":{"tags":["SuperAdmin"],"summary":"Toggle Workspace Active","description":"Toggle workspace active status (super admin only).","operationId":"toggle_workspace_active_api_superadmin_workspaces__workspace_id__active_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkspaceResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/workspaces/{workspace_id}/comp":{"patch":{"tags":["SuperAdmin"],"summary":"Set Workspace Comp","description":"Grant or revoke a free (comped) license for a workspace (super admin only).","operationId":"set_workspace_comp_api_superadmin_workspaces__workspace_id__comp_patch","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompWorkspaceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegionTaggedWorkspace"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/workspaces/{workspace_id}":{"delete":{"tags":["SuperAdmin"],"summary":"Delete Workspace Endpoint","description":"Soft-delete a workspace with typed-confirm (super admin only).","operationId":"delete_workspace_endpoint_api_superadmin_workspaces__workspace_id__delete","parameters":[{"name":"workspace_id","in":"path","required":true,"schema":{"type":"string","title":"Workspace Id"}},{"name":"confirm","in":"query","required":true,"schema":{"type":"string","description":"Typed confirmation - must match workspace slug","title":"Confirm"},"description":"Typed confirmation - must match workspace slug"},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/settings":{"get":{"tags":["SuperAdmin"],"summary":"Get Settings","description":"Return platform settings grouped by section with secrets redacted.","operationId":"get_settings_api_superadmin_settings_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SettingsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/plans":{"get":{"tags":["SuperAdmin"],"summary":"Get Plans","description":"Return all tier dials + the feature→tier matrix for the admin editor.","operationId":"get_plans_api_superadmin_plans_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["SuperAdmin"],"summary":"Update Plans","description":"Apply tier-dial + feature-matrix edits. Audit-logged; cache invalidated.","operationId":"update_plans_api_superadmin_plans_put","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/plans/reset":{"post":{"tags":["SuperAdmin"],"summary":"Reset Plans","description":"Reset all plan config to in-code defaults. Audit-logged; cache invalidated.","operationId":"reset_plans_api_superadmin_plans_reset_post","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlansResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/startup-requests":{"get":{"tags":["SuperAdmin"],"summary":"List Startup Requests","description":"Queue of startup requests for review (default PENDING), newest first.","operationId":"list_startup_requests_api_superadmin_startup_requests_get","parameters":[{"name":"status","in":"query","required":false,"schema":{"$ref":"#/components/schemas/StartupRequestStatus","default":"PENDING"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/startup-requests/{request_id}/approve":{"post":{"tags":["SuperAdmin"],"summary":"Approve Startup Request","description":"Approve a startup request - unlocks the $9 price and emails the applicant.","operationId":"approve_startup_request_api_superadmin_startup_requests__request_id__approve_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestAdminItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/startup-requests/{request_id}/reject":{"post":{"tags":["SuperAdmin"],"summary":"Reject Startup Request","description":"Reject a startup request and email the applicant the reviewer's note.","operationId":"reject_startup_request_api_superadmin_startup_requests__request_id__reject_post","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartupRequestAdminItem"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/server/health":{"get":{"tags":["SuperAdmin"],"summary":"Server Health","description":"Ping DBs, Redis, and R2 buckets with latency in milliseconds.","operationId":"server_health_api_superadmin_server_health_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServerHealthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/server/uptime":{"get":{"tags":["SuperAdmin"],"summary":"Server Uptime","description":"Return process start time and uptime seconds.","operationId":"server_uptime_api_superadmin_server_uptime_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UptimeResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/server/workers":{"get":{"tags":["SuperAdmin"],"summary":"Server Workers","description":"Return Celery worker/task stats plus dead-letter queue depth.","operationId":"server_workers_api_superadmin_server_workers_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WorkerStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/server/database":{"get":{"tags":["SuperAdmin"],"summary":"Server Database","description":"Return per-region pool stats and top-5 table row counts.","operationId":"server_database_api_superadmin_server_database_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DatabaseStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/server/version":{"get":{"tags":["SuperAdmin"],"summary":"Server Version","description":"Return git SHA, build time, app version, and Python version.","operationId":"server_version_api_superadmin_server_version_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schemas__superadmin__VersionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/stats/totals":{"get":{"tags":["SuperAdmin"],"summary":"Stats Totals","description":"Return platform-wide counts for 7 metrics plus per-region breakdown.","operationId":"stats_totals_api_superadmin_stats_totals_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TotalsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/stats/growth":{"get":{"tags":["SuperAdmin"],"summary":"Stats Growth","description":"Return a daily count series for ``metric`` over the last ``days`` days.","operationId":"stats_growth_api_superadmin_stats_growth_get","parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","default":"users","title":"Metric"}},{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GrowthResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/stats/top-workspaces":{"get":{"tags":["SuperAdmin"],"summary":"Stats Top Workspaces","description":"Return the top ``limit`` workspaces ranked by posts, end_users, or votes.","operationId":"stats_top_workspaces_api_superadmin_stats_top_workspaces_get","parameters":[{"name":"by","in":"query","required":false,"schema":{"type":"string","default":"posts","title":"By"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":10,"title":"Limit"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/TopWorkspacesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/stats/plans":{"get":{"tags":["SuperAdmin"],"summary":"Stats Plans","description":"Return workspace counts bucketed by plan tier across both regions.","operationId":"stats_plans_api_superadmin_stats_plans_get","parameters":[{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlanDistributionResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/superadmin/audit-logs":{"get":{"tags":["SuperAdmin"],"summary":"List Platform Audit Logs","description":"SuperAdmin cross-workspace audit log view with actor + workspace metadata.","operationId":"list_platform_audit_logs_api_superadmin_audit_logs_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":25,"title":"Page Size"}},{"name":"actor_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},{"name":"workspace_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"}},{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"resource_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Type"}},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Since"}},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Until"}},{"name":"access_token","in":"cookie","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PlatformAuditLogListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-protected-resource/{_resource_path}":{"get":{"summary":"Protected Resource Metadata","operationId":"protected_resource_metadata__well_known_oauth_protected_resource___resource_path__get","parameters":[{"name":"_resource_path","in":"path","required":true,"schema":{"type":"string","title":" Resource Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"summary":"Protected Resource Metadata","operationId":"protected_resource_metadata__well_known_oauth_protected_resource_get","parameters":[{"name":"_resource_path","in":"query","required":false,"schema":{"type":"string","default":"","title":" Resource Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-authorization-server/{_path}":{"get":{"summary":"Authorization Server Metadata","operationId":"authorization_server_metadata__well_known_oauth_authorization_server___path__get","parameters":[{"name":"_path","in":"path","required":true,"schema":{"type":"string","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Authorization Server Metadata","operationId":"authorization_server_metadata__well_known_oauth_authorization_server_get","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/register":{"post":{"summary":"Register Client","operationId":"register_client_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/register":{"post":{"summary":"Register Client","operationId":"register_client_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize":{"get":{"summary":"Authorize","operationId":"authorize_oauth_authorize_get","parameters":[{"name":"response_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Type"}},{"name":"client_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"}},{"name":"redirect_uri","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri"}},{"name":"code_challenge","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Challenge Method"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}},{"name":"scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},{"name":"resource","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/token":{"post":{"summary":"Token","operationId":"token_oauth_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_token_oauth_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/revoke":{"post":{"summary":"Revoke","operationId":"revoke_oauth_revoke_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_revoke_oauth_revoke_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/openid-configuration/{_path}":{"get":{"summary":"Openid Configuration Disabled","operationId":"openid_configuration_disabled__well_known_openid_configuration___path__get","parameters":[{"name":"_path","in":"path","required":true,"schema":{"type":"string","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/.well-known/openid-configuration":{"get":{"summary":"Openid Configuration Disabled","operationId":"openid_configuration_disabled__well_known_openid_configuration_get","parameters":[{"name":"_path","in":"query","required":false,"schema":{"type":"string","default":"","title":" Path"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"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":{}}}}}}}},"components":{"schemas":{"AIRecommendationResponse":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"source_id":{"type":"string","title":"Source Id"},"target_ids":{"items":{"type":"string"},"type":"array","title":"Target Ids"},"confidence":{"type":"number","title":"Confidence"},"rationale":{"type":"string","title":"Rationale"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","type","source_id","target_ids","confidence","rationale","status"],"title":"AIRecommendationResponse"},"AIUsageEventResponse":{"properties":{"id":{"type":"string","title":"Id"},"feature":{"type":"string","title":"Feature"},"tokens_used":{"type":"integer","title":"Tokens Used"},"cost":{"type":"number","title":"Cost"},"model":{"type":"string","title":"Model"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","feature","tokens_used","cost","model","created_at"],"title":"AIUsageEventResponse"},"AIUsagePair":{"properties":{"used":{"type":"integer","title":"Used"},"quota":{"type":"integer","title":"Quota"}},"type":"object","required":["used","quota"],"title":"AIUsagePair"},"AIUsageResponse":{"properties":{"used":{"type":"integer","title":"Used"},"quota":{"type":"integer","title":"Quota"},"events":{"items":{"$ref":"#/components/schemas/AIUsageEventResponse"},"type":"array","title":"Events"}},"type":"object","required":["used","quota","events"],"title":"AIUsageResponse"},"APIKeyCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"scopes":{"anyOf":[{"additionalProperties":{"type":"boolean"},"type":"object"},{"type":"null"}],"title":"Scopes"}},"type":"object","required":["name"],"title":"APIKeyCreate"},"APIKeyCreatedResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"scopes":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Scopes"},"is_active":{"type":"boolean","title":"Is Active"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"raw_key":{"type":"string","title":"Raw Key"}},"type":"object","required":["id","name","key_prefix","scopes","is_active","last_used_at","created_at","revoked_at","raw_key"],"title":"APIKeyCreatedResponse"},"APIKeyResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"key_prefix":{"type":"string","title":"Key Prefix"},"scopes":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Scopes"},"is_active":{"type":"boolean","title":"Is Active"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","name","key_prefix","scopes","is_active","last_used_at","created_at","revoked_at"],"title":"APIKeyResponse"},"APIKeyScopesUpdate":{"properties":{"scopes":{"additionalProperties":{"type":"boolean"},"type":"object","title":"Scopes"}},"type":"object","required":["scopes"],"title":"APIKeyScopesUpdate"},"AcceptInviteRequest":{"properties":{"token":{"type":"string","title":"Token"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"}},"type":"object","required":["token","name"],"title":"AcceptInviteRequest","description":"Request to accept a workspace invitation."},"AttachmentListResponse":{"properties":{"attachments":{"items":{"$ref":"#/components/schemas/AttachmentResponse"},"type":"array","title":"Attachments"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["attachments","total"],"title":"AttachmentListResponse"},"AttachmentResponse":{"properties":{"id":{"type":"string","title":"Id"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"type":"string","title":"Resource Id"},"filename":{"type":"string","title":"Filename"},"content_type":{"type":"string","title":"Content Type"},"size":{"type":"integer","title":"Size"},"download_url":{"type":"string","title":"Download Url"},"uploaded_by_type":{"type":"string","title":"Uploaded By Type"},"uploaded_by_id":{"type":"string","title":"Uploaded By Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","resource_type","resource_id","filename","content_type","size","download_url","uploaded_by_type","uploaded_by_id","created_at"],"title":"AttachmentResponse"},"AuditLogListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/AuditLogResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["entries","total","page","page_size"],"title":"AuditLogListResponse"},"AuditLogResponse":{"properties":{"id":{"type":"string","title":"Id"},"actor_id":{"type":"string","title":"Actor Id"},"actor_type":{"type":"string","title":"Actor Type"},"action":{"type":"string","title":"Action"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","actor_id","actor_type","action","resource_type","resource_id","metadata_","ip_address","created_at"],"title":"AuditLogResponse"},"AuthorType":{"type":"string","enum":["ADMIN_USER","END_USER","API_KEY"],"title":"AuthorType"},"AutoMergeConfigSchema":{"properties":{"enabled":{"type":"boolean","title":"Enabled"},"threshold":{"type":"number","maximum":0.99,"minimum":0.8,"title":"Threshold"},"scope":{"type":"string","enum":["board","workspace"],"title":"Scope"},"notify_voters":{"type":"boolean","title":"Notify Voters"}},"type":"object","required":["enabled","threshold","scope","notify_voters"],"title":"AutoMergeConfigSchema"},"AutoMergeLogEntry":{"properties":{"audit_log_id":{"type":"string","title":"Audit Log Id"},"source_post_id":{"type":"string","title":"Source Post Id"},"source_title":{"type":"string","title":"Source Title"},"target_post_id":{"type":"string","title":"Target Post Id"},"target_title":{"type":"string","title":"Target Title"},"confidence":{"type":"number","title":"Confidence"},"rationale":{"type":"string","title":"Rationale"},"auto_merged_at":{"type":"string","format":"date-time","title":"Auto Merged At"},"unmerged":{"type":"boolean","title":"Unmerged"}},"type":"object","required":["audit_log_id","source_post_id","source_title","target_post_id","target_title","confidence","rationale","auto_merged_at","unmerged"],"title":"AutoMergeLogEntry"},"AutoMergeLogResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/AutoMergeLogEntry"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["entries","total"],"title":"AutoMergeLogResponse"},"AutoTagConfigSchema":{"properties":{"enabled":{"type":"boolean","title":"Enabled"}},"type":"object","required":["enabled"],"title":"AutoTagConfigSchema"},"BeatTaskEntry":{"properties":{"key":{"type":"string","title":"Key"},"task_name":{"type":"string","title":"Task Name"},"schedule":{"type":"string","title":"Schedule"},"schedule_raw":{"type":"string","title":"Schedule Raw"},"last_run":{"anyOf":[{"$ref":"#/components/schemas/BeatTaskLastRun"},{"type":"null"}]}},"type":"object","required":["key","task_name","schedule","schedule_raw","last_run"],"title":"BeatTaskEntry"},"BeatTaskLastRun":{"properties":{"finished_at":{"type":"string","format":"date-time","title":"Finished At"},"duration_ms":{"type":"integer","title":"Duration Ms"},"status":{"type":"string","enum":["success","failure"],"title":"Status"},"error_msg":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Msg"}},"type":"object","required":["finished_at","duration_ms","status","error_msg"],"title":"BeatTaskLastRun"},"BeatTaskRunResponse":{"properties":{"enqueued":{"type":"boolean","title":"Enqueued"},"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"}},"type":"object","required":["enqueued","task_id"],"title":"BeatTaskRunResponse"},"BillingInfoResponse":{"properties":{"plan_tier":{"type":"string","title":"Plan Tier"},"status":{"type":"string","title":"Status"},"admin_seats":{"$ref":"#/components/schemas/UsagePair"},"ai_usage":{"$ref":"#/components/schemas/AIUsagePair"},"monthly_posts":{"$ref":"#/components/schemas/MonthlyPostsUsage"},"current_period_end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Period End"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"trial_ends_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Trial Ends At"},"is_trialing":{"type":"boolean","title":"Is Trialing","default":false},"is_comped":{"type":"boolean","title":"Is Comped","default":false},"has_lingering_subscription":{"type":"boolean","title":"Has Lingering Subscription","default":false}},"type":"object","required":["plan_tier","status","admin_seats","ai_usage","monthly_posts","current_period_end","stripe_customer_id"],"title":"BillingInfoResponse"},"BlogPostListItem":{"properties":{"slug":{"type":"string","title":"Slug"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"meta_description":{"type":"string","title":"Meta Description"},"published_at":{"type":"string","format":"date-time","title":"Published At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["slug","language","title","meta_description","published_at","updated_at"],"title":"BlogPostListItem"},"BlogPostListResponse":{"properties":{"posts":{"items":{"$ref":"#/components/schemas/BlogPostListItem"},"type":"array","title":"Posts"}},"type":"object","required":["posts"],"title":"BlogPostListResponse"},"BlogPostResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"language":{"type":"string","title":"Language"},"title":{"type":"string","title":"Title"},"meta_description":{"type":"string","title":"Meta Description"},"body_html":{"type":"string","title":"Body Html"},"hero_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hero Image Url"},"json_ld":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Json Ld"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"related_articles":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Related Articles"},"alternates":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Alternates"},"word_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Word Count"},"published_at":{"type":"string","format":"date-time","title":"Published At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["slug","language","title","meta_description","body_html","hero_image_url","json_ld","category","tags","related_articles","alternates","word_count","published_at","updated_at"],"title":"BlogPostResponse"},"BoardCreate":{"properties":{"title":{"type":"string","maxLength":255,"minLength":1,"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"slug":{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-z0-9-]+$","title":"Slug"},"icon":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Icon"},"visibility":{"$ref":"#/components/schemas/BoardVisibility","default":"PUBLIC"},"votes_enabled":{"type":"boolean","title":"Votes Enabled","default":true},"moderation_enabled":{"type":"boolean","title":"Moderation Enabled","default":false},"notify_admins_on_new_post":{"type":"boolean","title":"Notify Admins On New Post","default":true}},"type":"object","required":["title","slug"],"title":"BoardCreate"},"BoardInviteBatchResponse":{"properties":{"added":{"items":{"$ref":"#/components/schemas/BoardInviteResponse"},"type":"array","title":"Added"},"skipped_duplicates":{"items":{"type":"string"},"type":"array","title":"Skipped Duplicates"},"invalid":{"items":{"type":"string"},"type":"array","title":"Invalid"}},"type":"object","required":["added","skipped_duplicates","invalid"],"title":"BoardInviteBatchResponse"},"BoardInviteCreate":{"properties":{"emails":{"items":{"type":"string"},"type":"array","maxItems":500,"minItems":1,"title":"Emails"}},"type":"object","required":["emails"],"title":"BoardInviteCreate"},"BoardInviteNotifyPendingResponse":{"properties":{"notified":{"type":"integer","title":"Notified"}},"type":"object","required":["notified"],"title":"BoardInviteNotifyPendingResponse"},"BoardInviteResponse":{"properties":{"id":{"type":"string","title":"Id"},"board_id":{"type":"string","title":"Board Id"},"email":{"type":"string","title":"Email"},"invited_by_user_id":{"type":"string","title":"Invited By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_notified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Notified At"}},"type":"object","required":["id","board_id","email","invited_by_user_id","created_at","last_notified_at"],"title":"BoardInviteResponse"},"BoardReorderRequest":{"properties":{"ordered_ids":{"items":{"type":"string"},"type":"array","title":"Ordered Ids"}},"type":"object","required":["ordered_ids"],"title":"BoardReorderRequest"},"BoardResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"slug":{"type":"string","title":"Slug"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"visibility":{"$ref":"#/components/schemas/BoardVisibility"},"votes_enabled":{"type":"boolean","title":"Votes Enabled"},"moderation_enabled":{"type":"boolean","title":"Moderation Enabled"},"notify_admins_on_new_post":{"type":"boolean","title":"Notify Admins On New Post"},"pinned_post_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Pinned Post Id"},"archived":{"type":"boolean","title":"Archived"},"sort_order":{"type":"integer","title":"Sort Order"},"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","title","description","slug","icon","visibility","votes_enabled","moderation_enabled","notify_admins_on_new_post","pinned_post_id","archived","sort_order","created_at","updated_at"],"title":"BoardResponse"},"BoardSummaryItem":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"slug":{"type":"string","title":"Slug"},"post_count":{"type":"integer","title":"Post Count"},"votes_total":{"type":"integer","title":"Votes Total"},"last_activity_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Activity At"}},"type":"object","required":["id","title","slug","post_count","votes_total"],"title":"BoardSummaryItem"},"BoardUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"slug":{"anyOf":[{"type":"string","maxLength":100,"minLength":1,"pattern":"^[a-z0-9-]+$"},{"type":"null"}],"title":"Slug"},"icon":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Icon"},"visibility":{"anyOf":[{"$ref":"#/components/schemas/BoardVisibility"},{"type":"null"}]},"votes_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Votes Enabled"},"moderation_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Moderation Enabled"},"notify_admins_on_new_post":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Notify Admins On New Post"},"archived":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Archived"}},"type":"object","title":"BoardUpdate"},"BoardVisibility":{"type":"string","enum":["PUBLIC","AUTHENTICATED","INVITE_ONLY","INTERNAL"],"title":"BoardVisibility"},"Body_create_canny_import_api_v1_workspaces__workspace_slug__imports_canny_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_create_canny_import_api_v1_workspaces__workspace_slug__imports_canny_post"},"Body_create_canny_import_api_workspaces__workspace_slug__imports_canny_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_create_canny_import_api_workspaces__workspace_slug__imports_canny_post"},"Body_preview_canny_csv_api_v1_workspaces__workspace_slug__imports_canny_preview_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_preview_canny_csv_api_v1_workspaces__workspace_slug__imports_canny_preview_post"},"Body_preview_canny_csv_api_workspaces__workspace_slug__imports_canny_preview_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_preview_canny_csv_api_workspaces__workspace_slug__imports_canny_preview_post"},"Body_revoke_oauth_revoke_post":{"properties":{"token":{"type":"string","title":"Token"},"token_type_hint":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Type Hint"}},"type":"object","required":["token"],"title":"Body_revoke_oauth_revoke_post"},"Body_token_oauth_token_post":{"properties":{"grant_type":{"type":"string","title":"Grant Type"},"code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code"},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"code_verifier":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Code Verifier"},"resource":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},"type":"object","required":["grant_type"],"title":"Body_token_oauth_token_post"},"Body_upload_attachment_api_v1_workspaces__workspace_slug__attachments_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"resource_type":{"$ref":"#/components/schemas/ResourceType"},"resource_id":{"type":"string","title":"Resource Id"}},"type":"object","required":["file","resource_type","resource_id"],"title":"Body_upload_attachment_api_v1_workspaces__workspace_slug__attachments_post"},"Body_upload_attachment_api_workspaces__workspace_slug__attachments_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"resource_type":{"$ref":"#/components/schemas/ResourceType"},"resource_id":{"type":"string","title":"Resource Id"}},"type":"object","required":["file","resource_type","resource_id"],"title":"Body_upload_attachment_api_workspaces__workspace_slug__attachments_post"},"Body_upload_avatar_api_user_profile_avatar_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_avatar_api_user_profile_avatar_post"},"Body_upload_avatar_api_v1_user_profile_avatar_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_avatar_api_v1_user_profile_avatar_post"},"Body_upload_workspace_favicon_api_v1_workspaces__workspace_slug__favicon_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_workspace_favicon_api_v1_workspaces__workspace_slug__favicon_post"},"Body_upload_workspace_favicon_api_workspaces__workspace_slug__favicon_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_workspace_favicon_api_workspaces__workspace_slug__favicon_post"},"Body_upload_workspace_logo_api_v1_workspaces__workspace_slug__logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_workspace_logo_api_v1_workspaces__workspace_slug__logo_post"},"Body_upload_workspace_logo_api_workspaces__workspace_slug__logo_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_workspace_logo_api_workspaces__workspace_slug__logo_post"},"BrandingResponse":{"properties":{"primary_color":{"type":"string","title":"Primary Color"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"show_branding":{"type":"boolean","title":"Show Branding"}},"type":"object","required":["primary_color","logo_url","favicon_url","show_branding"],"title":"BrandingResponse"},"BrandingUpdate":{"properties":{"primary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Primary Color"},"logo_key":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Logo Key"},"favicon_key":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Favicon Key"},"show_branding_override":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Branding Override"}},"type":"object","title":"BrandingUpdate"},"BulkModerationAction":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Post Ids"},"action":{"type":"string","enum":["approve","reject","spam"],"title":"Action"}},"type":"object","required":["post_ids","action"],"title":"BulkModerationAction"},"BulkPostAction":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Post Ids"},"action":{"type":"string","enum":["delete","change_status","change_visibility","create_linear_issues","assign_linear_issue"],"title":"Action"},"status_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"},"is_internal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Internal"},"external_id":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"External Id"},"external_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"External Url"},"external_status":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"External Status"}},"type":"object","required":["post_ids","action"],"title":"BulkPostAction","description":"A deliberately small, admin-only batch operation for published posts."},"BulkPostActionResponse":{"properties":{"succeeded_ids":{"items":{"type":"string"},"type":"array","title":"Succeeded Ids"},"failures":{"items":{"$ref":"#/components/schemas/BulkPostFailure"},"type":"array","title":"Failures"}},"type":"object","title":"BulkPostActionResponse"},"BulkPostFailure":{"properties":{"post_id":{"type":"string","title":"Post Id"},"error":{"type":"string","title":"Error"}},"type":"object","required":["post_id","error"],"title":"BulkPostFailure"},"ChangePlanRequest":{"properties":{"tier":{"$ref":"#/components/schemas/PlanTier"},"cycle":{"type":"string","enum":["monthly","yearly"],"title":"Cycle","default":"monthly"}},"type":"object","required":["tier"],"title":"ChangePlanRequest"},"ChangePlanResponse":{"properties":{"mode":{"type":"string","enum":["modified","canceled","checkout"],"title":"Mode"},"checkout_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkout Url"}},"type":"object","required":["mode"],"title":"ChangePlanResponse"},"ChangelogCreate":{"properties":{"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}},"type":"object","required":["title"],"title":"ChangelogCreate"},"ChangelogDraftRequest":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","maxItems":50,"minItems":1,"title":"Post Ids"}},"type":"object","required":["post_ids"],"title":"ChangelogDraftRequest"},"ChangelogDraftResponse":{"properties":{"title":{"type":"string","title":"Title"},"body":{"type":"string","title":"Body"},"tokens_used":{"type":"integer","title":"Tokens Used"}},"type":"object","required":["title","body","tokens_used"],"title":"ChangelogDraftResponse"},"ChangelogLinkPosts":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","title":"Post Ids"}},"type":"object","required":["post_ids"],"title":"ChangelogLinkPosts"},"ChangelogListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/ChangelogResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["entries","total","page","page_size"],"title":"ChangelogListResponse"},"ChangelogPublish":{"properties":{"scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scheduled At"}},"type":"object","title":"ChangelogPublish"},"ChangelogResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"status":{"$ref":"#/components/schemas/ChangelogStatus"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"scheduled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Scheduled At"},"author_id":{"type":"string","title":"Author Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"linked_post_ids":{"items":{"type":"string"},"type":"array","title":"Linked Post Ids","default":[]},"version":{"anyOf":[{"$ref":"#/components/schemas/VersionSummary"},{"type":"null"}]}},"type":"object","required":["id","workspace_id","title","body","status","published_at","scheduled_at","author_id","created_at","updated_at"],"title":"ChangelogResponse"},"ChangelogStatus":{"type":"string","enum":["DRAFT","PUBLISHED","SCHEDULED"],"title":"ChangelogStatus"},"ChangelogUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}},"type":"object","title":"ChangelogUpdate"},"ClientRegistrationRequest":{"properties":{"client_name":{"type":"string","title":"Client Name","default":""},"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"grant_types":{"items":{"type":"string"},"type":"array","title":"Grant Types"},"response_types":{"items":{"type":"string"},"type":"array","title":"Response Types"},"token_endpoint_auth_method":{"type":"string","title":"Token Endpoint Auth Method","default":"none"},"application_type":{"type":"string","title":"Application Type","default":"native"},"client_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Uri"},"logo_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Uri"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},"type":"object","title":"ClientRegistrationRequest"},"CommentCreate":{"properties":{"body":{"type":"string","maxLength":10000,"minLength":1,"title":"Body"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_internal":{"type":"boolean","title":"Is Internal","default":false}},"type":"object","required":["body"],"title":"CommentCreate"},"CommentListResponse":{"properties":{"comments":{"items":{"$ref":"#/components/schemas/CommentResponse"},"type":"array","title":"Comments"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["comments","total"],"title":"CommentListResponse"},"CommentResponse":{"properties":{"id":{"type":"string","title":"Id"},"post_id":{"type":"string","title":"Post Id"},"author_type":{"$ref":"#/components/schemas/AuthorType"},"author_id":{"type":"string","title":"Author Id"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Email"},"author_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Avatar Url"},"body":{"type":"string","title":"Body"},"is_internal":{"type":"boolean","title":"Is Internal"},"is_pinned":{"type":"boolean","title":"Is Pinned"},"is_incognito":{"type":"boolean","title":"Is Incognito"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","post_id","author_type","author_id","body","is_internal","is_pinned","is_incognito","parent_id","created_at","updated_at"],"title":"CommentResponse"},"CommentSubmitRequest":{"properties":{"body":{"type":"string","maxLength":5000,"minLength":1,"title":"Body"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"is_incognito":{"type":"boolean","title":"Is Incognito","default":false}},"type":"object","required":["body"],"title":"CommentSubmitRequest"},"CommentUpdate":{"properties":{"body":{"type":"string","maxLength":10000,"minLength":1,"title":"Body"}},"type":"object","required":["body"],"title":"CommentUpdate"},"CommentVisibilityUpdate":{"properties":{"is_internal":{"type":"boolean","title":"Is Internal"}},"type":"object","required":["is_internal"],"title":"CommentVisibilityUpdate"},"CompWorkspaceRequest":{"properties":{"is_comped":{"type":"boolean","title":"Is Comped"},"plan_tier":{"anyOf":[{"$ref":"#/components/schemas/PlanTier"},{"type":"null"}]}},"type":"object","required":["is_comped"],"title":"CompWorkspaceRequest","description":"Grant (is_comped=true + plan_tier) or revoke (is_comped=false) a free license."},"CompanyCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"plan":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Plan"},"mrr":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Mrr"},"industry":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Industry"},"employee_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Employee Count"},"renewal_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Renewal Date"},"blocking_deal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocking Deal"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"}},"type":"object","required":["name"],"title":"CompanyCreate","description":"Admin create payload."},"CompanyDetail":{"properties":{"id":{"type":"string","title":"Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"type":"string","title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"mrr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mrr"},"industry":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Industry"},"employee_count":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Employee Count"},"renewal_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Renewal Date"},"blocking_deal":{"type":"boolean","title":"Blocking Deal"},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"},"manual_overrides":{"additionalProperties":true,"type":"object","title":"Manual Overrides"},"end_user_count":{"type":"integer","title":"End User Count"},"post_count":{"type":"integer","title":"Post Count"},"vote_count":{"type":"integer","title":"Vote Count"},"end_users":{"items":{"$ref":"#/components/schemas/CompanyEndUserBrief"},"type":"array","title":"End Users"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"}},"type":"object","required":["id","external_id","name","plan","mrr","industry","employee_count","renewal_date","blocking_deal","custom_fields","manual_overrides","end_user_count","post_count","vote_count","end_users","created_at","updated_at","archived_at"],"title":"CompanyDetail","description":"Full Company profile for admin detail view."},"CompanyEndUserBrief":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","email","name","avatar_url","created_at"],"title":"CompanyEndUserBrief","description":"Minimal end-user info embedded in Company detail."},"CompanyListItem":{"properties":{"id":{"type":"string","title":"Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"name":{"type":"string","title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"},"mrr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mrr"},"end_user_count":{"type":"integer","title":"End User Count"},"post_count":{"type":"integer","title":"Post Count"},"vote_count":{"type":"integer","title":"Vote Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"archived_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Archived At"}},"type":"object","required":["id","external_id","name","plan","mrr","end_user_count","post_count","vote_count","created_at","archived_at"],"title":"CompanyListItem","description":"Company item in list view."},"CompanyListResponse":{"properties":{"companies":{"items":{"$ref":"#/components/schemas/CompanyListItem"},"type":"array","title":"Companies"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["companies","total","page","page_size"],"title":"CompanyListResponse"},"CompanyUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"plan":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Plan"},"mrr":{"anyOf":[{"type":"number","minimum":0.0},{"type":"null"}],"title":"Mrr"},"industry":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Industry"},"employee_count":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Employee Count"},"renewal_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Renewal Date"},"blocking_deal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Blocking Deal"},"custom_fields":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Custom Fields"}},"type":"object","title":"CompanyUpdate","description":"Admin patch payload - any subset of editable fields."},"ConsentDecision":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"approved":{"type":"boolean","title":"Approved"}},"type":"object","required":["workspace_id","approved"],"title":"ConsentDecision"},"ContactRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"subject":{"type":"string","maxLength":255,"minLength":1,"title":"Subject"},"message":{"type":"string","maxLength":5000,"minLength":10,"title":"Message"},"turnstileToken":{"type":"string","title":"Turnstiletoken"}},"type":"object","required":["name","email","subject","message","turnstileToken"],"title":"ContactRequest","description":"Request schema for contact form submission."},"ContactResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"ContactResponse","description":"Response schema for contact form submission."},"CsvPreviewResponse":{"properties":{"preview_id":{"type":"string","title":"Preview Id"},"detected_board_name":{"type":"string","title":"Detected Board Name"},"distinct_statuses":{"items":{"type":"string"},"type":"array","title":"Distinct Statuses"},"distinct_tags":{"items":{"type":"string"},"type":"array","title":"Distinct Tags"},"row_count":{"type":"integer","title":"Row Count"}},"type":"object","required":["preview_id","detected_board_name","distinct_statuses","distinct_tags","row_count"],"title":"CsvPreviewResponse"},"CsvSubmitRequest":{"properties":{"preview_id":{"type":"string","title":"Preview Id"},"target_board_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Board Id"},"new_board_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"New Board Name"},"status_map":{"additionalProperties":{"type":"string"},"type":"object","title":"Status Map"}},"type":"object","required":["preview_id","status_map"],"title":"CsvSubmitRequest"},"CustomDomainRequest":{"properties":{"from_email":{"type":"string","format":"email","title":"From Email"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"}},"type":"object","required":["from_email","name"],"title":"CustomDomainRequest"},"DailyActivityPoint":{"properties":{"date":{"type":"string","title":"Date"},"posts":{"type":"integer","title":"Posts"},"votes":{"type":"integer","title":"Votes"},"comments":{"type":"integer","title":"Comments"}},"type":"object","required":["date","posts","votes","comments"],"title":"DailyActivityPoint"},"DashboardResponse":{"properties":{"posts":{"$ref":"#/components/schemas/MetricWithTrend"},"votes":{"$ref":"#/components/schemas/MetricWithTrend"},"comments":{"$ref":"#/components/schemas/MetricWithTrend"},"active_users_30d":{"type":"integer","title":"Active Users 30D"},"total_end_users":{"type":"integer","title":"Total End Users"},"status_distribution":{"items":{"$ref":"#/components/schemas/StatusDistributionItem"},"type":"array","title":"Status Distribution"},"daily_activity":{"items":{"$ref":"#/components/schemas/DailyActivityPoint"},"type":"array","title":"Daily Activity"},"recent_activity":{"items":{"$ref":"#/components/schemas/RecentActivityItem"},"type":"array","title":"Recent Activity"},"board_summaries":{"items":{"$ref":"#/components/schemas/BoardSummaryItem"},"type":"array","title":"Board Summaries"},"pending_moderation_count":{"type":"integer","title":"Pending Moderation Count"},"top_requests":{"items":{"$ref":"#/components/schemas/TopRequestItem"},"type":"array","title":"Top Requests"}},"type":"object","required":["posts","votes","comments","active_users_30d","total_end_users","status_distribution","daily_activity","recent_activity","board_summaries","pending_moderation_count","top_requests"],"title":"DashboardResponse"},"DataRegion":{"type":"string","enum":["EU","US"],"title":"DataRegion","description":"Data residency region - set at registration, immutable."},"DatabaseStatsResponse":{"properties":{"regions":{"items":{"$ref":"#/components/schemas/RegionalPoolStats"},"type":"array","title":"Regions"}},"type":"object","required":["regions"],"title":"DatabaseStatsResponse"},"DigestFrequency":{"type":"string","enum":["INSTANT","DAILY","WEEKLY","NONE"],"title":"DigestFrequency"},"DuplicateCheckRequest":{"properties":{"title":{"type":"string","maxLength":500,"minLength":3,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"}},"type":"object","required":["title"],"title":"DuplicateCheckRequest"},"DuplicateSuggestionResponse":{"properties":{"recommendations":{"items":{"$ref":"#/components/schemas/AIRecommendationResponse"},"type":"array","title":"Recommendations"}},"type":"object","required":["recommendations"],"title":"DuplicateSuggestionResponse"},"EmailPreferenceResponse":{"properties":{"digest_frequency":{"$ref":"#/components/schemas/DigestFrequency"},"event_types_disabled":{"items":{"type":"string"},"type":"array","title":"Event Types Disabled"}},"type":"object","required":["digest_frequency","event_types_disabled"],"title":"EmailPreferenceResponse"},"EmailPreferenceUpdate":{"properties":{"digest_frequency":{"anyOf":[{"$ref":"#/components/schemas/DigestFrequency"},{"type":"null"}]},"event_types_disabled":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types Disabled"}},"type":"object","title":"EmailPreferenceUpdate"},"EndUserCompanyBrief":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan"}},"type":"object","required":["id","name","plan"],"title":"EndUserCompanyBrief","description":"Minimal company info embedded in EndUser responses."},"EndUserDetail":{"properties":{"id":{"type":"string","title":"Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"company":{"anyOf":[{"$ref":"#/components/schemas/EndUserCompanyBrief"},{"type":"null"}]},"custom_fields":{"additionalProperties":true,"type":"object","title":"Custom Fields"},"post_count":{"type":"integer","title":"Post Count"},"vote_count":{"type":"integer","title":"Vote Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","external_id","email","name","avatar_url","company","custom_fields","post_count","vote_count","created_at","updated_at"],"title":"EndUserDetail","description":"Full EndUser profile for admin detail view."},"EndUserListItem":{"properties":{"id":{"type":"string","title":"Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"company":{"anyOf":[{"$ref":"#/components/schemas/EndUserCompanyBrief"},{"type":"null"}]},"post_count":{"type":"integer","title":"Post Count"},"vote_count":{"type":"integer","title":"Vote Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","external_id","email","name","avatar_url","company","post_count","vote_count","created_at"],"title":"EndUserListItem","description":"EndUser item in list view."},"EndUserListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/EndUserListItem"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["users","total","page","page_size"],"title":"EndUserListResponse"},"EndUserResponse":{"properties":{"id":{"type":"string","title":"Id"},"external_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","external_id","email","name","avatar_url","company_id","created_at"],"title":"EndUserResponse"},"FailedJobEntry":{"properties":{"task_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Task Id"},"task_name":{"type":"string","title":"Task Name"},"args":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Args"},"kwargs":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Kwargs"},"exception":{"type":"string","title":"Exception"},"failed_at":{"type":"string","title":"Failed At"}},"type":"object","required":["task_id","task_name","args","kwargs","exception","failed_at"],"title":"FailedJobEntry"},"FailedJobsResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/FailedJobEntry"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["entries","total"],"title":"FailedJobsResponse"},"FeatureRowOut":{"properties":{"feature_key":{"type":"string","title":"Feature Key"},"min_tier":{"$ref":"#/components/schemas/PlanTier"}},"type":"object","required":["feature_key","min_tier"],"title":"FeatureRowOut"},"FeatureRowUpdate":{"properties":{"feature_key":{"type":"string","title":"Feature Key"},"min_tier":{"$ref":"#/components/schemas/PlanTier"}},"type":"object","required":["feature_key","min_tier"],"title":"FeatureRowUpdate"},"FeedbackEnhanceRequest":{"properties":{"title":{"type":"string","maxLength":500,"minLength":3,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"}},"type":"object","required":["title"],"title":"FeedbackEnhanceRequest"},"FeedbackEnhanceResponse":{"properties":{"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"tokens_used":{"type":"integer","title":"Tokens Used"}},"type":"object","required":["title","body","tokens_used"],"title":"FeedbackEnhanceResponse"},"FeedbackSubmitRequest":{"properties":{"board_slug":{"type":"string","maxLength":100,"minLength":1,"title":"Board Slug"},"title":{"type":"string","maxLength":255,"minLength":3,"title":"Title"},"body":{"anyOf":[{"type":"string","maxLength":10000},{"type":"null"}],"title":"Body"},"turnstile_token":{"type":"string","title":"Turnstile Token","default":""},"is_incognito":{"type":"boolean","title":"Is Incognito","default":false}},"type":"object","required":["board_slug","title"],"title":"FeedbackSubmitRequest"},"ForceSendBody":{"properties":{"workspace_id":{"type":"string","maxLength":64,"minLength":1,"pattern":"^[a-zA-Z0-9_-]+$","title":"Workspace Id"}},"type":"object","required":["workspace_id"],"title":"ForceSendBody"},"ForceSendResponse":{"properties":{"workspace_id":{"type":"string","title":"Workspace Id"},"queued":{"type":"boolean","title":"Queued"}},"type":"object","required":["workspace_id","queued"],"title":"ForceSendResponse"},"GrowthPoint":{"properties":{"date":{"type":"string","title":"Date"},"count":{"type":"integer","title":"Count"}},"type":"object","required":["date","count"],"title":"GrowthPoint"},"GrowthResponse":{"properties":{"metric":{"type":"string","title":"Metric"},"days":{"type":"integer","title":"Days"},"series":{"items":{"$ref":"#/components/schemas/GrowthPoint"},"type":"array","title":"Series"}},"type":"object","required":["metric","days","series"],"title":"GrowthResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IdentifyRequest":{"properties":{"token":{"type":"string","minLength":1,"title":"Token"}},"type":"object","required":["token"],"title":"IdentifyRequest"},"ImpersonateApplyRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"ImpersonateApplyRequest"},"ImpersonateResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"expires_in":{"type":"integer","title":"Expires In"},"impersonated_user_id":{"type":"string","title":"Impersonated User Id"}},"type":"object","required":["access_token","expires_in","impersonated_user_id"],"title":"ImpersonateResponse"},"ImpersonationStatus":{"properties":{"is_active":{"type":"boolean","title":"Is Active"},"actor_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Id"}},"type":"object","required":["is_active"],"title":"ImpersonationStatus","description":"Impersonation state for the current session."},"ImportJobListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/ImportJobResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"ImportJobListResponse"},"ImportJobResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"source":{"type":"string","title":"Source"},"source_format":{"type":"string","enum":["ZIP","CSV"],"title":"Source Format","default":"ZIP"},"status":{"type":"string","title":"Status"},"progress":{"type":"integer","title":"Progress"},"totals":{"additionalProperties":true,"type":"object","title":"Totals"},"counts":{"additionalProperties":true,"type":"object","title":"Counts"},"error_log":{"items":{},"type":"array","title":"Error Log"},"options":{"additionalProperties":true,"type":"object","title":"Options"},"created_by_user_id":{"type":"string","title":"Created By User Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Started At"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Finished At"}},"type":"object","required":["id","workspace_id","source","status","progress","totals","counts","error_log","options","created_by_user_id","created_at","started_at","finished_at"],"title":"ImportJobResponse"},"IntakeDraftListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/IntakeDraftResponse"},"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":"IntakeDraftListResponse"},"IntakeDraftResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"post_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Id"},"source_kind":{"$ref":"#/components/schemas/IntakeDraftSource"},"source_event":{"$ref":"#/components/schemas/IntakeSourceEvent"},"source_metadata":{"additionalProperties":true,"type":"object","title":"Source Metadata"},"raw_text":{"type":"string","title":"Raw Text"},"thread_context":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Context"},"ai_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Title"},"ai_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Body"},"ai_processed":{"type":"boolean","title":"Ai Processed"},"status":{"$ref":"#/components/schemas/IntakeDraftStatus"},"reviewed_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reviewed By"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Reviewed At"},"linkback_sent":{"type":"boolean","title":"Linkback Sent"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"post_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Title"},"post_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Post Body"}},"type":"object","required":["id","workspace_id","post_id","source_kind","source_event","source_metadata","raw_text","thread_context","ai_title","ai_body","ai_processed","status","reviewed_by","reviewed_at","linkback_sent","created_at","updated_at"],"title":"IntakeDraftResponse"},"IntakeDraftSource":{"type":"string","enum":["SLACK","EMAIL","DISCORD","INTERCOM","ZENDESK","API"],"title":"IntakeDraftSource"},"IntakeDraftStatus":{"type":"string","enum":["pending","approved","dismissed"],"title":"IntakeDraftStatus"},"IntakeDraftUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"}},"type":"object","title":"IntakeDraftUpdate"},"IntakeSourceEvent":{"type":"string","enum":["message_event","slash_command","message_shortcut","email_forward","email_reply"],"title":"IntakeSourceEvent","description":"Source-specific event subtype."},"IntegrationResponse":{"properties":{"id":{"type":"string","title":"Id"},"provider":{"type":"string","title":"Provider"},"external_team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Team Id"},"external_team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Team Name"},"is_active":{"type":"boolean","title":"Is Active"},"connected_by":{"type":"string","title":"Connected By"},"config":{"additionalProperties":true,"type":"object","title":"Config"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","provider","external_team_id","external_team_name","is_active","connected_by","created_at","updated_at"],"title":"IntegrationResponse"},"InviteMemberRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role":{"$ref":"#/components/schemas/MemberRole","default":"CONTRIBUTOR"}},"type":"object","required":["email"],"title":"InviteMemberRequest","description":"Invite a user to a workspace."},"JWTConfigCreate":{"properties":{"secret_key":{"type":"string","maxLength":512,"minLength":16,"title":"Secret Key"},"algorithm":{"type":"string","pattern":"^(HS256|HS384|HS512)$","title":"Algorithm","default":"HS256"},"issuer":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Issuer"},"audience":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Audience"},"sync_mode":{"$ref":"#/components/schemas/SyncMode","default":"UPSERT"}},"type":"object","required":["secret_key"],"title":"JWTConfigCreate"},"JWTConfigResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"algorithm":{"type":"string","title":"Algorithm"},"issuer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"sync_mode":{"$ref":"#/components/schemas/SyncMode"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","workspace_id","algorithm","issuer","audience","sync_mode","is_active","created_at"],"title":"JWTConfigResponse"},"JWTConfigUpdate":{"properties":{"secret_key":{"anyOf":[{"type":"string","maxLength":512,"minLength":16},{"type":"null"}],"title":"Secret Key"},"issuer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Issuer"},"audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Audience"},"sync_mode":{"anyOf":[{"$ref":"#/components/schemas/SyncMode"},{"type":"null"}]},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"JWTConfigUpdate"},"LinearConfigUpdate":{"properties":{"default_team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Team Id"},"status_mappings":{"anyOf":[{"items":{"$ref":"#/components/schemas/LinearStatusMappingCreate"},"type":"array"},{"type":"null"}],"title":"Status Mappings"},"status_sync_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Status Sync Enabled"},"comment_sync_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Comment Sync Enabled"}},"type":"object","title":"LinearConfigUpdate"},"LinearIssueCreate":{"properties":{"team_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Team Id"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status_sync_enabled":{"type":"boolean","title":"Status Sync Enabled","default":false}},"type":"object","title":"LinearIssueCreate"},"LinearOAuthCallback":{"properties":{"code":{"type":"string","title":"Code"},"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["code","redirect_uri"],"title":"LinearOAuthCallback"},"LinearStatusMappingCreate":{"properties":{"linear_status_name":{"type":"string","title":"Linear Status Name"},"linear_state_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linear State Id"},"feedjolt_status_id":{"type":"string","title":"Feedjolt Status Id"}},"type":"object","required":["linear_status_name","feedjolt_status_id"],"title":"LinearStatusMappingCreate"},"LinearTeamResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"key":{"type":"string","title":"Key"}},"type":"object","required":["id","name","key"],"title":"LinearTeamResponse"},"LinearWorkflowStateResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"type":{"type":"string","title":"Type"},"position":{"type":"number","title":"Position"}},"type":"object","required":["id","name","type","position"],"title":"LinearWorkflowStateResponse"},"MagicLinkRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"turnstileToken":{"type":"string","title":"Turnstiletoken"},"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":1},{"type":"null"}],"title":"Name"},"company":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Company"},"dataRegion":{"$ref":"#/components/schemas/DataRegion","default":"US"},"locale":{"type":"string","enum":["en","es","ca"],"title":"Locale","default":"en"},"createIfMissing":{"type":"boolean","title":"Createifmissing","default":true},"redirectTo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirectto"}},"type":"object","required":["email","turnstileToken"],"title":"MagicLinkRequest"},"MagicLinkVerifyRequest":{"properties":{"token":{"type":"string","title":"Token"},"region":{"anyOf":[{"$ref":"#/components/schemas/DataRegion"},{"type":"null"}],"description":"Region hint from magic link URL"}},"type":"object","required":["token"],"title":"MagicLinkVerifyRequest"},"MemberResponse":{"properties":{"id":{"type":"string","title":"Id"},"user_id":{"type":"string","title":"User Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"role":{"$ref":"#/components/schemas/MemberRole"},"invited_at":{"type":"string","format":"date-time","title":"Invited At"},"accepted_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted At"}},"type":"object","required":["id","user_id","email","name","role","invited_at","accepted_at"],"title":"MemberResponse","description":"Workspace member info."},"MemberRole":{"type":"string","enum":["OWNER","ADMIN","CONTRIBUTOR"],"title":"MemberRole","description":"Workspace membership role."},"MembersListResponse":{"properties":{"members":{"items":{"$ref":"#/components/schemas/MemberResponse"},"type":"array","title":"Members"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["members","total"],"title":"MembersListResponse","description":"Paginated members list."},"MergeCandidateResponse":{"properties":{"post":{"$ref":"#/components/schemas/PostResponse"},"confidence":{"type":"number","title":"Confidence"},"rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rationale"},"source":{"type":"string","enum":["cached","cosine"],"title":"Source"},"recommendation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommendation Id"}},"type":"object","required":["post","confidence","rationale","source","recommendation_id"],"title":"MergeCandidateResponse"},"MergeCandidatesResponse":{"properties":{"candidates":{"items":{"$ref":"#/components/schemas/MergeCandidateResponse"},"type":"array","title":"Candidates"}},"type":"object","required":["candidates"],"title":"MergeCandidatesResponse"},"MetricWithTrend":{"properties":{"value":{"type":"integer","title":"Value"},"previous":{"type":"integer","title":"Previous"},"delta":{"type":"integer","title":"Delta"}},"type":"object","required":["value","previous","delta"],"title":"MetricWithTrend"},"ModerationAction":{"properties":{"action":{"type":"string","enum":["approve","reject","spam"],"title":"Action"}},"type":"object","required":["action"],"title":"ModerationAction"},"ModerationConfigUpdate":{"properties":{"blocked_words":{"items":{"type":"string"},"type":"array","maxItems":500,"title":"Blocked Words"},"auto_reject_blocked":{"type":"boolean","title":"Auto Reject Blocked","default":false}},"type":"object","title":"ModerationConfigUpdate"},"MonthlyPostsUsage":{"properties":{"used":{"type":"integer","title":"Used"},"limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"},"unlimited":{"type":"boolean","title":"Unlimited"},"resets_at":{"type":"string","title":"Resets At"}},"type":"object","required":["used","limit","unlimited","resets_at"],"title":"MonthlyPostsUsage"},"NextStepsPost":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"board_slug":{"type":"string","title":"Board Slug"},"score":{"type":"number","title":"Score"},"rank":{"type":"integer","title":"Rank"},"rationale":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Rationale"},"signals":{"$ref":"#/components/schemas/NextStepsSignals"},"top_company":{"anyOf":[{"$ref":"#/components/schemas/NextStepsTopCompany"},{"type":"null"}]}},"type":"object","required":["id","title","board_slug","score","rank","rationale","signals","top_company"],"title":"NextStepsPost"},"NextStepsResponse":{"properties":{"narrative":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Narrative"},"computed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Computed At"},"posts":{"items":{"$ref":"#/components/schemas/NextStepsPost"},"type":"array","title":"Posts"}},"type":"object","required":["narrative","computed_at","posts"],"title":"NextStepsResponse"},"NextStepsSignals":{"properties":{"arr_total":{"type":"number","title":"Arr Total"},"voter_count":{"type":"integer","title":"Voter Count"},"distinct_companies":{"type":"integer","title":"Distinct Companies"},"recency_days":{"type":"number","title":"Recency Days"},"sentiment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sentiment"},"has_renewal_soon":{"type":"boolean","title":"Has Renewal Soon"},"blocking_deal_count":{"type":"integer","title":"Blocking Deal Count"}},"type":"object","required":["arr_total","voter_count","distinct_companies","recency_days","sentiment","has_renewal_soon","blocking_deal_count"],"title":"NextStepsSignals"},"NextStepsTopCompany":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"mrr":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Mrr"}},"type":"object","required":["id","name","mrr"],"title":"NextStepsTopCompany"},"NotificationEventListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/NotificationEventResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"NotificationEventListResponse"},"NotificationEventResponse":{"properties":{"id":{"type":"string","title":"Id"},"event_type":{"type":"string","title":"Event Type"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"type":"string","title":"Resource Id"},"actor_type":{"type":"string","title":"Actor Type"},"actor_id":{"type":"string","title":"Actor Id"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","event_type","resource_type","resource_id","actor_type","actor_id","payload","created_at"],"title":"NotificationEventResponse"},"OAuthGrantResponse":{"properties":{"family_id":{"type":"string","title":"Family Id"},"client_name":{"type":"string","title":"Client Name"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"last_used_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Used At"}},"type":"object","required":["family_id","client_name","scopes","created_at","last_used_at"],"title":"OAuthGrantResponse"},"PlanDistributionResponse":{"properties":{"plans":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Plans"}},"type":"object","required":["plans"],"title":"PlanDistributionResponse"},"PlanTier":{"type":"string","enum":["STARTUP","GROWTH","SCALE"],"title":"PlanTier"},"PlansResponse":{"properties":{"tiers":{"items":{"$ref":"#/components/schemas/TierDialOut"},"type":"array","title":"Tiers"},"features":{"items":{"$ref":"#/components/schemas/FeatureRowOut"},"type":"array","title":"Features"}},"type":"object","required":["tiers","features"],"title":"PlansResponse"},"PlansUpdateRequest":{"properties":{"tiers":{"items":{"$ref":"#/components/schemas/TierDialUpdate"},"type":"array","title":"Tiers","default":[]},"features":{"items":{"$ref":"#/components/schemas/FeatureRowUpdate"},"type":"array","title":"Features","default":[]}},"type":"object","title":"PlansUpdateRequest"},"PlatformAuditLogEntry":{"properties":{"id":{"type":"string","title":"Id"},"action":{"type":"string","title":"Action"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Resource Id"},"actor_id":{"type":"string","title":"Actor Id"},"actor_type":{"type":"string","title":"Actor Type"},"actor_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Email"},"actor_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Actor Name"},"workspace_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Id"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"},"workspace_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Slug"},"metadata_":{"additionalProperties":true,"type":"object","title":"Metadata"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","action","resource_type","resource_id","actor_id","actor_type","actor_email","actor_name","workspace_id","workspace_name","workspace_slug","metadata_","ip_address","created_at"],"title":"PlatformAuditLogEntry","description":"Cross-workspace audit row with actor + workspace identifiers resolved."},"PlatformAuditLogListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/PlatformAuditLogEntry"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["entries","total","page","page_size"],"title":"PlatformAuditLogListResponse"},"PortalAuthRequestCode":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"name":{"type":"string","maxLength":255,"minLength":1,"title":"Name"},"turnstileToken":{"type":"string","title":"Turnstiletoken"},"locale":{"type":"string","enum":["en","es","ca"],"title":"Locale","default":"en"}},"type":"object","required":["email","name","turnstileToken"],"title":"PortalAuthRequestCode"},"PortalAuthVerifyCode":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","pattern":"^\\d{6}$","title":"Code"},"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"}},"type":"object","required":["email","code"],"title":"PortalAuthVerifyCode"},"PortalAuthVerifyInvite":{"properties":{"token":{"type":"string","maxLength":2048,"minLength":1,"title":"Token"}},"type":"object","required":["token"],"title":"PortalAuthVerifyInvite"},"PortalHomeResponse":{"properties":{"workspace_name":{"type":"string","title":"Workspace Name"},"workspace_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Logo Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"primary_color":{"type":"string","title":"Primary Color"},"show_changelog":{"type":"boolean","title":"Show Changelog"},"show_roadmap":{"type":"boolean","title":"Show Roadmap"},"show_branding":{"type":"boolean","title":"Show Branding"},"featured_boards":{"items":{"$ref":"#/components/schemas/PublicBoardResponse"},"type":"array","title":"Featured Boards"},"boards":{"items":{"$ref":"#/components/schemas/PublicBoardResponse"},"type":"array","title":"Boards"},"trending_posts":{"items":{"$ref":"#/components/schemas/PublicPostResponse"},"type":"array","title":"Trending Posts"},"featured_posts":{"items":{"$ref":"#/components/schemas/PublicPostResponse"},"type":"array","title":"Featured Posts","default":[]},"portal_sections":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Portal Sections","default":[]}},"type":"object","required":["workspace_name","workspace_logo_url","primary_color","show_changelog","show_roadmap","show_branding","featured_boards","boards","trending_posts"],"title":"PortalHomeResponse"},"PortalMeResponse":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","required":["id","email","name","avatar_url"],"title":"PortalMeResponse"},"PostAssignOwner":{"properties":{"owner_admin_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Admin Id"}},"type":"object","title":"PostAssignOwner"},"PostCreate":{"properties":{"title":{"type":"string","maxLength":500,"minLength":1,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"status_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"},"is_draft":{"type":"boolean","title":"Is Draft","default":false},"is_internal":{"type":"boolean","title":"Is Internal","default":false},"eta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eta"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}},"type":"object","required":["title"],"title":"PostCreate"},"PostListResponse":{"properties":{"posts":{"items":{"$ref":"#/components/schemas/PostResponse"},"type":"array","title":"Posts"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["posts","total","page","page_size"],"title":"PostListResponse"},"PostMerge":{"properties":{"target_post_id":{"type":"string","title":"Target Post Id"},"recommendation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Recommendation Id"}},"type":"object","required":["target_post_id"],"title":"PostMerge"},"PostMove":{"properties":{"board_id":{"type":"string","title":"Board Id"}},"type":"object","required":["board_id"],"title":"PostMove"},"PostResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"board_id":{"type":"string","title":"Board Id"},"author_type":{"$ref":"#/components/schemas/AuthorType"},"author_id":{"type":"string","title":"Author Id"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"status_id":{"type":"string","title":"Status Id"},"owner_admin_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Admin Id"},"is_draft":{"type":"boolean","title":"Is Draft"},"is_internal":{"type":"boolean","title":"Is Internal"},"eta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eta"},"vote_count":{"type":"integer","title":"Vote Count"},"comment_count":{"type":"integer","title":"Comment Count"},"is_spam":{"type":"boolean","title":"Is Spam"},"is_incognito":{"type":"boolean","title":"Is Incognito"},"merged_into_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Merged Into Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"tags":{"items":{"$ref":"#/components/schemas/TagResponse"},"type":"array","title":"Tags","default":[]},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Email"},"author_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Avatar Url"},"owner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Name"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"owner_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Avatar Url"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"},"version":{"anyOf":[{"$ref":"#/components/schemas/VersionSummary"},{"type":"null"}]},"sentiment":{"anyOf":[{"$ref":"#/components/schemas/PostSentiment"},{"type":"null"}]},"sentiment_confidence":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Sentiment Confidence"},"has_linear_issue":{"type":"boolean","title":"Has Linear Issue","default":false}},"type":"object","required":["id","workspace_id","board_id","author_type","author_id","title","body","status_id","owner_admin_id","is_draft","is_internal","eta","vote_count","comment_count","is_spam","is_incognito","merged_into_id","created_at","updated_at"],"title":"PostResponse"},"PostSentiment":{"type":"string","enum":["POSITIVE","NEUTRAL","NEGATIVE"],"title":"PostSentiment"},"PostStatusChange":{"properties":{"status_id":{"type":"string","title":"Status Id"}},"type":"object","required":["status_id"],"title":"PostStatusChange"},"PostTagsUpdate":{"properties":{"tag_ids":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Tag Ids"}},"type":"object","title":"PostTagsUpdate"},"PostUpdate":{"properties":{"title":{"anyOf":[{"type":"string","maxLength":500,"minLength":1},{"type":"null"}],"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"is_internal":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Internal"},"eta":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Eta"},"version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Version Id"}},"type":"object","title":"PostUpdate"},"PostmarkAttachment":{"properties":{"Name":{"type":"string","title":"Name"},"Content":{"type":"string","title":"Content"},"ContentType":{"type":"string","title":"Contenttype"},"ContentLength":{"type":"integer","title":"Contentlength"}},"type":"object","required":["Name","Content","ContentType","ContentLength"],"title":"PostmarkAttachment","description":"One attachment from a Postmark inbound payload (base64-encoded inline)."},"PostmarkInboundPayload":{"properties":{"From":{"type":"string","format":"email","title":"From"},"FromName":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fromname"},"To":{"type":"string","title":"To"},"ToFull":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tofull"},"Subject":{"type":"string","title":"Subject","default":""},"MessageID":{"type":"string","title":"Messageid"},"Date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Date"},"TextBody":{"type":"string","title":"Textbody","default":""},"HtmlBody":{"type":"string","title":"Htmlbody","default":""},"StrippedTextReply":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Strippedtextreply"},"Attachments":{"items":{"$ref":"#/components/schemas/PostmarkAttachment"},"type":"array","title":"Attachments"},"Headers":{"items":{"additionalProperties":{"type":"string"},"type":"object"},"type":"array","title":"Headers"},"SpamScore":{"type":"number","title":"Spamscore","default":0.0},"SpamStatus":{"type":"string","title":"Spamstatus","default":""}},"type":"object","required":["From","To","MessageID"],"title":"PostmarkInboundPayload","description":"Subset of Postmark's inbound JSON we actually read."},"PreviewChangeResponse":{"properties":{"amount_due":{"type":"integer","title":"Amount Due"},"currency":{"type":"string","title":"Currency"}},"type":"object","required":["amount_due","currency"],"title":"PreviewChangeResponse"},"PublicBoardResponse":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"slug":{"type":"string","title":"Slug"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"votes_enabled":{"type":"boolean","title":"Votes Enabled"},"post_count":{"type":"integer","title":"Post Count","default":0},"locked":{"type":"boolean","title":"Locked","default":false}},"type":"object","required":["id","title","description","slug","votes_enabled"],"title":"PublicBoardResponse"},"PublicBucket":{"type":"string","enum":["planned","in_progress","done"],"title":"PublicBucket"},"PublicChangelogListResponse":{"properties":{"entries":{"items":{"$ref":"#/components/schemas/PublicChangelogResponse"},"type":"array","title":"Entries"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["entries","total","page","page_size"],"title":"PublicChangelogListResponse"},"PublicChangelogResponse":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"linked_post_ids":{"items":{"type":"string"},"type":"array","title":"Linked Post Ids"},"version":{"anyOf":[{"$ref":"#/components/schemas/VersionSummary"},{"type":"null"}]}},"type":"object","required":["id","title","body","published_at","linked_post_ids"],"title":"PublicChangelogResponse"},"PublicCommentListResponse":{"properties":{"comments":{"items":{"$ref":"#/components/schemas/PublicCommentResponse"},"type":"array","title":"Comments"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["comments","total"],"title":"PublicCommentListResponse"},"PublicCommentResponse":{"properties":{"id":{"type":"string","title":"Id"},"body":{"type":"string","title":"Body"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Avatar Url"},"is_incognito":{"type":"boolean","title":"Is Incognito","default":false},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","body","parent_id","created_at"],"title":"PublicCommentResponse"},"PublicPostListResponse":{"properties":{"posts":{"items":{"$ref":"#/components/schemas/PublicPostResponse"},"type":"array","title":"Posts"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"},"voted_post_ids":{"items":{"type":"string"},"type":"array","title":"Voted Post Ids","default":[]}},"type":"object","required":["posts","total","page","page_size"],"title":"PublicPostListResponse"},"PublicPostResponse":{"properties":{"id":{"type":"string","title":"Id"},"board_id":{"type":"string","title":"Board Id"},"board_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Board Title"},"title":{"type":"string","title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"status_id":{"type":"string","title":"Status Id"},"status_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Name"},"status_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Color"},"vote_count":{"type":"integer","title":"Vote Count"},"comment_count":{"type":"integer","title":"Comment Count"},"author_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Name"},"author_avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author Avatar Url"},"is_incognito":{"type":"boolean","title":"Is Incognito","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"redirected_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirected From"},"viewer_has_voted":{"type":"boolean","title":"Viewer Has Voted","default":false},"is_subscribed":{"type":"boolean","title":"Is Subscribed","default":false},"tags":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Tags","default":[]}},"type":"object","required":["id","board_id","title","body","status_id","vote_count","comment_count","created_at"],"title":"PublicPostResponse"},"PublicRoadmapBucket":{"properties":{"bucket":{"$ref":"#/components/schemas/PublicBucket"},"label":{"type":"string","title":"Label"},"subtitle":{"type":"string","title":"Subtitle"},"posts":{"items":{"$ref":"#/components/schemas/PublicPostResponse"},"type":"array","title":"Posts"},"total_count":{"type":"integer","title":"Total Count"}},"type":"object","required":["bucket","label","subtitle","posts","total_count"],"title":"PublicRoadmapBucket"},"PublicRoadmapResponse":{"properties":{"buckets":{"items":{"$ref":"#/components/schemas/PublicRoadmapBucket"},"type":"array","title":"Buckets"},"total_posts":{"type":"integer","title":"Total Posts"},"available_tags":{"items":{"$ref":"#/components/schemas/TagSummary"},"type":"array","title":"Available Tags","default":[]}},"type":"object","required":["buckets","total_posts"],"title":"PublicRoadmapResponse"},"PublicSearchResponse":{"properties":{"posts":{"items":{"$ref":"#/components/schemas/PublicPostResponse"},"type":"array","title":"Posts"},"total":{"type":"integer","title":"Total"},"query":{"type":"string","title":"Query"}},"type":"object","required":["posts","total","query"],"title":"PublicSearchResponse"},"PublicVersionListResponse":{"properties":{"versions":{"items":{"$ref":"#/components/schemas/PublicVersionResponse"},"type":"array","title":"Versions"}},"type":"object","required":["versions"],"title":"PublicVersionListResponse"},"PublicVersionResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"released_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Released At"}},"type":"object","required":["id","name","released_at"],"title":"PublicVersionResponse"},"ReactivateRequest":{"properties":{"cycle":{"type":"string","enum":["monthly","yearly"],"title":"Cycle","default":"monthly"}},"type":"object","title":"ReactivateRequest"},"ReactivateResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url"}},"type":"object","required":["checkout_url"],"title":"ReactivateResponse"},"RecentActivityItem":{"properties":{"event_type":{"type":"string","title":"Event Type"},"resource_id":{"type":"string","title":"Resource Id"},"title":{"type":"string","title":"Title"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["event_type","resource_id","title","created_at"],"title":"RecentActivityItem"},"RegionTaggedUser":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"role":{"$ref":"#/components/schemas/UserRole"},"data_region":{"$ref":"#/components/schemas/DataRegion"},"is_active":{"type":"boolean","title":"Is Active"},"email_verified":{"type":"boolean","title":"Email Verified"},"is_super_admin":{"type":"boolean","title":"Is Super Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"impersonation":{"anyOf":[{"$ref":"#/components/schemas/ImpersonationStatus"},{"type":"null"}]},"region":{"type":"string","enum":["EU","US"],"title":"Region"}},"type":"object","required":["id","email","name","role","data_region","is_active","email_verified","is_super_admin","created_at","region"],"title":"RegionTaggedUser","description":"User with a `region` tag mirroring its `data_region` column."},"RegionTaggedWorkspace":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"},"data_region":{"$ref":"#/components/schemas/DataRegion"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"trial_started":{"type":"boolean","title":"Trial Started","default":false},"email_intake_enabled":{"type":"boolean","title":"Email Intake Enabled","default":false},"email_intake_default_board_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Intake Default Board Id"},"email_intake_allowed_domains":{"items":{"type":"string"},"type":"array","title":"Email Intake Allowed Domains"},"email_intake_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Intake Address"},"region":{"type":"string","enum":["EU","US"],"title":"Region"},"plan_tier":{"$ref":"#/components/schemas/PlanTier","default":"STARTUP"},"subscription_status":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionStatus"},{"type":"null"}]},"is_comped":{"type":"boolean","title":"Is Comped","default":false},"trial_ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Trial Ends At"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"}},"type":"object","required":["id","name","slug","logo_url","settings","data_region","is_active","created_at","region"],"title":"RegionTaggedWorkspace","description":"Workspace with a `region` tag plus its subscription/license summary."},"RegionalPoolStats":{"properties":{"region":{"type":"string","enum":["EU","US"],"title":"Region"},"pool_size":{"type":"integer","title":"Pool Size"},"pool_used":{"type":"integer","title":"Pool Used"},"active_connections":{"type":"integer","title":"Active Connections"},"top_tables":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Top Tables"}},"type":"object","required":["region","pool_size","pool_used","active_connections","top_tables"],"title":"RegionalPoolStats"},"ResourceType":{"type":"string","enum":["POST","COMMENT"],"title":"ResourceType"},"RetryFailedJobResponse":{"properties":{"task_id":{"type":"string","title":"Task Id"},"task_name":{"type":"string","title":"Task Name"},"requeued":{"type":"boolean","title":"Requeued"}},"type":"object","required":["task_id","task_name","requeued"],"title":"RetryFailedJobResponse"},"RoadmapColumn":{"properties":{"status":{"$ref":"#/components/schemas/StatusResponse"},"posts":{"items":{"$ref":"#/components/schemas/PostResponse"},"type":"array","title":"Posts"}},"type":"object","required":["status","posts"],"title":"RoadmapColumn"},"RoadmapResponse":{"properties":{"columns":{"items":{"$ref":"#/components/schemas/RoadmapColumn"},"type":"array","title":"Columns"},"total_posts":{"type":"integer","title":"Total Posts"}},"type":"object","required":["columns","total_posts"],"title":"RoadmapResponse"},"SavedViewCreate":{"properties":{"name":{"type":"string","maxLength":120,"minLength":1,"title":"Name"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"sort":{"type":"string","maxLength":40,"title":"Sort","default":"newest"}},"type":"object","required":["name"],"title":"SavedViewCreate"},"SavedViewListResponse":{"properties":{"views":{"items":{"$ref":"#/components/schemas/SavedViewResponse"},"type":"array","title":"Views"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["views","total"],"title":"SavedViewListResponse"},"SavedViewResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"user_id":{"type":"string","title":"User Id"},"board_id":{"type":"string","title":"Board Id"},"name":{"type":"string","title":"Name"},"filters":{"additionalProperties":true,"type":"object","title":"Filters"},"sort":{"type":"string","title":"Sort"},"is_shared":{"type":"boolean","title":"Is Shared"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","workspace_id","user_id","board_id","name","filters","sort","is_shared","created_at","updated_at"],"title":"SavedViewResponse"},"SavedViewUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":120,"minLength":1},{"type":"null"}],"title":"Name"},"filters":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Filters"},"sort":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Sort"}},"type":"object","title":"SavedViewUpdate"},"SentimentTrendBucket":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"positive":{"type":"integer","title":"Positive","default":0},"neutral":{"type":"integer","title":"Neutral","default":0},"negative":{"type":"integer","title":"Negative","default":0}},"type":"object","required":["date"],"title":"SentimentTrendBucket"},"SentimentTrendResponse":{"properties":{"buckets":{"items":{"$ref":"#/components/schemas/SentimentTrendBucket"},"type":"array","title":"Buckets"},"total_count":{"type":"integer","title":"Total Count"},"uncomputed_count":{"type":"integer","title":"Uncomputed Count"},"window":{"type":"string","title":"Window"}},"type":"object","required":["buckets","total_count","uncomputed_count","window"],"title":"SentimentTrendResponse"},"ServerHealthResponse":{"properties":{"services":{"items":{"$ref":"#/components/schemas/ServiceHealth"},"type":"array","title":"Services"}},"type":"object","required":["services"],"title":"ServerHealthResponse"},"ServiceHealth":{"properties":{"name":{"type":"string","title":"Name"},"status":{"type":"string","enum":["up","down"],"title":"Status"},"latency_ms":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Latency Ms"}},"type":"object","required":["name","status","latency_ms"],"title":"ServiceHealth"},"SetSuperAdminRequest":{"properties":{"is_super_admin":{"type":"boolean","title":"Is Super Admin"}},"type":"object","required":["is_super_admin"],"title":"SetSuperAdminRequest","description":"Set or unset super admin status."},"SettingsResponse":{"properties":{"sections":{"items":{"$ref":"#/components/schemas/SettingsSection"},"type":"array","title":"Sections"}},"type":"object","required":["sections"],"title":"SettingsResponse"},"SettingsSection":{"properties":{"section":{"type":"string","title":"Section"},"entries":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Entries"}},"type":"object","required":["section","entries"],"title":"SettingsSection"},"SitemapBoard":{"properties":{"slug":{"type":"string","title":"Slug"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["slug","updated_at"],"title":"SitemapBoard"},"SitemapIndexResponse":{"properties":{"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"workspaces":{"items":{"$ref":"#/components/schemas/SitemapWorkspace"},"type":"array","title":"Workspaces"}},"type":"object","required":["generated_at","workspaces"],"title":"SitemapIndexResponse"},"SitemapPost":{"properties":{"id":{"type":"string","title":"Id"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","updated_at"],"title":"SitemapPost"},"SitemapWorkspace":{"properties":{"slug":{"type":"string","title":"Slug"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"has_changelog":{"type":"boolean","title":"Has Changelog"},"has_roadmap":{"type":"boolean","title":"Has Roadmap"},"boards":{"items":{"$ref":"#/components/schemas/SitemapBoard"},"type":"array","title":"Boards"},"posts":{"items":{"$ref":"#/components/schemas/SitemapPost"},"type":"array","title":"Posts"}},"type":"object","required":["slug","updated_at","has_changelog","has_roadmap","boards","posts"],"title":"SitemapWorkspace"},"SlackChannelListResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"is_private":{"type":"boolean","title":"Is Private"}},"type":"object","required":["id","name","is_private"],"title":"SlackChannelListResponse"},"SlackChannelMappingCreate":{"properties":{"slack_channel_id":{"type":"string","title":"Slack Channel Id"},"slack_channel_name":{"type":"string","title":"Slack Channel Name"},"events":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Events"}},"type":"object","required":["slack_channel_id","slack_channel_name","events"],"title":"SlackChannelMappingCreate"},"SlackChannelMappingResponse":{"properties":{"id":{"type":"string","title":"Id"},"slack_channel_id":{"type":"string","title":"Slack Channel Id"},"slack_channel_name":{"type":"string","title":"Slack Channel Name"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","slack_channel_id","slack_channel_name","events","is_active","created_at"],"title":"SlackChannelMappingResponse"},"SlackChannelMappingUpdate":{"properties":{"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Events"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"SlackChannelMappingUpdate"},"SlackOAuthCallback":{"properties":{"code":{"type":"string","title":"Code"},"redirect_uri":{"type":"string","title":"Redirect Uri"}},"type":"object","required":["code","redirect_uri"],"title":"SlackOAuthCallback"},"SmartReplyResponse":{"properties":{"replies":{"items":{"type":"string"},"type":"array","title":"Replies"},"tokens_used":{"type":"integer","title":"Tokens Used"}},"type":"object","required":["replies","tokens_used"],"title":"SmartReplyResponse"},"StartupRequestAdminItem":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"workspace_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Name"},"workspace_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Slug"},"product_url":{"type":"string","title":"Product Url"},"description":{"type":"string","title":"Description"},"extra_links":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Links"},"status":{"$ref":"#/components/schemas/StartupRequestStatus"},"ai_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Score"},"ai_recommendation":{"anyOf":[{"$ref":"#/components/schemas/StartupRequestVerdict"},{"type":"null"}]},"ai_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ai Reasoning"},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Note"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","workspace_id","product_url","description","status","created_at"],"title":"StartupRequestAdminItem"},"StartupRequestListResponse":{"properties":{"requests":{"items":{"$ref":"#/components/schemas/StartupRequestAdminItem"},"type":"array","title":"Requests"}},"type":"object","required":["requests"],"title":"StartupRequestListResponse"},"StartupRequestResponse":{"properties":{"status":{"type":"string","title":"Status"},"product_url":{"type":"string","title":"Product Url"},"description":{"type":"string","title":"Description"},"extra_links":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Links"},"ai_score":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Score"},"review_note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Review Note"}},"type":"object","required":["status","product_url","description"],"title":"StartupRequestResponse"},"StartupRequestStatus":{"type":"string","enum":["PENDING","APPROVED","REJECTED"],"title":"StartupRequestStatus"},"StartupRequestSubmit":{"properties":{"product_url":{"type":"string","maxLength":500,"minLength":3,"title":"Product Url"},"description":{"type":"string","maxLength":4000,"minLength":10,"title":"Description"},"extra_links":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Extra Links"}},"type":"object","required":["product_url","description"],"title":"StartupRequestSubmit"},"StartupRequestVerdict":{"type":"string","enum":["APPROVE","REJECT"],"title":"StartupRequestVerdict"},"StartupReviewRequest":{"properties":{"note":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Note"}},"type":"object","title":"StartupReviewRequest"},"StatusCreate":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","title":"Color"},"sort_order":{"type":"integer","title":"Sort Order","default":0},"is_default":{"type":"boolean","title":"Is Default","default":false},"show_on_roadmap":{"type":"boolean","title":"Show On Roadmap","default":true},"public_bucket":{"anyOf":[{"$ref":"#/components/schemas/PublicBucket"},{"type":"null"}]}},"type":"object","required":["name","color"],"title":"StatusCreate"},"StatusDistributionItem":{"properties":{"status_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Id"},"status_name":{"type":"string","title":"Status Name"},"color":{"type":"string","title":"Color"},"count":{"type":"integer","title":"Count"},"sort_order":{"type":"integer","title":"Sort Order"}},"type":"object","required":["status_name","color","count","sort_order"],"title":"StatusDistributionItem"},"StatusReorderRequest":{"properties":{"ordered_ids":{"items":{"type":"string"},"type":"array","title":"Ordered Ids"}},"type":"object","required":["ordered_ids"],"title":"StatusReorderRequest"},"StatusResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"},"sort_order":{"type":"integer","title":"Sort Order"},"is_default":{"type":"boolean","title":"Is Default"},"show_on_roadmap":{"type":"boolean","title":"Show On Roadmap"},"public_bucket":{"anyOf":[{"$ref":"#/components/schemas/PublicBucket"},{"type":"null"}]},"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","color","sort_order","is_default","show_on_roadmap","created_at","updated_at"],"title":"StatusResponse"},"StatusUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"color":{"anyOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Color"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"is_default":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Default"},"show_on_roadmap":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show On Roadmap"},"public_bucket":{"anyOf":[{"$ref":"#/components/schemas/PublicBucket"},{"type":"null"}]}},"type":"object","title":"StatusUpdate"},"SubscriptionCreate":{"properties":{"resource_type":{"type":"string","pattern":"^(post|board|workspace)$","title":"Resource Type"},"resource_id":{"type":"string","title":"Resource Id"},"channel":{"type":"string","pattern":"^(EMAIL|SLACK)$","title":"Channel","default":"EMAIL"}},"type":"object","required":["resource_type","resource_id"],"title":"SubscriptionCreate"},"SubscriptionResponse":{"properties":{"id":{"type":"string","title":"Id"},"resource_type":{"type":"string","title":"Resource Type"},"resource_id":{"type":"string","title":"Resource Id"},"channel":{"type":"string","title":"Channel"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","resource_type","resource_id","channel","is_active","created_at"],"title":"SubscriptionResponse"},"SubscriptionStatus":{"type":"string","enum":["ACTIVE","PAST_DUE","CANCELED","TRIALING"],"title":"SubscriptionStatus"},"SubscriptionToggle":{"properties":{"is_active":{"type":"boolean","title":"Is Active"}},"type":"object","required":["is_active"],"title":"SubscriptionToggle"},"SuggestedPostsResponse":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","title":"Post Ids"}},"type":"object","required":["post_ids"],"title":"SuggestedPostsResponse"},"SyncErrorResponse":{"properties":{"id":{"type":"string","title":"Id"},"sync_link_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sync Link Id"},"provider":{"type":"string","title":"Provider"},"direction":{"type":"string","title":"Direction"},"error_message":{"type":"string","title":"Error Message"},"context":{"additionalProperties":true,"type":"object","title":"Context"},"resolved":{"type":"boolean","title":"Resolved"},"retry_count":{"type":"integer","title":"Retry Count"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"resolved_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolved At"}},"type":"object","required":["id","sync_link_id","provider","direction","error_message","context","resolved","retry_count","created_at","resolved_at"],"title":"SyncErrorResponse"},"SyncLinkCreate":{"properties":{"provider":{"type":"string","title":"Provider"},"external_id":{"type":"string","title":"External Id"},"external_url":{"type":"string","title":"External Url"},"external_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Status"},"status_sync_enabled":{"type":"boolean","title":"Status Sync Enabled","default":false}},"type":"object","required":["provider","external_id","external_url"],"title":"SyncLinkCreate"},"SyncLinkResponse":{"properties":{"id":{"type":"string","title":"Id"},"post_id":{"type":"string","title":"Post Id"},"provider":{"type":"string","title":"Provider"},"external_id":{"type":"string","title":"External Id"},"external_url":{"type":"string","title":"External Url"},"external_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Status"},"status_sync_enabled":{"type":"boolean","title":"Status Sync 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","post_id","provider","external_id","external_url","external_status","status_sync_enabled","created_at","updated_at"],"title":"SyncLinkResponse"},"SyncMode":{"type":"string","enum":["UPSERT","UPDATE_ONLY"],"title":"SyncMode"},"TagCreate":{"properties":{"name":{"type":"string","maxLength":50,"minLength":1,"title":"Name"},"color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","title":"Color","default":"#6B7280"}},"type":"object","required":["name"],"title":"TagCreate"},"TagReorderRequest":{"properties":{"ordered_ids":{"items":{"type":"string"},"type":"array","title":"Ordered Ids"}},"type":"object","required":["ordered_ids"],"title":"TagReorderRequest"},"TagResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"},"sort_order":{"type":"integer","title":"Sort Order"},"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","color","sort_order","created_at","updated_at"],"title":"TagResponse"},"TagSuggestionItem":{"properties":{"id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Id"},"name":{"type":"string","title":"Name"},"confidence":{"type":"number","title":"Confidence"},"is_new":{"type":"boolean","title":"Is New","default":false}},"type":"object","required":["name","confidence"],"title":"TagSuggestionItem"},"TagSuggestionRequest":{"properties":{"title":{"type":"string","maxLength":500,"minLength":3,"title":"Title"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"}},"type":"object","required":["title"],"title":"TagSuggestionRequest"},"TagSuggestionResponse":{"properties":{"suggestions":{"items":{"$ref":"#/components/schemas/TagSuggestionItem"},"type":"array","title":"Suggestions"},"tokens_used":{"type":"integer","title":"Tokens Used"}},"type":"object","required":["suggestions","tokens_used"],"title":"TagSuggestionResponse"},"TagSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"}},"type":"object","required":["id","name","color"],"title":"TagSummary"},"TagUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":50,"minLength":1},{"type":"null"}],"title":"Name"},"color":{"anyOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Color"}},"type":"object","title":"TagUpdate"},"ThreadSummaryResponse":{"properties":{"summary":{"type":"string","title":"Summary"},"tokens_used":{"type":"integer","title":"Tokens Used"}},"type":"object","required":["summary","tokens_used"],"title":"ThreadSummaryResponse"},"TierDialOut":{"properties":{"tier":{"$ref":"#/components/schemas/PlanTier"},"seat_limit":{"type":"integer","title":"Seat Limit"},"ai_quota":{"type":"integer","title":"Ai Quota"},"monthly_post_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Monthly Post Limit"},"file_max_size_mb":{"type":"integer","title":"File Max Size Mb"},"file_total_storage_gb":{"type":"integer","title":"File Total Storage Gb"},"board_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Board Limit"},"company_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Company Limit"},"monthly_price_cents":{"type":"integer","title":"Monthly Price Cents"},"annual_price_cents":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Annual Price Cents"},"is_gated":{"type":"boolean","title":"Is Gated"},"is_active":{"type":"boolean","title":"Is Active"},"display_order":{"type":"integer","title":"Display Order"}},"type":"object","required":["tier","seat_limit","ai_quota","monthly_post_limit","file_max_size_mb","file_total_storage_gb","board_limit","company_limit","monthly_price_cents","annual_price_cents","is_gated","is_active","display_order"],"title":"TierDialOut"},"TierDialUpdate":{"properties":{"tier":{"$ref":"#/components/schemas/PlanTier"},"seat_limit":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"Seat Limit"},"ai_quota":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Ai Quota"},"monthly_post_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Monthly Post Limit"},"file_max_size_mb":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"File Max Size Mb"},"file_total_storage_gb":{"anyOf":[{"type":"integer","minimum":1.0},{"type":"null"}],"title":"File Total Storage Gb"},"board_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Board Limit"},"company_limit":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Company Limit"},"monthly_price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Monthly Price Cents"},"annual_price_cents":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Annual Price Cents"},"is_gated":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Gated"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"display_order":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Display Order"}},"type":"object","required":["tier"],"title":"TierDialUpdate","description":"Partial update for one tier - only provided fields change.\n\nNumeric dials are lower-bounded so a SuperAdmin can't fat-finger a value\nthat breaks the platform (e.g. seat_limit=0 would block every member-add\non that tier). `ge=1` where 0 is nonsensical, `ge=0` otherwise."},"TokenRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"TokenRequest"},"TokenResponse":{"properties":{"access_token":{"type":"string","title":"Access Token"},"token_type":{"type":"string","title":"Token Type","default":"bearer"},"expires_in":{"type":"integer","title":"Expires In"}},"type":"object","required":["access_token","expires_in"],"title":"TokenResponse"},"TopRequestItem":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"vote_count":{"type":"integer","title":"Vote Count"},"status_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status Name"}},"type":"object","required":["id","title","vote_count"],"title":"TopRequestItem"},"TopWorkspace":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"region":{"type":"string","enum":["EU","US"],"title":"Region"},"value":{"type":"integer","title":"Value"}},"type":"object","required":["id","name","slug","region","value"],"title":"TopWorkspace"},"TopWorkspacesResponse":{"properties":{"by":{"type":"string","title":"By"},"items":{"items":{"$ref":"#/components/schemas/TopWorkspace"},"type":"array","title":"Items"}},"type":"object","required":["by","items"],"title":"TopWorkspacesResponse"},"TotalsResponse":{"properties":{"users":{"type":"integer","title":"Users"},"workspaces":{"type":"integer","title":"Workspaces"},"posts":{"type":"integer","title":"Posts"},"comments":{"type":"integer","title":"Comments"},"votes":{"type":"integer","title":"Votes"},"end_users":{"type":"integer","title":"End Users"},"companies":{"type":"integer","title":"Companies"},"regional":{"additionalProperties":{"additionalProperties":{"type":"integer"},"type":"object"},"type":"object","title":"Regional"}},"type":"object","required":["users","workspaces","posts","comments","votes","end_users","companies","regional"],"title":"TotalsResponse"},"UpdateMemberRoleRequest":{"properties":{"role":{"$ref":"#/components/schemas/MemberRole"}},"type":"object","required":["role"],"title":"UpdateMemberRoleRequest","description":"Change a member's role."},"UpdateRecommendationRequest":{"properties":{"status":{"type":"string","enum":["ACCEPTED","DISMISSED"],"title":"Status"}},"type":"object","required":["status"],"title":"UpdateRecommendationRequest"},"UptimeResponse":{"properties":{"started_at":{"type":"string","format":"date-time","title":"Started At"},"uptime_seconds":{"type":"integer","title":"Uptime Seconds"}},"type":"object","required":["started_at","uptime_seconds"],"title":"UptimeResponse"},"UsagePair":{"properties":{"current":{"type":"integer","title":"Current"},"limit":{"type":"integer","title":"Limit"}},"type":"object","required":["current","limit"],"title":"UsagePair"},"UserResponse":{"properties":{"id":{"type":"string","title":"Id"},"email":{"type":"string","title":"Email"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"role":{"$ref":"#/components/schemas/UserRole"},"data_region":{"$ref":"#/components/schemas/DataRegion"},"is_active":{"type":"boolean","title":"Is Active"},"email_verified":{"type":"boolean","title":"Email Verified"},"is_super_admin":{"type":"boolean","title":"Is Super Admin"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"impersonation":{"anyOf":[{"$ref":"#/components/schemas/ImpersonationStatus"},{"type":"null"}]}},"type":"object","required":["id","email","name","role","data_region","is_active","email_verified","is_super_admin","created_at"],"title":"UserResponse","description":"Response schema for user data."},"UserRole":{"type":"string","enum":["USER","ADMIN"],"title":"UserRole","description":"User role enumeration - DEPRECATED: use WorkspaceMembership.role instead."},"UserRoleUpdate":{"properties":{"role":{"$ref":"#/components/schemas/UserRole"}},"type":"object","required":["role"],"title":"UserRoleUpdate","description":"Request schema for updating user role."},"UserUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Name"},"company":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Company"}},"type":"object","title":"UserUpdate","description":"Request schema for updating user profile."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VersionAssignPosts":{"properties":{"post_ids":{"items":{"type":"string"},"type":"array","title":"Post Ids"}},"type":"object","required":["post_ids"],"title":"VersionAssignPosts"},"VersionChangelogSummary":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"status":{"type":"string","title":"Status"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"}},"type":"object","required":["id","title","status","published_at"],"title":"VersionChangelogSummary"},"VersionCreate":{"properties":{"name":{"type":"string","maxLength":200,"minLength":1,"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"target_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Target Date"},"status":{"$ref":"#/components/schemas/VersionStatus","default":"PLANNED"}},"type":"object","required":["name"],"title":"VersionCreate"},"VersionDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/VersionStatus"},"target_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Target Date"},"released_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Released At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"post_count":{"type":"integer","title":"Post Count","default":0},"changelog_count":{"type":"integer","title":"Changelog Count","default":0},"posts":{"items":{"$ref":"#/components/schemas/VersionPostSummary"},"type":"array","title":"Posts","default":[]},"changelogs":{"items":{"$ref":"#/components/schemas/VersionChangelogSummary"},"type":"array","title":"Changelogs","default":[]}},"type":"object","required":["id","workspace_id","name","description","status","target_date","released_at","created_at","updated_at"],"title":"VersionDetailResponse"},"VersionListResponse":{"properties":{"versions":{"items":{"$ref":"#/components/schemas/app__schemas__version__VersionResponse"},"type":"array","title":"Versions"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["versions","total"],"title":"VersionListResponse"},"VersionPostSummary":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","title":"Title"},"board_id":{"type":"string","title":"Board Id"},"status_id":{"type":"string","title":"Status Id"}},"type":"object","required":["id","title","board_id","status_id"],"title":"VersionPostSummary"},"VersionStatus":{"type":"string","enum":["PLANNED","IN_PROGRESS","RELEASED"],"title":"VersionStatus"},"VersionSummary":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"status":{"$ref":"#/components/schemas/VersionStatus"}},"type":"object","required":["id","name","status"],"title":"VersionSummary","description":"Nested inside post/changelog responses."},"VersionUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":200,"minLength":1},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"target_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Target Date"},"status":{"anyOf":[{"$ref":"#/components/schemas/VersionStatus"},{"type":"null"}]}},"type":"object","title":"VersionUpdate"},"VoteOnBehalf":{"properties":{"voter_type":{"$ref":"#/components/schemas/AuthorType"},"voter_id":{"type":"string","title":"Voter Id"},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},"type":"object","required":["voter_type","voter_id"],"title":"VoteOnBehalf"},"VoteResponse":{"properties":{"id":{"type":"string","title":"Id"},"post_id":{"type":"string","title":"Post Id"},"voter_type":{"$ref":"#/components/schemas/AuthorType"},"voter_id":{"type":"string","title":"Voter Id"},"company_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","post_id","voter_type","voter_id","company_id","created_at"],"title":"VoteResponse"},"VoteToggleResponse":{"properties":{"voted":{"type":"boolean","title":"Voted"},"new_vote_count":{"type":"integer","title":"New Vote Count"}},"type":"object","required":["voted","new_vote_count"],"title":"VoteToggleResponse"},"VoterListResponse":{"properties":{"voters":{"items":{"$ref":"#/components/schemas/VoteResponse"},"type":"array","title":"Voters"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["voters","total"],"title":"VoterListResponse"},"WebhookCreate":{"properties":{"url":{"type":"string","maxLength":2083,"minLength":1,"format":"uri","title":"Url"},"events":{"items":{"type":"string"},"type":"array","minItems":1,"title":"Events"}},"type":"object","required":["url","events"],"title":"WebhookCreate"},"WebhookCreateResponse":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"secret":{"type":"string","title":"Secret"}},"type":"object","required":["id","url","events","is_active","created_at","secret"],"title":"WebhookCreateResponse","description":"Returned only on creation - includes secret."},"WebhookDeliveryLogResponse":{"properties":{"id":{"type":"string","title":"Id"},"endpoint_id":{"type":"string","title":"Endpoint Id"},"event":{"type":"string","title":"Event"},"payload":{"additionalProperties":true,"type":"object","title":"Payload"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Status Code"},"response_body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Response Body"},"success":{"type":"boolean","title":"Success"},"attempted_at":{"type":"string","format":"date-time","title":"Attempted At"}},"type":"object","required":["id","endpoint_id","event","payload","status_code","response_body","success","attempted_at"],"title":"WebhookDeliveryLogResponse"},"WebhookResponse":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","url","events","is_active","created_at"],"title":"WebhookResponse"},"WebhookUpdate":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":2083,"minLength":1,"format":"uri"},{"type":"null"}],"title":"Url"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Events"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},"type":"object","title":"WebhookUpdate"},"WeeklyJoltDetail":{"properties":{"id":{"type":"string","title":"Id"},"sent_at":{"type":"string","format":"date-time","title":"Sent At"},"period_start":{"type":"string","format":"date-time","title":"Period Start"},"period_end":{"type":"string","format":"date-time","title":"Period End"},"locale":{"type":"string","title":"Locale"},"subject":{"type":"string","title":"Subject"},"body_html":{"type":"string","title":"Body Html"},"body_text":{"type":"string","title":"Body Text"},"signals":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Signals"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"recipient_count":{"type":"integer","title":"Recipient Count"}},"type":"object","required":["id","sent_at","period_start","period_end","locale","subject","body_html","body_text","signals","metadata","recipient_count"],"title":"WeeklyJoltDetail","description":"GET /weekly-jolts/{id} response - full Jolt body + metadata.\n\n`metadata` is the LLM metadata dict; `cost_usd` is stripped at the route\nlayer for non-OWNER callers."},"WeeklyJoltListItem":{"properties":{"id":{"type":"string","title":"Id"},"sent_at":{"type":"string","format":"date-time","title":"Sent At"},"subject":{"type":"string","title":"Subject"},"week_tone":{"type":"string","title":"Week Tone"},"signal_count":{"type":"integer","title":"Signal Count"},"recipient_count":{"type":"integer","title":"Recipient Count"}},"type":"object","required":["id","sent_at","subject","week_tone","signal_count","recipient_count"],"title":"WeeklyJoltListItem","description":"One row in GET /weekly-jolts archive list."},"WeeklyJoltListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WeeklyJoltListItem"},"type":"array","title":"Items"},"next_cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Next Cursor"}},"type":"object","required":["items"],"title":"WeeklyJoltListResponse","description":"Cursor-paginated archive list response."},"WeeklyJoltPreferenceRead":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"is_enabled":{"type":"boolean","title":"Is Enabled"},"day_of_week":{"type":"integer","title":"Day Of Week"},"hour":{"type":"integer","title":"Hour"},"timezone":{"type":"string","title":"Timezone"},"digest_locale":{"type":"string","title":"Digest Locale"},"last_sent_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Sent At"},"last_skipped_reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Skipped Reason"},"recipient_count":{"type":"integer","title":"Recipient Count"}},"type":"object","required":["id","workspace_id","is_enabled","day_of_week","hour","timezone","digest_locale","recipient_count"],"title":"WeeklyJoltPreferenceRead","description":"GET /settings/weekly-jolt response payload."},"WeeklyJoltPreferenceUpdate":{"properties":{"is_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Enabled"},"day_of_week":{"anyOf":[{"type":"integer","maximum":6.0,"minimum":0.0},{"type":"null"}],"title":"Day Of Week"},"hour":{"anyOf":[{"type":"integer","maximum":23.0,"minimum":0.0},{"type":"null"}],"title":"Hour"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"digest_locale":{"anyOf":[{"type":"string","enum":["en","es","ca"]},{"type":"null"}],"title":"Digest Locale"}},"type":"object","title":"WeeklyJoltPreferenceUpdate","description":"PATCH /settings/weekly-jolt request body - all fields optional."},"WidgetConfigCreate":{"properties":{"launcher_text":{"type":"string","maxLength":100,"title":"Launcher Text","default":"Feedback"},"launcher_position":{"type":"string","pattern":"^(bottom-right|bottom-left)$","title":"Launcher Position","default":"bottom-right"},"theme":{"type":"string","pattern":"^(light|dark|auto)$","title":"Theme","default":"auto"},"primary_color":{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$","title":"Primary Color","default":"#3B82F6"},"default_board_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Board Slug"},"allowed_boards":{"additionalProperties":true,"type":"object","title":"Allowed Boards"},"public_portal_enabled":{"type":"boolean","title":"Public Portal Enabled","default":true},"show_changelog":{"type":"boolean","title":"Show Changelog","default":true},"show_roadmap":{"type":"boolean","title":"Show Roadmap","default":false},"search_indexing_enabled":{"type":"boolean","title":"Search Indexing Enabled","default":true},"require_sso":{"type":"boolean","title":"Require Sso","default":false},"sso_login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso Login Url"},"custom_css":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Css"}},"type":"object","title":"WidgetConfigCreate"},"WidgetConfigResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"is_active":{"type":"boolean","title":"Is Active"},"launcher_text":{"type":"string","title":"Launcher Text"},"launcher_position":{"type":"string","title":"Launcher Position"},"theme":{"type":"string","title":"Theme"},"primary_color":{"type":"string","title":"Primary Color"},"default_board_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Board Slug"},"allowed_boards":{"additionalProperties":true,"type":"object","title":"Allowed Boards"},"public_portal_enabled":{"type":"boolean","title":"Public Portal Enabled"},"show_changelog":{"type":"boolean","title":"Show Changelog"},"show_roadmap":{"type":"boolean","title":"Show Roadmap"},"search_indexing_enabled":{"type":"boolean","title":"Search Indexing Enabled"},"require_sso":{"type":"boolean","title":"Require Sso"},"sso_login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso Login Url"},"custom_css":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Css"},"portal_sections":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Portal Sections","default":[]},"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","is_active","launcher_text","launcher_position","theme","primary_color","default_board_slug","allowed_boards","public_portal_enabled","show_changelog","show_roadmap","search_indexing_enabled","require_sso","sso_login_url","custom_css","created_at","updated_at"],"title":"WidgetConfigResponse"},"WidgetConfigUpdate":{"properties":{"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"launcher_text":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Launcher Text"},"launcher_position":{"anyOf":[{"type":"string","pattern":"^(bottom-right|bottom-left)$"},{"type":"null"}],"title":"Launcher Position"},"theme":{"anyOf":[{"type":"string","pattern":"^(light|dark|auto)$"},{"type":"null"}],"title":"Theme"},"primary_color":{"anyOf":[{"type":"string","pattern":"^#[0-9A-Fa-f]{6}$"},{"type":"null"}],"title":"Primary Color"},"default_board_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Board Slug"},"allowed_boards":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Allowed Boards"},"public_portal_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Public Portal Enabled"},"show_changelog":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Changelog"},"show_roadmap":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Show Roadmap"},"search_indexing_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Search Indexing Enabled"},"require_sso":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Require Sso"},"sso_login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso Login Url"},"custom_css":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Css"},"portal_sections":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Portal Sections"}},"type":"object","title":"WidgetConfigUpdate"},"WidgetEmbedResponse":{"properties":{"workspace_slug":{"type":"string","title":"Workspace Slug"},"workspace_name":{"type":"string","title":"Workspace Name"},"workspace_logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Workspace Logo Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"is_active":{"type":"boolean","title":"Is Active"},"launcher_text":{"type":"string","title":"Launcher Text"},"launcher_position":{"type":"string","title":"Launcher Position"},"theme":{"type":"string","title":"Theme"},"primary_color":{"type":"string","title":"Primary Color"},"default_board_slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Default Board Slug"},"public_portal_enabled":{"type":"boolean","title":"Public Portal Enabled","default":true},"show_changelog":{"type":"boolean","title":"Show Changelog"},"show_roadmap":{"type":"boolean","title":"Show Roadmap"},"show_branding":{"type":"boolean","title":"Show Branding","default":true},"search_indexing_enabled":{"type":"boolean","title":"Search Indexing Enabled","default":true},"require_sso":{"type":"boolean","title":"Require Sso"},"sso_login_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sso Login Url"}},"type":"object","required":["workspace_slug","workspace_name","workspace_logo_url","is_active","launcher_text","launcher_position","theme","primary_color","default_board_slug","show_changelog","show_roadmap","require_sso"],"title":"WidgetEmbedResponse","description":"Public endpoint: config needed by widget loader."},"WorkerStatsResponse":{"properties":{"workers":{"type":"integer","title":"Workers"},"active_tasks":{"type":"integer","title":"Active Tasks"},"reserved_tasks":{"type":"integer","title":"Reserved Tasks"},"queue_depth":{"type":"integer","title":"Queue Depth"},"dlq_count":{"type":"integer","title":"Dlq Count"}},"type":"object","required":["workers","active_tasks","reserved_tasks","queue_depth","dlq_count"],"title":"WorkerStatsResponse"},"WorkspaceCreate":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"slug":{"type":"string","maxLength":100,"minLength":2,"pattern":"^[a-z0-9][a-z0-9-]*[a-z0-9]$","title":"Slug"}},"type":"object","required":["name","slug"],"title":"WorkspaceCreate","description":"Create a new workspace."},"WorkspaceDetailCounts":{"properties":{"boards":{"type":"integer","title":"Boards"},"posts":{"type":"integer","title":"Posts"},"members":{"type":"integer","title":"Members"},"votes":{"type":"integer","title":"Votes"},"comments":{"type":"integer","title":"Comments"}},"type":"object","required":["boards","posts","members","votes","comments"],"title":"WorkspaceDetailCounts"},"WorkspaceDetailResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"region":{"type":"string","enum":["EU","US"],"title":"Region"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"owner_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Email"},"owner_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Owner Name"},"subscription":{"$ref":"#/components/schemas/WorkspaceSubscriptionDetail"},"stripe":{"$ref":"#/components/schemas/WorkspaceStripeDetail"},"counts":{"$ref":"#/components/schemas/WorkspaceDetailCounts"}},"type":"object","required":["id","name","slug","region","is_active","created_at","subscription","stripe","counts"],"title":"WorkspaceDetailResponse"},"WorkspaceMetrics":{"properties":{"total_posts":{"type":"integer","title":"Total Posts"},"total_votes":{"type":"integer","title":"Total Votes"},"total_comments":{"type":"integer","title":"Total Comments"},"active_users_30d":{"type":"integer","title":"Active Users 30D"},"posts_this_week":{"type":"integer","title":"Posts This Week"},"top_requests":{"items":{"$ref":"#/components/schemas/TopRequestItem"},"type":"array","title":"Top Requests"}},"type":"object","required":["total_posts","total_votes","total_comments","active_users_30d","posts_this_week","top_requests"],"title":"WorkspaceMetrics"},"WorkspaceResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"slug":{"type":"string","title":"Slug"},"logo_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Logo Url"},"favicon_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Favicon Url"},"settings":{"additionalProperties":true,"type":"object","title":"Settings"},"data_region":{"$ref":"#/components/schemas/DataRegion"},"is_active":{"type":"boolean","title":"Is Active"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"trial_started":{"type":"boolean","title":"Trial Started","default":false},"email_intake_enabled":{"type":"boolean","title":"Email Intake Enabled","default":false},"email_intake_default_board_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Intake Default Board Id"},"email_intake_allowed_domains":{"items":{"type":"string"},"type":"array","title":"Email Intake Allowed Domains"},"email_intake_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Intake Address"}},"type":"object","required":["id","name","slug","logo_url","settings","data_region","is_active","created_at"],"title":"WorkspaceResponse","description":"Workspace data returned to clients."},"WorkspaceStripeDetail":{"properties":{"source":{"type":"string","enum":["db","live","unavailable"],"title":"Source"},"price_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Price Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"interval":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Interval"},"next_payment_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Next Payment At"},"next_payment_amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Next Payment Amount"}},"type":"object","required":["source"],"title":"WorkspaceStripeDetail","description":"Live billing summary. `source`: db | live | unavailable. Amounts in cents."},"WorkspaceSubscriptionDetail":{"properties":{"plan_tier":{"$ref":"#/components/schemas/PlanTier","default":"STARTUP"},"status":{"anyOf":[{"$ref":"#/components/schemas/SubscriptionStatus"},{"type":"null"}]},"is_comped":{"type":"boolean","title":"Is Comped","default":false},"trial_ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Trial Ends At"},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Current Period End"},"admin_seat_limit":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Admin Seat Limit"},"ai_monthly_quota":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Monthly Quota"},"ai_used_this_period":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ai Used This Period"},"stripe_customer_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Customer Id"},"stripe_subscription_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stripe Subscription Id"}},"type":"object","title":"WorkspaceSubscriptionDetail"},"WorkspaceUpdate":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":2},{"type":"null"}],"title":"Name"},"logo_url":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"title":"Logo Url"},"settings":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Settings"},"email_intake_enabled":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Intake Enabled"},"email_intake_default_board_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email Intake Default Board Id"},"email_intake_allowed_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Email Intake Allowed Domains"}},"type":"object","title":"WorkspaceUpdate","description":"Update workspace settings."},"WorkspacesListResponse":{"properties":{"workspaces":{"items":{"$ref":"#/components/schemas/RegionTaggedWorkspace"},"type":"array","title":"Workspaces"},"total":{"type":"integer","title":"Total"},"eu_count":{"type":"integer","title":"Eu Count"},"us_count":{"type":"integer","title":"Us Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["workspaces","total","eu_count","us_count","page","page_size"],"title":"WorkspacesListResponse"},"app__api__routes__admin__UsersListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/UserResponse"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["users","total","page","page_size"],"title":"UsersListResponse","description":"Response schema for users list."},"app__schemas__superadmin__UsersListResponse":{"properties":{"users":{"items":{"$ref":"#/components/schemas/RegionTaggedUser"},"type":"array","title":"Users"},"total":{"type":"integer","title":"Total"},"eu_count":{"type":"integer","title":"Eu Count"},"us_count":{"type":"integer","title":"Us Count"},"page":{"type":"integer","title":"Page"},"page_size":{"type":"integer","title":"Page Size"}},"type":"object","required":["users","total","eu_count","us_count","page","page_size"],"title":"UsersListResponse"},"app__schemas__superadmin__VersionResponse":{"properties":{"git_sha":{"type":"string","title":"Git Sha"},"build_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Build Time"},"app_version":{"type":"string","title":"App Version"},"python_version":{"type":"string","title":"Python Version"}},"type":"object","required":["git_sha","build_time","app_version","python_version"],"title":"VersionResponse"},"app__schemas__version__VersionResponse":{"properties":{"id":{"type":"string","title":"Id"},"workspace_id":{"type":"string","title":"Workspace Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"status":{"$ref":"#/components/schemas/VersionStatus"},"target_date":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Target Date"},"released_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Released At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"post_count":{"type":"integer","title":"Post Count","default":0},"changelog_count":{"type":"integer","title":"Changelog Count","default":0}},"type":"object","required":["id","workspace_id","name","description","status","target_date","released_at","created_at","updated_at"],"title":"VersionResponse"}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key"},"CookieAuth":{"type":"apiKey","in":"cookie","name":"access_token"}}}}