{"openapi":"3.1.0","info":{"title":"SlideForge API","version":"0.1.0"},"paths":{"/auth/login":{"post":{"tags":["auth"],"summary":"Login For Access Token","operationId":"login_for_access_token_auth_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_for_access_token_auth_login_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/token":{"post":{"tags":["auth"],"summary":"Login For Access Token","operationId":"login_for_access_token_auth_token_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_login_for_access_token_auth_token_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/register":{"post":{"tags":["auth"],"summary":"Register User","operationId":"register_user_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/register-with-checkout":{"post":{"tags":["auth"],"summary":"Register User With Checkout","operationId":"register_user_with_checkout_auth_register_with_checkout_post","parameters":[{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}},{"name":"billing_country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Country"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/register-checkout/confirm":{"get":{"tags":["auth"],"summary":"Confirm Register Checkout","operationId":"confirm_register_checkout_auth_register_checkout_confirm_get","parameters":[{"name":"session_id","in":"query","required":true,"schema":{"type":"string","title":"Session Id"}},{"name":"provider","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterCheckoutConfirmationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/resume-billing-setup":{"post":{"tags":["auth"],"summary":"Resume Billing Setup","operationId":"resume_billing_setup_auth_resume_billing_setup_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"return_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Return To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterCheckoutResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/apple":{"post":{"tags":["auth"],"summary":"Login With Apple","operationId":"login_with_apple_auth_apple_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppleLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/google":{"post":{"tags":["auth"],"summary":"Login With Google","operationId":"login_with_google_auth_google_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleLoginRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Token"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/forgot-password":{"post":{"tags":["auth"],"summary":"Forgot Password","operationId":"forgot_password_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","operationId":"reset_password_auth_reset_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResetPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/verify":{"get":{"tags":["auth"],"summary":"Verify Email","operationId":"verify_email_auth_verify_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/cleanup-unverified":{"post":{"tags":["auth"],"summary":"Cleanup Unverified Accounts","operationId":"cleanup_unverified_accounts_auth_cleanup_unverified_post","parameters":[{"name":"x-cleanup-secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cleanup-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/change-password":{"post":{"tags":["auth"],"summary":"Change Password","operationId":"change_password_auth_change_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangePasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/users":{"post":{"tags":["users"],"summary":"Create User","operationId":"create_user_users_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/me":{"get":{"tags":["users"],"summary":"Read Users Me","operationId":"read_users_me_users_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Not found"}},"security":[{"OAuth2PasswordBearer":[]}]},"put":{"tags":["users"],"summary":"Update User Me","operationId":"update_user_me_users_me_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"delete":{"tags":["users"],"summary":"Delete User Me","operationId":"delete_user_me_users_me_delete","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteAccountRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/users/avatar/{user_hash}/{filename}":{"get":{"tags":["users"],"summary":"Get Avatar","description":"Serve avatar from storage backend.","operationId":"get_avatar_users_avatar__user_hash___filename__get","parameters":[{"name":"user_hash","in":"path","required":true,"schema":{"type":"string","title":"User Hash"}},{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/avatar":{"post":{"tags":["users"],"summary":"Upload Avatar","operationId":"upload_avatar_users_avatar_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_avatar_users_avatar_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/users/me/stats":{"get":{"tags":["users"],"summary":"Read User Stats","operationId":"read_user_stats_users_me_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"404":{"description":"Not found"}},"security":[{"OAuth2PasswordBearer":[]}]}},"/users/me/transactions":{"get":{"tags":["users"],"summary":"Get My Transactions","operationId":"get_my_transactions_users_me_transactions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Type"}},{"name":"start_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"}},{"name":"end_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/TransactionResponse"},"title":"Response Get My Transactions Users Me Transactions Get"}}}},"404":{"description":"Not found"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/templates":{"get":{"tags":["templates"],"summary":"Read Templates","operationId":"read_templates_templates_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Template"},"title":"Response Read Templates Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/cleanup-stuck":{"post":{"tags":["presentations"],"summary":"Cleanup Stuck Presentations","description":"Reap presentations that never reached completed/failed - e.g. because\ntheir background generation task was orphaned by a backend restart mid-run\n(presentations 2089 and 2158 were found stuck this way, with no automated\nrecovery). Marks them failed and refunds the exact original charge, so a\ncustomer is never left with credits gone and nothing to show for it,\nregardless of what interrupted the generation.","operationId":"cleanup_stuck_presentations_presentations_cleanup_stuck_post","parameters":[{"name":"x-cleanup-secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Cleanup-Secret"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/images/{filename}":{"get":{"tags":["presentations"],"summary":"Get Presentation Image","description":"Serve images securely from storage.","operationId":"get_presentation_image_presentations_images__filename__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"filename","in":"path","required":true,"schema":{"type":"string","title":"Filename"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/bulk-delete":{"post":{"tags":["presentations"],"summary":"Bulk Delete Presentations","description":"Delete multiple presentations at once.\nOnly deletes presentations owned by the current user.","operationId":"bulk_delete_presentations_presentations_bulk_delete_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BulkDeleteRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/presentations/{presentation_id}/export":{"get":{"tags":["presentations"],"summary":"Export Presentation","operationId":"export_presentation_presentations__presentation_id__export_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(pptx|pdf|images)$","default":"pptx","title":"Format"}},{"name":"quality","in":"query","required":false,"schema":{"type":"string","pattern":"^(hd|fast)$","default":"hd","title":"Quality"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}/download":{"get":{"tags":["presentations"],"summary":"Download Presentation","operationId":"download_presentation_presentations__presentation_id__download_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/generation-briefs":{"post":{"tags":["presentations"],"summary":"Create Generation Brief","operationId":"create_generation_brief_presentations_generation_briefs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationBriefResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/presentations/generation-briefs/{brief_id}/answer":{"post":{"tags":["presentations"],"summary":"Answer Generation Brief","operationId":"answer_generation_brief_presentations_generation_briefs__brief_id__answer_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"brief_id","in":"path","required":true,"schema":{"type":"string","title":"Brief Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationBriefAnswer"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationBriefResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/generation-intents":{"post":{"tags":["presentations"],"summary":"Create Generation Intent","operationId":"create_generation_intent_presentations_generation_intents_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationIntentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/generation-intents/{intent_id}":{"get":{"tags":["presentations"],"summary":"Get Generation Intent","operationId":"get_generation_intent_presentations_generation_intents__intent_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"intent_id","in":"path","required":true,"schema":{"type":"string","title":"Intent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerationIntentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/generation-intents/{intent_id}/resume":{"post":{"tags":["presentations"],"summary":"Resume Generation Intent","operationId":"resume_generation_intent_presentations_generation_intents__intent_id__resume_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"intent_id","in":"path","required":true,"schema":{"type":"string","title":"Intent Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/generate":{"post":{"tags":["presentations"],"summary":"Generate Presentation","operationId":"generate_presentation_presentations_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/presentations/generate-with-file":{"post":{"tags":["presentations"],"summary":"Generate Presentation With File","operationId":"generate_presentation_with_file_presentations_generate_with_file_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_generate_presentation_with_file_presentations_generate_with_file_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/presentations/{presentation_id}/status":{"get":{"tags":["presentations"],"summary":"Get Presentation Status","operationId":"get_presentation_status_presentations__presentation_id__status_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations":{"get":{"tags":["presentations"],"summary":"Read Presentations","operationId":"read_presentations_presentations_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PresentationResponse"},"title":"Response Read Presentations Presentations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}/template":{"put":{"tags":["presentations"],"summary":"Update Presentation Template","operationId":"update_presentation_template_presentations__presentation_id__template_put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationTemplateUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}":{"delete":{"tags":["presentations"],"summary":"Delete Presentation","operationId":"delete_presentation_presentations__presentation_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/trending":{"get":{"tags":["presentations"],"summary":"Get Trending Topics","description":"Fetch the latest 10 trending topics globally.\nIf less than 10, fill with defaults.","operationId":"get_trending_topics_presentations_trending_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"type":"string"},"type":"array","title":"Response Get Trending Topics Presentations Trending Get"}}}}}}},"/presentations/{presentation_id}/slides/{slide_index}/revisions":{"get":{"tags":["presentations"],"summary":"Get Slide Revisions","operationId":"get_slide_revisions_presentations__presentation_id__slides__slide_index__revisions_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"slide_index","in":"path","required":true,"schema":{"type":"integer","title":"Slide Index"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["presentations"],"summary":"Create Slide Revision","operationId":"create_slide_revision_presentations__presentation_id__slides__slide_index__revisions_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"slide_index","in":"path","required":true,"schema":{"type":"integer","title":"Slide Index"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideRevisionRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}/slides/{slide_index}/revisions/{revision_id}/restore":{"post":{"tags":["presentations"],"summary":"Restore Slide Revision","operationId":"restore_slide_revision_presentations__presentation_id__slides__slide_index__revisions__revision_id__restore_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"slide_index","in":"path","required":true,"schema":{"type":"integer","title":"Slide Index"}},{"name":"revision_id","in":"path","required":true,"schema":{"type":"integer","title":"Revision Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}/slides/{slide_index}/regenerate":{"post":{"tags":["presentations"],"summary":"Regenerate Slide","description":"Initiates async slide regeneration. Returns immediately.\nClient should listen for push notification or poll status.","operationId":"regenerate_slide_presentations__presentation_id__slides__slide_index__regenerate_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"slide_index","in":"path","required":true,"schema":{"type":"integer","title":"Slide Index"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideRegenerationRequest"}}}},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/presentations/{presentation_id}/slides/{slide_index}":{"put":{"tags":["presentations"],"summary":"Update Slide","description":"Manually update a slide's content and regenerate the PPTX.","operationId":"update_slide_presentations__presentation_id__slides__slide_index__put","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"slide_index","in":"path","required":true,"schema":{"type":"integer","title":"Slide Index"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlideUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Update Slide Presentations  Presentation Id  Slides  Slide Index  Put"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/uploads":{"post":{"tags":["uploads"],"summary":"Upload File","operationId":"upload_file_uploads_post","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"presentation_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Presentation Id"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_uploads_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedFileDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["uploads"],"summary":"List Uploads","operationId":"list_uploads_uploads_get","security":[{"OAuth2PasswordBearer":[]}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/UploadedFileSummary"},"title":"Response List Uploads Uploads Get"}}}}}}},"/uploads/branding-logo":{"post":{"tags":["uploads"],"summary":"Upload Branding Logo","operationId":"upload_branding_logo_uploads_branding_logo_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_branding_logo_uploads_branding_logo_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedFileDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/uploads/{upload_id}":{"get":{"tags":["uploads"],"summary":"Get Upload","operationId":"get_upload_uploads__upload_id__get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"integer","title":"Upload Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedFileDetail"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["uploads"],"summary":"Delete Upload","operationId":"delete_upload_uploads__upload_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"integer","title":"Upload Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/uploads/{upload_id}/text":{"get":{"tags":["uploads"],"summary":"Get Upload Text","operationId":"get_upload_text_uploads__upload_id__text_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"integer","title":"Upload Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UploadedFileTextResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/uploads/{upload_id}/download":{"get":{"tags":["uploads"],"summary":"Download Upload","operationId":"download_upload_uploads__upload_id__download_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"upload_id","in":"path","required":true,"schema":{"type":"integer","title":"Upload Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/notifications/register":{"post":{"tags":["notifications"],"summary":"Register Device","operationId":"register_device_notifications_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTokenCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/start-now":{"post":{"tags":["subscriptions"],"summary":"Start Subscription Now","operationId":"start_subscription_now_subscriptions_start_now_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartSubscriptionNowResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/status":{"get":{"tags":["subscriptions"],"summary":"Get Subscription Status","description":"Get the current user's subscription entitlement status.\nChecks both local database and potentially external providers (cache-first).","operationId":"get_subscription_status_subscriptions_status_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubscriptionStatus"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/portal-session":{"post":{"tags":["subscriptions"],"summary":"Create Billing Portal Session","operationId":"create_billing_portal_session_subscriptions_portal_session_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BillingPortalSessionResponse"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/cancel":{"post":{"tags":["subscriptions"],"summary":"Cancel Subscription","description":"Cancel the user's active subscription.\nWorks for 'web' (Stripe) and 'dodo' (Dodo Payments).\nSets 'cancel_at_period_end' to True.","operationId":"cancel_subscription_subscriptions_cancel_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/reactivate":{"post":{"tags":["subscriptions"],"summary":"Reactivate Subscription","description":"Re-activate a canceling subscription.\nOnly works for 'web' (Stripe) subscriptions.\nSets 'cancel_at_period_end' to False.","operationId":"reactivate_subscription_subscriptions_reactivate_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/sync/apple":{"post":{"tags":["subscriptions"],"summary":"Sync Apple Subscription","description":"Sync an iOS subscription with the backend using verified JWS token.\nCalled by the iOS app after a successful purchase or restore.","operationId":"sync_apple_subscription_subscriptions_sync_apple_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AppleSyncRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/subscriptions/sync/google":{"post":{"tags":["subscriptions"],"summary":"Sync Google Subscription","description":"Sync a Google Play subscription with the backend.\nCalled by the Android app after a successful purchase, restore, or periodic check.","operationId":"sync_google_subscription_subscriptions_sync_google_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GoogleSubscriptionRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/waitlist/signup":{"post":{"tags":["waitlist"],"summary":"Waitlist Signup","description":"Add an email to the waitlist.","operationId":"waitlist_signup_waitlist_signup_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitlistRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitlistResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/waitlist":{"get":{"tags":["waitlist"],"summary":"Get Waitlist","description":"Get paginated waitlist signups (Admin only).","operationId":"get_waitlist_waitlist_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WaitlistListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v2/presentations":{"get":{"tags":["presentations_v2"],"summary":"Get Presentations V2","operationId":"get_presentations_v2_v2_presentations_get","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","minimum":1,"description":"Page number","default":1,"title":"Page"},"description":"Page number"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Items per page","default":20,"title":"Limit"},"description":"Items per page"},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"tone","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tone"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["created_at","topic"],"default":"created_at","title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"enum":["asc","desc"],"default":"desc","title":"Sort Order"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationPagination"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/blogs":{"get":{"tags":["public_blogs"],"summary":"Get Published Blogs","operationId":"get_published_blogs_blogs_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/BlogResponse"},"type":"array","title":"Response Get Published Blogs Blogs Get"}}}}}}},"/blogs/{slug}":{"get":{"tags":["public_blogs"],"summary":"Get Published Blog By Slug","operationId":"get_published_blog_by_slug_blogs__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BlogResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/events/stream":{"get":{"tags":["events"],"summary":"Stream Events","description":"Server-Sent Events (SSE) endpoint for real-time updates.\nAccepts token via query parameter for EventSource compatibility.","operationId":"stream_events_events_stream_get","parameters":[{"name":"token","in":"query","required":false,"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"}}}}}}},"/account/api-keys":{"get":{"tags":["api-keys"],"summary":"List Api Keys","operationId":"list_api_keys_account_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/APIKeyPublic"},"type":"array","title":"Response List Api Keys Account Api Keys Get"}}}}},"security":[{"OAuth2PasswordBearer":[]}]},"post":{"tags":["api-keys"],"summary":"Create Api Key","operationId":"create_api_key_account_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIKeyCreated"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]}]}},"/account/api-keys/{key_id}":{"delete":{"tags":["api-keys"],"summary":"Revoke Api Key","operationId":"revoke_api_key_account_api_keys__key_id__delete","security":[{"OAuth2PasswordBearer":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/presentations":{"post":{"tags":["v1-presentations"],"summary":"V1 Generate Presentation","operationId":"v1_generate_presentation_v1_presentations_post","security":[{"HTTPBearer":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["v1-presentations"],"summary":"V1 List Presentations","operationId":"v1_list_presentations_v1_presentations_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PresentationResponse"},"title":"Response V1 List Presentations V1 Presentations Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/presentations/{presentation_id}/status":{"get":{"tags":["v1-presentations"],"summary":"V1 Get Presentation Status","operationId":"v1_get_presentation_status_v1_presentations__presentation_id__status_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PresentationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/presentations/{presentation_id}/export":{"get":{"tags":["v1-presentations"],"summary":"V1 Export Presentation","operationId":"v1_export_presentation_v1_presentations__presentation_id__export_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"presentation_id","in":"path","required":true,"schema":{"type":"integer","title":"Presentation Id"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(pptx|pdf|images)$","default":"pptx","title":"Format"}},{"name":"quality","in":"query","required":false,"schema":{"type":"string","pattern":"^(hd|fast)$","default":"hd","title":"Quality"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/templates":{"get":{"tags":["v1-templates"],"summary":"V1 List Templates","operationId":"v1_list_templates_v1_templates_get","security":[{"HTTPBearer":[]}],"parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Template"},"title":"Response V1 List Templates V1 Templates Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/v1/account":{"get":{"tags":["v1-account"],"summary":"V1 Get Account","operationId":"v1_get_account_v1_account_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountInfo"}}}}},"security":[{"HTTPBearer":[]}]}},"/oauth/authorize":{"get":{"tags":["oauth"],"summary":"Authorize","operationId":"authorize_oauth_authorize_get","parameters":[{"name":"response_type","in":"query","required":true,"schema":{"type":"string","title":"Response Type"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string","title":"Client Id"}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string","title":"Redirect Uri"}},{"name":"code_challenge","in":"query","required":true,"schema":{"type":"string","title":"Code Challenge"}},{"name":"code_challenge_method","in":"query","required":false,"schema":{"type":"string","default":"S256","title":"Code Challenge Method"}},{"name":"scope","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},{"name":"state","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize/login":{"post":{"tags":["oauth"],"summary":"Authorize Login","operationId":"authorize_login_oauth_authorize_login_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_authorize_login_oauth_authorize_login_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/authorize/login/social":{"post":{"tags":["oauth"],"summary":"Authorize Login Social","operationId":"authorize_login_social_oauth_authorize_login_social_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SocialLoginRequest"}}},"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/consent":{"get":{"tags":["oauth"],"summary":"Authorize Consent","operationId":"authorize_consent_oauth_authorize_consent_get","parameters":[{"name":"flow_token","in":"query","required":true,"schema":{"type":"string","title":"Flow Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/authorize/decision":{"post":{"tags":["oauth"],"summary":"Authorize Decision","operationId":"authorize_decision_oauth_authorize_decision_post","requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Body_authorize_decision_oauth_authorize_decision_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/token":{"post":{"tags":["oauth"],"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":{"$ref":"#/components/schemas/TokenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/oauth/revoke":{"post":{"tags":["oauth"],"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"}}}}}}},"/oauth/register":{"post":{"tags":["oauth"],"summary":"Register Client","description":"Lets a connecting app (Claude, ChatGPT) register itself at runtime\ninstead of requiring us to hand-create an oauth_clients row per\nplatform ahead of time - both Anthropic's and OpenAI's MCP connector\nflows expect an authorization server to support this.","operationId":"register_client_oauth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientRegistrationRequest"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"APIKeyCreate":{"properties":{"name":{"type":"string","title":"Name"}},"type":"object","required":["name"],"title":"APIKeyCreate"},"APIKeyCreated":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"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"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"},"api_key":{"type":"string","title":"Api Key"}},"type":"object","required":["id","name","prefix","created_at","api_key"],"title":"APIKeyCreated"},"APIKeyPublic":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"type":"string","title":"Name"},"prefix":{"type":"string","title":"Prefix"},"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"},"revoked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Revoked At"}},"type":"object","required":["id","name","prefix","created_at"],"title":"APIKeyPublic"},"AccountInfo":{"properties":{"id":{"type":"integer","title":"Id"},"email":{"type":"string","title":"Email"},"credits":{"type":"integer","title":"Credits"},"total_credits_purchased":{"type":"integer","title":"Total Credits Purchased"},"total_credits_used":{"type":"integer","title":"Total Credits Used"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status"},"subscription_plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Plan Id"}},"type":"object","required":["id","email","credits","total_credits_purchased","total_credits_used"],"title":"AccountInfo"},"AnalyticsContext":{"properties":{"client_id":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Client Id"},"session_id":{"anyOf":[{"type":"string","maxLength":32},{"type":"null"}],"title":"Session Id"},"analytics_storage":{"type":"string","title":"Analytics Storage","default":"denied"},"ad_storage":{"type":"string","title":"Ad Storage","default":"denied"}},"type":"object","title":"AnalyticsContext"},"AppleLoginRequest":{"properties":{"identity_token":{"type":"string","title":"Identity Token"},"full_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Full Name"},"email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Email"},"login_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Source"},"billing_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Country"},"billing_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Plan"}},"type":"object","required":["identity_token"],"title":"AppleLoginRequest"},"AppleSyncRequest":{"properties":{"jws_token":{"type":"string","title":"Jws Token"},"jws_renewal_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Jws Renewal Token"}},"type":"object","required":["jws_token"],"title":"AppleSyncRequest"},"BillingPortalSessionResponse":{"properties":{"url":{"type":"string","title":"Url"},"billing_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Provider"},"can_update_payment_method":{"type":"boolean","title":"Can Update Payment Method","default":false}},"type":"object","required":["url"],"title":"BillingPortalSessionResponse"},"BlogResponse":{"properties":{"slug":{"type":"string","title":"Slug"},"title":{"type":"string","title":"Title"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excerpt"},"content":{"type":"string","title":"Content"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"read_time":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Read Time"},"is_published":{"type":"boolean","title":"Is Published","default":false},"id":{"type":"integer","title":"Id"},"author_id":{"type":"integer","title":"Author Id"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Published At"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["slug","title","content","id","author_id","created_at","updated_at"],"title":"BlogResponse"},"Body_authorize_decision_oauth_authorize_decision_post":{"properties":{"flow_token":{"type":"string","title":"Flow Token"},"decision":{"type":"string","title":"Decision"}},"type":"object","required":["flow_token","decision"],"title":"Body_authorize_decision_oauth_authorize_decision_post"},"Body_authorize_login_oauth_authorize_login_post":{"properties":{"flow_token":{"type":"string","title":"Flow Token"},"email":{"type":"string","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["flow_token","email","password"],"title":"Body_authorize_login_oauth_authorize_login_post"},"Body_generate_presentation_with_file_presentations_generate_with_file_post":{"properties":{"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"generation_brief_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generation Brief Id"},"topic":{"type":"string","title":"Topic"},"num_slides":{"type":"integer","title":"Num Slides"},"tone":{"type":"string","title":"Tone"},"language":{"type":"string","title":"Language"},"target_audience":{"type":"string","title":"Target Audience","default":"General Audience"},"layout_type":{"type":"string","title":"Layout Type","default":"split"},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions"},"branding_enabled":{"type":"boolean","title":"Branding Enabled","default":false},"branding_primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branding Primary Color"},"branding_secondary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Branding Secondary Color"},"branding_logo_upload_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Branding Logo Upload Id"},"template_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"},"file":{"anyOf":[{"type":"string","format":"binary"},{"type":"null"}],"title":"File"}},"type":"object","required":["topic","num_slides","tone","language"],"title":"Body_generate_presentation_with_file_presentations_generate_with_file_post"},"Body_login_for_access_token_auth_login_post":{"properties":{"login_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Source"},"grant_type":{"anyOf":[{"type":"string","pattern":"password"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_for_access_token_auth_login_post"},"Body_login_for_access_token_auth_token_post":{"properties":{"login_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Source"},"grant_type":{"anyOf":[{"type":"string","pattern":"password"},{"type":"null"}],"title":"Grant Type"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"},"scope":{"type":"string","title":"Scope","default":""},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"client_secret":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Secret"}},"type":"object","required":["username","password"],"title":"Body_login_for_access_token_auth_token_post"},"Body_revoke_oauth_revoke_post":{"properties":{"token":{"type":"string","title":"Token"}},"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"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"}},"type":"object","required":["grant_type"],"title":"Body_token_oauth_token_post"},"Body_upload_avatar_users_avatar_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_avatar_users_avatar_post"},"Body_upload_branding_logo_uploads_branding_logo_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_branding_logo_uploads_branding_logo_post"},"Body_upload_file_uploads_post":{"properties":{"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["file"],"title":"Body_upload_file_uploads_post"},"BulkDeleteRequest":{"properties":{"ids":{"items":{"type":"integer"},"type":"array","title":"Ids"}},"type":"object","required":["ids"],"title":"BulkDeleteRequest"},"ChangePasswordRequest":{"properties":{"current_password":{"type":"string","title":"Current Password"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["current_password","new_password"],"title":"ChangePasswordRequest"},"ClientRegistrationRequest":{"properties":{"redirect_uris":{"items":{"type":"string"},"type":"array","title":"Redirect Uris"},"client_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Name"},"token_endpoint_auth_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Token Endpoint Auth Method"},"grant_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Grant Types"},"response_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Response Types"}},"type":"object","required":["redirect_uris"],"title":"ClientRegistrationRequest"},"DeleteAccountRequest":{"properties":{"password":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Password"}},"type":"object","title":"DeleteAccountRequest"},"DeviceTokenCreate":{"properties":{"token":{"type":"string","title":"Token"},"platform":{"type":"string","title":"Platform","default":"ios"}},"type":"object","required":["token"],"title":"DeviceTokenCreate"},"ForgotPasswordRequest":{"properties":{"email":{"type":"string","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordRequest"},"GenerationBriefAnswer":{"properties":{"answer":{"type":"string","maxLength":2000,"minLength":1,"title":"Answer"}},"type":"object","required":["answer"],"title":"GenerationBriefAnswer"},"GenerationBriefResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"interpreted_goal":{"type":"string","title":"Interpreted Goal"},"deliverable_type":{"type":"string","title":"Deliverable Type"},"output_language":{"type":"string","title":"Output Language"},"clarification_question":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Clarification Question"},"confidence":{"type":"number","title":"Confidence"},"source_diagnostics":{"items":{"type":"object"},"type":"array","title":"Source Diagnostics"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"corrected_num_slides":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Corrected Num Slides"}},"type":"object","required":["id","status","interpreted_goal","deliverable_type","output_language","confidence","expires_at"],"title":"GenerationBriefResponse"},"GenerationIntentResponse":{"properties":{"id":{"type":"string","title":"Id"},"status":{"type":"string","title":"Status"},"checkout_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkout Url"},"provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Provider"},"presentation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Presentation Id"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"}},"type":"object","required":["id","status","expires_at"],"title":"GenerationIntentResponse"},"GoogleLoginRequest":{"properties":{"id_token":{"type":"string","title":"Id Token"},"login_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Source"},"billing_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Country"},"billing_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Plan"}},"type":"object","required":["id_token"],"title":"GoogleLoginRequest"},"GoogleSubscriptionRequest":{"properties":{"purchase_token":{"type":"string","title":"Purchase Token"},"product_id":{"type":"string","title":"Product Id"},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Order Id"},"auto_renewing":{"type":"boolean","title":"Auto Renewing","default":true},"expiry_time_millis":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Expiry Time Millis"}},"type":"object","required":["purchase_token","product_id"],"title":"GoogleSubscriptionRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"PaginationMeta":{"properties":{"total":{"type":"integer","title":"Total"},"page":{"type":"integer","title":"Page"},"limit":{"type":"integer","title":"Limit"},"total_pages":{"type":"integer","title":"Total Pages"}},"type":"object","required":["total","page","limit","total_pages"],"title":"PaginationMeta"},"PresentationBranding":{"properties":{"enabled":{"type":"boolean","title":"Enabled","default":false},"primary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Primary Color"},"secondary_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Secondary Color"},"logo_upload_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Logo Upload Id"}},"type":"object","title":"PresentationBranding"},"PresentationCreate":{"properties":{"template_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"},"request_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Request Id"},"generation_brief_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Generation Brief Id"},"topic":{"type":"string","title":"Topic"},"num_slides":{"type":"integer","title":"Num Slides"},"tone":{"type":"string","title":"Tone"},"language":{"type":"string","title":"Language"},"target_audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Audience","default":"General Audience"},"layout_type":{"type":"string","title":"Layout Type","default":"split"},"custom_instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custom Instructions"},"uploaded_file_ids":{"items":{"type":"integer"},"type":"array","title":"Uploaded File Ids"},"branding":{"anyOf":[{"$ref":"#/components/schemas/PresentationBranding"},{"type":"null"}]},"analytics_context":{"anyOf":[{"$ref":"#/components/schemas/AnalyticsContext"},{"type":"null"}]},"billing_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Plan"}},"type":"object","required":["topic","num_slides","tone","language"],"title":"PresentationCreate"},"PresentationPagination":{"properties":{"data":{"items":{"$ref":"#/components/schemas/PresentationResponse"},"type":"array","title":"Data"},"meta":{"$ref":"#/components/schemas/PaginationMeta"}},"type":"object","required":["data","meta"],"title":"PresentationPagination"},"PresentationResponse":{"properties":{"id":{"type":"integer","title":"Id"},"template_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Template Id"},"renderer_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Renderer Version"},"topic":{"type":"string","title":"Topic"},"tone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tone","default":"Professional"},"target_audience":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Audience","default":"General Audience"},"layout_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Layout Type"},"status":{"type":"string","title":"Status"},"branding_config":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Branding Config"},"template":{"anyOf":[{"$ref":"#/components/schemas/Template"},{"type":"null"}]},"content_json":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Content Json"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"completed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Completed At"}},"type":"object","required":["id","topic","status","created_at"],"title":"PresentationResponse"},"PresentationTemplateUpdate":{"properties":{"template_id":{"type":"integer","title":"Template Id"}},"type":"object","required":["template_id"],"title":"PresentationTemplateUpdate"},"RegisterCheckoutConfirmationResponse":{"properties":{"billing_setup_complete":{"type":"boolean","title":"Billing Setup Complete"},"requires_email_verification":{"type":"boolean","title":"Requires Email Verification"},"billing_plan":{"type":"string","title":"Billing Plan","default":"subscription"},"auth_source":{"type":"string","title":"Auth Source"},"email":{"type":"string","format":"email","title":"Email"},"access_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Access Token"}},"type":"object","required":["billing_setup_complete","requires_email_verification","auth_source","email"],"title":"RegisterCheckoutConfirmationResponse"},"RegisterCheckoutResponse":{"properties":{"checkout_url":{"type":"string","title":"Checkout Url"}},"type":"object","required":["checkout_url"],"title":"RegisterCheckoutResponse"},"ResetPasswordRequest":{"properties":{"email":{"type":"string","title":"Email"},"otp":{"type":"string","title":"Otp"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["email","otp","new_password"],"title":"ResetPasswordRequest"},"SlideRegenerationRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"mode":{"type":"string","title":"Mode","default":"full"}},"type":"object","required":["prompt"],"title":"SlideRegenerationRequest"},"SlideRevisionRequest":{"properties":{"instruction":{"type":"string","title":"Instruction"},"mode":{"type":"string","title":"Mode","default":"full"},"request_id":{"type":"string","title":"Request Id"}},"type":"object","required":["instruction","request_id"],"title":"SlideRevisionRequest"},"SlideUpdateRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"content":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Content"}},"type":"object","title":"SlideUpdateRequest"},"SocialLoginRequest":{"properties":{"flow_token":{"type":"string","title":"Flow Token"},"provider":{"type":"string","title":"Provider"},"credential":{"type":"string","title":"Credential"}},"type":"object","required":["flow_token","provider","credential"],"title":"SocialLoginRequest"},"StartSubscriptionNowResponse":{"properties":{"status":{"type":"string","title":"Status"},"message":{"type":"string","title":"Message"},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"credits_granted":{"type":"integer","title":"Credits Granted","default":0},"credits":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Credits"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status"}},"type":"object","required":["status","message"],"title":"StartSubscriptionNowResponse"},"SubscriptionStatus":{"properties":{"is_active":{"type":"boolean","title":"Is Active"},"is_trial":{"type":"boolean","title":"Is Trial","default":false},"platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Platform"},"billing_provider":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Provider"},"plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Plan Id"},"expires_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Expires At"},"trial_ends_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Trial Ends At"},"cancel_at_period_end":{"type":"boolean","title":"Cancel At Period End","default":false},"manage_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manage Url"},"original_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Original Transaction Id"},"can_manage_billing":{"type":"boolean","title":"Can Manage Billing","default":false},"can_update_payment_method":{"type":"boolean","title":"Can Update Payment Method","default":false}},"type":"object","required":["is_active"],"title":"SubscriptionStatus"},"Template":{"properties":{"name":{"type":"string","title":"Name"},"thumbnail_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thumbnail Url"},"is_premium":{"type":"boolean","title":"Is Premium"},"slug":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Slug"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Category"},"preview_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preview Url"},"theme":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Theme"},"engine_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Engine Version"},"manifest_version":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Manifest Version"},"sort_order":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Sort Order"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"style_tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Style Tags"},"supported_slide_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Supported Slide Types"},"layouts":{"anyOf":[{"items":{"type":"object"},"type":"array"},{"type":"null"}],"title":"Layouts"},"preview_slide_urls":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preview Slide Urls"},"provenance":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Provenance"},"id":{"type":"integer","title":"Id"}},"type":"object","required":["name","is_premium","id"],"title":"Template"},"Token":{"properties":{"access_token":{"type":"string","title":"Access Token","default":""},"token_type":{"type":"string","title":"Token Type"},"checkout_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Checkout Url"},"requires_billing_setup":{"type":"boolean","title":"Requires Billing Setup","default":false}},"type":"object","required":["token_type"],"title":"Token"},"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"},"refresh_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Refresh Token"},"scope":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scope"}},"type":"object","required":["access_token","expires_in"],"title":"TokenResponse"},"TransactionResponse":{"properties":{"id":{"type":"integer","title":"Id"},"type":{"type":"string","title":"Type"},"credits":{"type":"integer","title":"Credits"},"amount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Amount"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"},"description":{"type":"string","title":"Description"},"external_transaction_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"External Transaction Id"},"balance_after":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Balance After"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Metadata"},"invoice_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invoice Url"}},"type":"object","required":["id","type","credits","amount","currency","description","external_transaction_id","balance_after","created_at"],"title":"TransactionResponse"},"UploadedFileDetail":{"properties":{"id":{"type":"integer","title":"Id"},"original_filename":{"type":"string","title":"Original Filename"},"file_extension":{"type":"string","title":"File Extension"},"file_size_bytes":{"type":"integer","title":"File Size Bytes"},"mime_type":{"type":"string","title":"Mime Type"},"status":{"type":"string","title":"Status"},"presentation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Presentation Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"stored_filename":{"type":"string","title":"Stored Filename"},"extracted_text_preview":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extracted Text Preview"},"extracted_text_available":{"type":"boolean","title":"Extracted Text Available","default":false},"extraction_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extraction Status"},"extraction_method":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extraction Method"},"extraction_quality":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Extraction Quality"}},"type":"object","required":["id","original_filename","file_extension","file_size_bytes","mime_type","status","created_at","stored_filename"],"title":"UploadedFileDetail"},"UploadedFileSummary":{"properties":{"id":{"type":"integer","title":"Id"},"original_filename":{"type":"string","title":"Original Filename"},"file_extension":{"type":"string","title":"File Extension"},"file_size_bytes":{"type":"integer","title":"File Size Bytes"},"mime_type":{"type":"string","title":"Mime Type"},"status":{"type":"string","title":"Status"},"presentation_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Presentation Id"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","original_filename","file_extension","file_size_bytes","mime_type","status","created_at"],"title":"UploadedFileSummary"},"UploadedFileTextResponse":{"properties":{"id":{"type":"integer","title":"Id"},"original_filename":{"type":"string","title":"Original Filename"},"extracted_text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extracted Text"},"status":{"type":"string","title":"Status"}},"type":"object","required":["id","original_filename","status"],"title":"UploadedFileTextResponse"},"User":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"id":{"type":"integer","title":"Id"},"username":{"type":"string","title":"Username"},"is_active":{"type":"boolean","title":"Is Active"},"credits":{"type":"integer","title":"Credits"},"has_paid_image_entitlement":{"type":"boolean","title":"Has Paid Image Entitlement","default":false},"requires_billing_setup":{"type":"boolean","title":"Requires Billing Setup","default":false},"auth_source":{"type":"string","title":"Auth Source","default":"email"},"signup_source":{"type":"string","title":"Signup Source","default":"desktop"},"last_login_source":{"type":"string","title":"Last Login Source","default":"desktop"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"subscription_platform":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Platform"},"subscription_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Status"},"subscription_plan_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Plan Id"},"subscription_end_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Subscription End Date"},"subscription_expires_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Subscription Expires At"},"analytics_user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Analytics User Id"}},"type":"object","required":["email","id","username","is_active","credits"],"title":"User"},"UserCreate":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"password":{"type":"string","title":"Password"},"signup_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Signup Source"},"login_source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Login Source"},"billing_country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Country"},"billing_plan":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Billing Plan"},"turnstile_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Turnstile Token"}},"type":"object","required":["email","password"],"title":"UserCreate"},"UserUpdate":{"properties":{"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"}},"type":"object","title":"UserUpdate"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"WaitlistListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/WaitlistSignupResponse"},"type":"array","title":"Items"},"total":{"type":"integer","title":"Total"}},"type":"object","required":["items","total"],"title":"WaitlistListResponse"},"WaitlistRequest":{"properties":{"name":{"type":"string","title":"Name","default":""},"email":{"type":"string","format":"email","title":"Email"},"source":{"type":"string","title":"Source","default":""}},"type":"object","required":["email"],"title":"WaitlistRequest"},"WaitlistResponse":{"properties":{"success":{"type":"boolean","title":"Success"},"message":{"type":"string","title":"Message"}},"type":"object","required":["success","message"],"title":"WaitlistResponse"},"WaitlistSignupResponse":{"properties":{"id":{"type":"integer","title":"Id"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"email":{"type":"string","format":"email","title":"Email"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"created_at":{"type":"string","title":"Created At"},"ip_address":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"}},"type":"object","required":["id","name","email","source","created_at","ip_address"],"title":"WaitlistSignupResponse"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/auth/token"}}},"HTTPBearer":{"type":"http","scheme":"bearer"}}}}