{"openapi":"3.1.0","info":{"title":"CodingBugLabs","version":"2.0.0"},"paths":{"/api/auth/register":{"post":{"tags":["auth"],"summary":"Register","operationId":"register_api_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__api__auth__RegisterRequest"}}},"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/login":{"post":{"tags":["auth"],"summary":"Login","operationId":"login_api_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}},"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/logout":{"post":{"tags":["auth"],"summary":"Logout","operationId":"logout_api_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/auth/verify-email":{"post":{"tags":["auth"],"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/forgot-password":{"post":{"tags":["auth"],"summary":"Forgot Password","operationId":"forgot_password_api_auth_forgot_password_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgotPasswordRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/reset-password":{"post":{"tags":["auth"],"summary":"Reset Password","operationId":"reset_password_api_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"}}}}}}},"/api/auth/change-password":{"post":{"tags":["auth"],"summary":"Change Password","operationId":"change_password_api_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":[]},{"APIKeyHeader":[]}]}},"/api/auth/api-keys":{"post":{"tags":["auth"],"summary":"Generate Api Key","operationId":"generate_api_key_api_auth_api_keys_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]},"delete":{"tags":["auth"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_auth_api_keys_delete","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/auth/me":{"get":{"tags":["auth"],"summary":"Get Me","operationId":"get_me_api_auth_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]},"patch":{"tags":["auth"],"summary":"Update Me","operationId":"update_me_api_auth_me_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateProfileRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/billing/checkout":{"post":{"tags":["billing"],"summary":"Create Checkout","operationId":"create_checkout_api_billing_checkout_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/billing/portal":{"post":{"tags":["billing"],"summary":"Create Portal","operationId":"create_portal_api_billing_portal_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/billing/webhook":{"post":{"tags":["billing"],"summary":"Stripe Webhook","operationId":"stripe_webhook_api_billing_webhook_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/billing/subscription":{"get":{"tags":["billing"],"summary":"Get Subscription","operationId":"get_subscription_api_billing_subscription_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/billing/tiers":{"get":{"tags":["billing"],"summary":"List Tiers","operationId":"list_tiers_api_billing_tiers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/billing/usage":{"get":{"tags":["billing"],"summary":"Get Usage","operationId":"get_usage_api_billing_usage_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/images/generate":{"post":{"tags":["images"],"summary":"Generate Image","operationId":"generate_image_api_images_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/images/{public_id}/status":{"get":{"tags":["images"],"summary":"Get Status","operationId":"get_status_api_images__public_id__status_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/{public_id}":{"get":{"tags":["images"],"summary":"Get Generation","operationId":"get_generation_api_images__public_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["images"],"summary":"Delete Generation","operationId":"delete_generation_api_images__public_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/":{"get":{"tags":["images"],"summary":"List Generations","operationId":"list_generations_api_images__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/images/{public_id}/toggle-public":{"post":{"tags":["images"],"summary":"Toggle Public","operationId":"toggle_public_api_images__public_id__toggle_public_post","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gallery/":{"get":{"tags":["gallery"],"summary":"List Gallery","operationId":"list_gallery_api_gallery__get","parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/gallery/{public_id}":{"get":{"tags":["gallery"],"summary":"Get Gallery Item","operationId":"get_gallery_item_api_gallery__public_id__get","parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/music/generate":{"post":{"tags":["music"],"summary":"Generate Song","operationId":"generate_song_api_music_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GenerateSongRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/music/{public_id}":{"get":{"tags":["music"],"summary":"Get Song","operationId":"get_song_api_music__public_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["music"],"summary":"Delete Song","operationId":"delete_song_api_music__public_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"public_id","in":"path","required":true,"schema":{"type":"string","title":"Public Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/music/":{"get":{"tags":["music"],"summary":"List Songs","operationId":"list_songs_api_music__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/generate":{"post":{"tags":["voice"],"summary":"Generate Tts","operationId":"generate_tts_api_voice_generate_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TTSRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/voice/clone":{"post":{"tags":["voice"],"summary":"Clone Voice","operationId":"clone_voice_api_voice_clone_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VoiceCloneRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/voice/voices":{"get":{"tags":["voice"],"summary":"List Voices","operationId":"list_voices_api_voice_voices_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","default":1,"title":"Page"}},{"name":"page_size","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Page Size"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/voices/{reference_id}":{"get":{"tags":["voice"],"summary":"Get Voice","operationId":"get_voice_api_voice_voices__reference_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"reference_id","in":"path","required":true,"schema":{"type":"string","title":"Reference Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/{job_id}/url":{"get":{"tags":["voice"],"summary":"Get Voice Url","operationId":"get_voice_url_api_voice__job_id__url_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/{job_id}/stream":{"get":{"tags":["voice"],"summary":"Stream Voice","operationId":"stream_voice_api_voice__job_id__stream_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/{job_id}/download":{"get":{"tags":["voice"],"summary":"Download Voice","operationId":"download_voice_api_voice__job_id__download_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/{job_id}":{"get":{"tags":["voice"],"summary":"Get Job","operationId":"get_job_api_voice__job_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["voice"],"summary":"Delete Job","operationId":"delete_job_api_voice__job_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/":{"get":{"tags":["voice"],"summary":"List Jobs","operationId":"list_jobs_api_voice__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/conversations":{"post":{"tags":["chat"],"summary":"Create Conversation","operationId":"create_conversation_api_chat_conversations_post","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateConversationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["chat"],"summary":"List Conversations","operationId":"list_conversations_api_chat_conversations_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/conversations/{conversation_id}":{"get":{"tags":["chat"],"summary":"Get Conversation","operationId":"get_conversation_api_chat_conversations__conversation_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["chat"],"summary":"Update Conversation","operationId":"update_conversation_api_chat_conversations__conversation_id__patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}},{"name":"title","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"}},{"name":"model","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["chat"],"summary":"Delete Conversation","operationId":"delete_conversation_api_chat_conversations__conversation_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/conversations/{conversation_id}/messages":{"post":{"tags":["chat"],"summary":"Send Message","operationId":"send_message_api_chat_conversations__conversation_id__messages_post","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/models":{"get":{"tags":["chat"],"summary":"List Models","operationId":"list_models_api_chat_models_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/chat/characters":{"post":{"tags":["chat"],"summary":"Create Character","operationId":"create_character_api_chat_characters_post","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateCharacterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["chat"],"summary":"Browse Characters","operationId":"browse_characters_api_chat_characters_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":20,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tags"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/characters/my":{"get":{"tags":["chat"],"summary":"List My Characters","operationId":"list_my_characters_api_chat_characters_my_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/chat/characters/{character_id}":{"get":{"tags":["chat"],"summary":"Get Character","operationId":"get_character_api_chat_characters__character_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["chat"],"summary":"Update Character","operationId":"update_character_api_chat_characters__character_id__patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateCharacterRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["chat"],"summary":"Delete Character","operationId":"delete_character_api_chat_characters__character_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chat/characters/{character_id}/start-roleplay":{"post":{"tags":["chat"],"summary":"Start Roleplay","operationId":"start_roleplay_api_chat_characters__character_id__start_roleplay_post","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/influencer/register":{"post":{"tags":["influencer"],"summary":"Register","operationId":"register_api_influencer_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/backend__api__influencer__RegisterRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/influencer/profile":{"get":{"tags":["influencer"],"summary":"Get Profile","operationId":"get_profile_api_influencer_profile_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]},"patch":{"tags":["influencer"],"summary":"Update Profile","operationId":"update_profile_api_influencer_profile_patch","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileUpdateRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/influencer/commissions":{"get":{"tags":["influencer"],"summary":"Get Commissions","operationId":"get_commissions_api_influencer_commissions_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"period_month","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^\\d{4}-\\d{2}$"},{"type":"null"}],"title":"Period Month"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/influencer/payouts":{"get":{"tags":["influencer"],"summary":"Get Payouts","operationId":"get_payouts_api_influencer_payouts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/influencer/referrals":{"get":{"tags":["influencer"],"summary":"Get Referrals","operationId":"get_referrals_api_influencer_referrals_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/influencer/stats":{"get":{"tags":["influencer"],"summary":"Get Stats","operationId":"get_stats_api_influencer_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/influencer/api-keys":{"get":{"tags":["influencer"],"summary":"List Api Keys","operationId":"list_api_keys_api_influencer_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]},"post":{"tags":["influencer"],"summary":"Create Api Key","operationId":"create_api_key_api_influencer_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyCreateRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/influencer/api-keys/{key_id}":{"delete":{"tags":["influencer"],"summary":"Revoke Api Key","operationId":"revoke_api_key_api_influencer_api_keys__key_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/influencer/actions":{"post":{"tags":["influencer"],"summary":"Record Action","operationId":"record_action_api_influencer_actions_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/users":{"get":{"tags":["admin"],"summary":"List Users","operationId":"list_users_api_admin_users_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier"}},{"name":"role","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"}},{"name":"is_active","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{user_id}":{"get":{"tags":["admin"],"summary":"Get User","operationId":"get_user_api_admin_users__user_id__get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["admin"],"summary":"Update User","operationId":"update_user_api_admin_users__user_id__patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["admin"],"summary":"Delete User","operationId":"delete_user_api_admin_users__user_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"integer","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/images":{"get":{"tags":["admin"],"summary":"List Images","operationId":"list_images_api_admin_content_images_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"moderation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Moderation"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/images/{image_id}":{"delete":{"tags":["admin"],"summary":"Delete Image","operationId":"delete_image_api_admin_content_images__image_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/images/{image_id}/moderation":{"patch":{"tags":["admin"],"summary":"Moderate Image","operationId":"moderate_image_api_admin_content_images__image_id__moderation_patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"image_id","in":"path","required":true,"schema":{"type":"integer","title":"Image Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentModerationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/songs":{"get":{"tags":["admin"],"summary":"List Songs","operationId":"list_songs_api_admin_content_songs_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"moderation","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Moderation"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/songs/{song_id}":{"delete":{"tags":["admin"],"summary":"Delete Song","operationId":"delete_song_api_admin_content_songs__song_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"song_id","in":"path","required":true,"schema":{"type":"integer","title":"Song Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/songs/{song_id}/moderation":{"patch":{"tags":["admin"],"summary":"Moderate Song","operationId":"moderate_song_api_admin_content_songs__song_id__moderation_patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"song_id","in":"path","required":true,"schema":{"type":"integer","title":"Song Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentModerationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/voice-jobs":{"get":{"tags":["admin"],"summary":"List Voice Jobs","operationId":"list_voice_jobs_api_admin_content_voice_jobs_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/voice-jobs/{job_id}":{"delete":{"tags":["admin"],"summary":"Delete Voice Job","operationId":"delete_voice_job_api_admin_content_voice_jobs__job_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/voice-jobs/{job_id}/moderation":{"patch":{"tags":["admin"],"summary":"Moderate Voice Job","operationId":"moderate_voice_job_api_admin_content_voice_jobs__job_id__moderation_patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"job_id","in":"path","required":true,"schema":{"type":"integer","title":"Job Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContentModerationRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/conversations":{"get":{"tags":["admin"],"summary":"List Conversations","operationId":"list_conversations_api_admin_content_conversations_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"User Id"}},{"name":"mode","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Mode"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/conversations/{conversation_id}":{"delete":{"tags":["admin"],"summary":"Delete Conversation","operationId":"delete_conversation_api_admin_content_conversations__conversation_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"conversation_id","in":"path","required":true,"schema":{"type":"integer","title":"Conversation Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/characters":{"get":{"tags":["admin"],"summary":"List Characters","operationId":"list_characters_api_admin_content_characters_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"creator_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Creator Id"}},{"name":"is_featured","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Featured"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/characters/{character_id}":{"delete":{"tags":["admin"],"summary":"Delete Character","operationId":"delete_character_api_admin_content_characters__character_id__delete","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/content/characters/{character_id}/feature":{"patch":{"tags":["admin"],"summary":"Toggle Featured","operationId":"toggle_featured_api_admin_content_characters__character_id__feature_patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"character_id","in":"path","required":true,"schema":{"type":"integer","title":"Character Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Data"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/reports":{"get":{"tags":["admin"],"summary":"List Reports","operationId":"list_reports_api_admin_reports_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"target_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Type"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/reports/{report_id}":{"patch":{"tags":["admin"],"summary":"Review Report","operationId":"review_report_api_admin_reports__report_id__patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"report_id","in":"path","required":true,"schema":{"type":"integer","title":"Report Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportReviewRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/influencers":{"get":{"tags":["admin"],"summary":"List Influencers","operationId":"list_influencers_api_admin_influencers_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/influencers/{influencer_id}":{"patch":{"tags":["admin"],"summary":"Update Influencer","operationId":"update_influencer_api_admin_influencers__influencer_id__patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"influencer_id","in":"path","required":true,"schema":{"type":"integer","title":"Influencer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InfluencerUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/influencers/{influencer_id}/commissions":{"get":{"tags":["admin"],"summary":"Get Influencer Commissions","operationId":"get_influencer_commissions_api_admin_influencers__influencer_id__commissions_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"influencer_id","in":"path","required":true,"schema":{"type":"integer","title":"Influencer Id"}},{"name":"period_month","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Period Month"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/influencers/payouts":{"post":{"tags":["admin"],"summary":"Create Payout","operationId":"create_payout_api_admin_influencers_payouts_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PayoutCreateRequest"}}},"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":[]},{"APIKeyHeader":[]}]}},"/api/admin/influencers/payouts/{payout_id}/complete":{"patch":{"tags":["admin"],"summary":"Complete Payout","operationId":"complete_payout_api_admin_influencers_payouts__payout_id__complete_patch","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"payout_id","in":"path","required":true,"schema":{"type":"integer","title":"Payout Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/stats/platform":{"get":{"tags":["admin"],"summary":"Platform Stats","operationId":"platform_stats_api_admin_stats_platform_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/api/admin/stats/revenue":{"get":{"tags":["admin"],"summary":"Revenue Stats","operationId":"revenue_stats_api_admin_stats_revenue_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/stats/usage":{"get":{"tags":["admin"],"summary":"Usage Stats","operationId":"usage_stats_api_admin_stats_usage_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":365,"minimum":1,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/audit-log":{"get":{"tags":["admin"],"summary":"Get Audit Log","operationId":"get_audit_log_api_admin_audit_log_get","security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}],"parameters":[{"name":"action","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Action"}},{"name":"admin_id","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Admin Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/upload":{"post":{"tags":["upload"],"summary":"Upload File","operationId":"upload_file_api_upload_post","requestBody":{"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_file_api_upload_post"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"OAuth2PasswordBearer":[]},{"APIKeyHeader":[]}]}},"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}}},"components":{"schemas":{"ApiKeyCreateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Name"}},"type":"object","title":"ApiKeyCreateRequest"},"Body_upload_file_api_upload_post":{"properties":{"file":{"type":"string","contentMediaType":"application/octet-stream","title":"File"},"purpose":{"type":"string","title":"Purpose","default":"image"}},"type":"object","required":["file"],"title":"Body_upload_file_api_upload_post"},"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"},"CheckoutRequest":{"properties":{"price_id":{"type":"string","title":"Price Id"}},"type":"object","required":["price_id"],"title":"CheckoutRequest"},"ContentModerationRequest":{"properties":{"status":{"type":"string","title":"Status"}},"type":"object","required":["status"],"title":"ContentModerationRequest"},"CreateCharacterRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personality"},"scenario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario"},"first_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Message"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"is_public":{"type":"boolean","title":"Is Public","default":false}},"type":"object","required":["name"],"title":"CreateCharacterRequest"},"CreateConversationRequest":{"properties":{"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"mode":{"type":"string","title":"Mode","default":"general"},"model":{"type":"string","title":"Model","default":"deepseek-chat"},"character_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Character Id"}},"type":"object","title":"CreateConversationRequest"},"ForgotPasswordRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"ForgotPasswordRequest"},"GenerateRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"type":{"type":"string","title":"Type","default":"txt2img"},"size":{"type":"string","title":"Size","default":"1024x1024"},"n":{"type":"integer","title":"N","default":1},"ref_image_path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ref Image Path"},"is_public":{"type":"boolean","title":"Is Public","default":false}},"type":"object","required":["prompt"],"title":"GenerateRequest"},"GenerateSongRequest":{"properties":{"prompt":{"type":"string","title":"Prompt"},"lyrics":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lyrics"},"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Genre"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"is_public":{"type":"boolean","title":"Is Public","default":false}},"type":"object","required":["prompt"],"title":"GenerateSongRequest"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InfluencerUpdateRequest":{"properties":{"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"commission_rate":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Commission Rate"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"InfluencerUpdateRequest"},"LoginRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","password"],"title":"LoginRequest"},"PayoutCreateRequest":{"properties":{"influencer_id":{"type":"integer","title":"Influencer Id"},"amount_cents":{"type":"integer","exclusiveMinimum":0.0,"title":"Amount Cents"},"method":{"type":"string","title":"Method"},"period_month":{"type":"string","title":"Period Month"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","required":["influencer_id","amount_cents","method","period_month"],"title":"PayoutCreateRequest"},"ProfileUpdateRequest":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":255,"minLength":2},{"type":"null"}],"title":"Name"},"social_media":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Media"},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"}},"type":"object","title":"ProfileUpdateRequest"},"ReportReviewRequest":{"properties":{"status":{"type":"string","title":"Status"},"admin_notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Admin Notes"}},"type":"object","required":["status"],"title":"ReportReviewRequest"},"ResetPasswordRequest":{"properties":{"token":{"type":"string","title":"Token"},"new_password":{"type":"string","title":"New Password"}},"type":"object","required":["token","new_password"],"title":"ResetPasswordRequest"},"SendMessageRequest":{"properties":{"content":{"type":"string","title":"Content"},"model":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Model"},"stream":{"type":"boolean","title":"Stream","default":true}},"type":"object","required":["content"],"title":"SendMessageRequest"},"TTSRequest":{"properties":{"text":{"type":"string","title":"Text"},"reference_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reference Id"},"format":{"type":"string","title":"Format","default":"mp3"}},"type":"object","required":["text"],"title":"TTSRequest"},"TokenRequest":{"properties":{"token":{"type":"string","title":"Token"}},"type":"object","required":["token"],"title":"TokenRequest"},"UpdateCharacterRequest":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"avatar_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Avatar Url"},"personality":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Personality"},"scenario":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scenario"},"first_message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"First Message"},"system_prompt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"System Prompt"},"tags":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Tags"},"is_public":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Public"}},"type":"object","title":"UpdateCharacterRequest"},"UpdateProfileRequest":{"properties":{"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"type":"object","title":"UpdateProfileRequest"},"UserUpdateRequest":{"properties":{"role":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Role"},"tier_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tier Name"},"is_active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Is Active"},"email_verified":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Email Verified"}},"type":"object","title":"UserUpdateRequest"},"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"},"VoiceCloneRequest":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description","default":""},"reference_audio_path":{"type":"string","title":"Reference Audio Path"}},"type":"object","required":["name","reference_audio_path"],"title":"VoiceCloneRequest"},"backend__api__auth__RegisterRequest":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"username":{"type":"string","title":"Username"},"password":{"type":"string","title":"Password"}},"type":"object","required":["email","username","password"],"title":"RegisterRequest"},"backend__api__influencer__RegisterRequest":{"properties":{"name":{"type":"string","maxLength":255,"minLength":2,"title":"Name"},"email":{"type":"string","maxLength":255,"minLength":5,"title":"Email"},"social_media":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Social Media"}},"type":"object","required":["name","email"],"title":"RegisterRequest"}},"securitySchemes":{"OAuth2PasswordBearer":{"type":"oauth2","flows":{"password":{"scopes":{},"tokenUrl":"/api/auth/login"}}},"APIKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}