{"openapi":"3.1.0","info":{"title":"FastAPI","version":"0.1.0"},"servers":[{"url":"/api"}],"paths":{"/pinecone_api/pinecone":{"get":{"tags":["pinecone_api"],"summary":"Get Pinecone","operationId":"get_pinecone_pinecone_api_pinecone_get","parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","title":"Query"}},{"name":"namespace","in":"query","required":false,"schema":{"type":"string","default":"audience_v2_review_phrase_annotation","title":"Namespace"}},{"name":"filter","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Filter"}},{"name":"top_k","in":"query","required":false,"schema":{"type":"integer","default":100,"title":"Top K"}},{"name":"include_values","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Include Values"}},{"name":"include_metadata","in":"query","required":false,"schema":{"type":"boolean","default":true,"title":"Include Metadata"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/langsmith_api/feedback":{"post":{"tags":["langsmith_api"],"summary":"Submit Feedback","operationId":"submit_feedback_langsmith_api_feedback_post","requestBody":{"content":{"application/json":{"schema":{"type":"object","title":"Json Data"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts":{"post":{"tags":["prompts"],"summary":"Create Prompt","description":"Create a new prompt.","operationId":"create_prompt_prompts_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["prompts"],"summary":"List Prompts","description":"List prompts for a user with visibility permissions.","operationId":"list_prompts_prompts_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":100,"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"}}}}}}},"/prompts/analytics/popular":{"get":{"tags":["prompts"],"summary":"Get Popular Prompts","description":"Get most popular prompts by views or shares.","operationId":"get_popular_prompts_prompts_analytics_popular_get","parameters":[{"name":"metric","in":"query","required":false,"schema":{"type":"string","default":"views","title":"Metric"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string","default":"all","title":"Scope"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}},{"name":"limit","in":"query","required":false,"schema":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/{prompt_id}/analytics":{"get":{"tags":["prompts"],"summary":"Get Prompt Metrics","description":"Get aggregated metrics for a specific prompt.","operationId":"get_prompt_metrics_prompts__prompt_id__analytics_get","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/{prompt_id}/events":{"post":{"tags":["prompts"],"summary":"Track Prompt Event","description":"Track a prompt view or share event.","operationId":"track_prompt_event_prompts__prompt_id__events_post","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PromptEvent"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/{prompt_id}/clone":{"post":{"tags":["prompts"],"summary":"Clone Prompt","description":"Clone a prompt for the requesting user.","operationId":"clone_prompt_prompts__prompt_id__clone_post","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/prompts/{prompt_id}":{"put":{"tags":["prompts"],"summary":"Update Prompt","description":"Update an existing prompt.","operationId":"update_prompt_prompts__prompt_id__put","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Prompt"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["prompts"],"summary":"Get Prompt","description":"Get a prompt by ID.","operationId":"get_prompt_prompts__prompt_id__get","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["prompts"],"summary":"Delete Prompt","description":"Delete a prompt (only owner can delete).","operationId":"delete_prompt_prompts__prompt_id__delete","parameters":[{"name":"prompt_id","in":"path","required":true,"schema":{"type":"string","title":"Prompt Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/siren/schedules":{"post":{"tags":["siren"],"summary":"Create Schedule","description":"Create a Siren schedule for an existing library prompt or inline prompt text.","operationId":"create_schedule_siren_schedules_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SirenScheduleCreate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["siren"],"summary":"List Schedules","description":"List the caller's Siren schedules with their library prompt details.\n\nPass ``prompt_id`` to fetch the schedule(s) for one prompt (the library\ncard lookup); omit it to list all (e.g. to badge a whole grid in one call).","operationId":"list_schedules_siren_schedules_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"prompt_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompt Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/siren/schedules/{schedule_id}":{"get":{"tags":["siren"],"summary":"Get Schedule","description":"Get a Siren schedule with its library prompt details.","operationId":"get_schedule_siren_schedules__schedule_id__get","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["siren"],"summary":"Patch Schedule","description":"Partially update schedule fields (cron, timezone, status, notifications, context).","operationId":"patch_schedule_siren_schedules__schedule_id__patch","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SirenSchedulePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["siren"],"summary":"Delete Schedule","description":"Soft-delete a Siren schedule.","operationId":"delete_schedule_siren_schedules__schedule_id__delete","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/siren/schedules/{schedule_id}/run-next":{"post":{"tags":["siren"],"summary":"Run Next","description":"Request a run in the next available scheduler slot.","operationId":"run_next_siren_schedules__schedule_id__run_next_post","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/siren/schedules/{schedule_id}/runs":{"get":{"tags":["siren"],"summary":"List Runs","description":"List run history for a schedule (successes and failures).","operationId":"list_runs_siren_schedules__schedule_id__runs_get","parameters":[{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":50,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/internal/siren/run-due":{"post":{"tags":["siren-internal"],"summary":"Run Due","description":"Claim due schedules and start background executions; returns immediately.","operationId":"run_due_internal_siren_run_due_post","parameters":[{"name":"X-Internal-Scheduler-Secret","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Internal-Scheduler-Secret"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/SirenRunDueRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/images/{asset_id}":{"get":{"tags":["images"],"summary":"Get Generated Image","operationId":"get_generated_image_images__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["images"],"summary":"Get Generated Image","operationId":"get_generated_image_images__asset_id__get","parameters":[{"name":"asset_id","in":"path","required":true,"schema":{"type":"string","title":"Asset Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session-documents/upload":{"post":{"tags":["session_documents"],"summary":"Upload Session Documents","operationId":"upload_session_documents_session_documents_upload_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_session_documents_session_documents_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session-documents":{"get":{"tags":["session_documents"],"summary":"List Session Documents","operationId":"list_session_documents_session_documents_get","parameters":[{"name":"session_token","in":"query","required":true,"schema":{"type":"string","title":"Session Token"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session-documents/sessions/{session_token}":{"get":{"tags":["session_documents"],"summary":"Get Session Documents","operationId":"get_session_documents_session_documents_sessions__session_token__get","parameters":[{"name":"session_token","in":"path","required":true,"schema":{"type":"string","title":"Session Token"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session-documents/{doc_id}/status":{"get":{"tags":["session_documents"],"summary":"Get Session Document Status","operationId":"get_session_document_status_session_documents__doc_id__status_get","parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/session-documents/{doc_id}":{"delete":{"tags":["session_documents"],"summary":"Delete Uploaded Session Document","operationId":"delete_uploaded_session_document_session_documents__doc_id__delete","parameters":[{"name":"doc_id","in":"path","required":true,"schema":{"type":"string","title":"Doc Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/logos/upload":{"post":{"tags":["brand_assets"],"summary":"Upload Logos","operationId":"upload_logos_brand_assets_logos_upload_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_logos_brand_assets_logos_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/logos":{"get":{"tags":["brand_assets"],"summary":"List Logos","operationId":"list_logos_brand_assets_logos_get","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/logos/{logo_id}/image":{"get":{"tags":["brand_assets"],"summary":"Get Logo Image","operationId":"get_logo_image_brand_assets_logos__logo_id__image_get","parameters":[{"name":"logo_id","in":"path","required":true,"schema":{"type":"string","title":"Logo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["brand_assets"],"summary":"Get Logo Image","operationId":"get_logo_image_brand_assets_logos__logo_id__image_get","parameters":[{"name":"logo_id","in":"path","required":true,"schema":{"type":"string","title":"Logo Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/logos/{logo_id}":{"patch":{"tags":["brand_assets"],"summary":"Patch Logo","operationId":"patch_logo_brand_assets_logos__logo_id__patch","parameters":[{"name":"logo_id","in":"path","required":true,"schema":{"type":"string","title":"Logo Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LogoPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["brand_assets"],"summary":"Delete Logo Endpoint","operationId":"delete_logo_endpoint_brand_assets_logos__logo_id__delete","parameters":[{"name":"logo_id","in":"path","required":true,"schema":{"type":"string","title":"Logo Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/style-guide/upload":{"post":{"tags":["brand_assets"],"summary":"Upload Style Guide","operationId":"upload_style_guide_brand_assets_style_guide_upload_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_style_guide_brand_assets_style_guide_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/style-guide/url":{"put":{"tags":["brand_assets"],"summary":"Put Style Guide Url","operationId":"put_style_guide_url_brand_assets_style_guide_url_put","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuideUrl"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/style-guide/analyze":{"post":{"tags":["brand_assets"],"summary":"Analyze Style Guide Endpoint","operationId":"analyze_style_guide_endpoint_brand_assets_style_guide_analyze_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuideAnalyzeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/style-guide":{"get":{"tags":["brand_assets"],"summary":"Get Style Guide","operationId":"get_style_guide_brand_assets_style_guide_get","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["brand_assets"],"summary":"Patch Style Guide","operationId":"patch_style_guide_brand_assets_style_guide_patch","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GuidePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["brand_assets"],"summary":"Delete Style Guide Endpoint","operationId":"delete_style_guide_endpoint_brand_assets_style_guide_delete","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/style-guide/{guide_id}/file":{"get":{"tags":["brand_assets"],"summary":"Get Style Guide File","operationId":"get_style_guide_file_brand_assets_style_guide__guide_id__file_get","parameters":[{"name":"guide_id","in":"path","required":true,"schema":{"type":"string","title":"Guide Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["brand_assets"],"summary":"Get Style Guide File","operationId":"get_style_guide_file_brand_assets_style_guide__guide_id__file_get","parameters":[{"name":"guide_id","in":"path","required":true,"schema":{"type":"string","title":"Guide Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/colors":{"get":{"tags":["brand_assets"],"summary":"List Colors","operationId":"list_colors_brand_assets_colors_get","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["brand_assets"],"summary":"Create Color","operationId":"create_color_brand_assets_colors_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/colors/{color_id}":{"patch":{"tags":["brand_assets"],"summary":"Patch Color","operationId":"patch_color_brand_assets_colors__color_id__patch","parameters":[{"name":"color_id","in":"path","required":true,"schema":{"type":"string","title":"Color Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ColorPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["brand_assets"],"summary":"Delete Color Endpoint","operationId":"delete_color_endpoint_brand_assets_colors__color_id__delete","parameters":[{"name":"color_id","in":"path","required":true,"schema":{"type":"string","title":"Color Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/messaging":{"get":{"tags":["brand_assets"],"summary":"Get Messaging","operationId":"get_messaging_brand_assets_messaging_get","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["brand_assets"],"summary":"Patch Messaging","operationId":"patch_messaging_brand_assets_messaging_patch","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/messaging/generate":{"post":{"tags":["brand_assets"],"summary":"Generate Messaging","operationId":"generate_messaging_brand_assets_messaging_generate_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_generate_messaging_brand_assets_messaging_generate_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/messaging/apply-generated":{"post":{"tags":["brand_assets"],"summary":"Apply Generated Messaging","operationId":"apply_generated_messaging_brand_assets_messaging_apply_generated_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessagingApplyGenerated"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/fonts/upload":{"post":{"tags":["brand_assets"],"summary":"Upload Fonts","operationId":"upload_fonts_brand_assets_fonts_upload_post","parameters":[{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"$ref":"#/components/schemas/Body_upload_fonts_brand_assets_fonts_upload_post"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/fonts":{"get":{"tags":["brand_assets"],"summary":"List Fonts","operationId":"list_fonts_brand_assets_fonts_get","parameters":[{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/fonts/{font_id}/file":{"get":{"tags":["brand_assets"],"summary":"Get Font File","operationId":"get_font_file_brand_assets_fonts__font_id__file_get","parameters":[{"name":"font_id","in":"path","required":true,"schema":{"type":"string","title":"Font Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"head":{"tags":["brand_assets"],"summary":"Get Font File","operationId":"get_font_file_brand_assets_fonts__font_id__file_get","parameters":[{"name":"font_id","in":"path","required":true,"schema":{"type":"string","title":"Font Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/brand-assets/fonts/{font_id}":{"delete":{"tags":["brand_assets"],"summary":"Delete Font Endpoint","operationId":"delete_font_endpoint_brand_assets_fonts__font_id__delete","parameters":[{"name":"font_id","in":"path","required":true,"schema":{"type":"string","title":"Font Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/oauth/google/start":{"post":{"tags":["mcp"],"summary":"Oauth Start Google","operationId":"oauth_start_google_mcp_oauth_google_start_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthStartRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/oauth/google/callback":{"get":{"tags":["mcp"],"summary":"Oauth Callback Google","operationId":"oauth_callback_google_mcp_oauth_google_callback_get","parameters":[{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/connect":{"post":{"tags":["mcp"],"summary":"Connect Mcp","operationId":"connect_mcp_mcp_connect_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipedream/mcp_accounts":{"get":{"tags":["pipedream"],"summary":"Get Mcp Accounts","description":"Get accounts for all users from Pipedream Connect API and store them in MCP manager.\nThis endpoint fetches all user accounts and caches them for MCP server management.","operationId":"get_mcp_accounts_pipedream_mcp_accounts_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pipedream/accounts":{"get":{"tags":["pipedream"],"summary":"List Accounts","description":"List all Pipedream Connect accounts for a user.","operationId":"list_accounts_pipedream_accounts_get","parameters":[{"name":"external_user_id","in":"query","required":false,"schema":{"type":"string","title":"External User Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipedream/accounts/all":{"get":{"tags":["pipedream"],"summary":"List All Accounts","description":"List all stored accounts for all users (admin endpoint).","operationId":"list_all_accounts_pipedream_accounts_all_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/pipedream/connect_token":{"post":{"tags":["pipedream"],"summary":"Create Connect Token","operationId":"create_connect_token_pipedream_connect_token_post","parameters":[{"name":"x-request-token","in":"header","required":false,"schema":{"type":"string","title":"X-Request-Token"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConnectTokenRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipedream/servers":{"get":{"tags":["pipedream"],"summary":"List User Servers","description":"List all MCP servers and their tools for a specific user.\nReturns servers that belong to the user based on their Pipedream accounts.","operationId":"list_user_servers_pipedream_servers_get","parameters":[{"name":"external_user_id","in":"query","required":false,"schema":{"type":"string","title":"External User Id"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipedream/servers/{server_name}/{app_name}":{"delete":{"tags":["pipedream"],"summary":"Unregister Mcp Server","description":"Unregister/remove an MCP server from a user's account.\nOnly allows removing servers that belong to the authenticated user.\nDeletes the corresponding accounts from Pipedream Connect API.","operationId":"unregister_mcp_server_pipedream_servers__server_name___app_name__delete","parameters":[{"name":"server_name","in":"path","required":true,"schema":{"type":"string","title":"Server Name"}},{"name":"app_name","in":"path","required":true,"schema":{"type":"string","title":"App Name"}},{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}},{"name":"x-account-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Account-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/pipedream/register_mcp":{"post":{"tags":["pipedream"],"summary":"Register Mcp Server","description":"Optional helper to register a Pipedream-backed MCP server once a connection succeeds.\nExpects JSON: { \"provider\": \"google_drive\" | \"google_sheets\" | \"google_docs\" | \"microsoft_onedrive\" | \"hubspot\" | ..., \"sessionToken\": \"...\" }\nSupported providers are listed in PIPEDREAM_SUPPORTED_APPS.","operationId":"register_mcp_server_pipedream_register_mcp_post","parameters":[{"name":"x-user-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-User-Id"}},{"name":"x-account-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Account-Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers":{"get":{"tags":["oauth_providers"],"summary":"List Providers","description":"List all supported OAuth providers.","operationId":"list_providers_auth_providers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/auth/providers/{provider}/authorize":{"post":{"tags":["oauth_providers"],"summary":"Authorize Provider","description":"Initiate OAuth authorization flow for a provider.\n\nSteps:\n1. Validate provider is supported\n2. Generate OAuth state and PKCE parameters\n3. Create PENDING connection in PostgreSQL\n4. Store state in memcached for callback validation\n5. Return OAuth authorization URL\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    request: Authorization request with user_id\n\nReturns:\n    JSON with auth_url to redirect user to","operationId":"authorize_provider_auth_providers__provider__authorize_post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizeRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/callback":{"get":{"tags":["oauth_providers"],"summary":"Oauth Callback","description":"Handle OAuth callback from provider.\n\nSteps:\n1. Validate state parameter\n2. Handle any OAuth errors\n3. Exchange authorization code for tokens\n4. Store encrypted credentials in PostgreSQL\n5. Update connection status to CONNECTED\n6. Redirect to success page\n\nArgs:\n    provider: Provider name\n    code: Authorization code from provider\n    state: State parameter for validation\n    error: Optional error from provider\n    error_description: Optional error description\n\nReturns:\n    HTML success page or redirect","operationId":"oauth_callback_auth_providers__provider__callback_get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"code","in":"query","required":true,"schema":{"type":"string","title":"Code"}},{"name":"state","in":"query","required":true,"schema":{"type":"string","title":"State"}},{"name":"error","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error"}},{"name":"error_description","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Error Description"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/status":{"get":{"tags":["oauth_providers"],"summary":"Check Oauth Status","description":"Check if user has completed OAuth for a provider.\n\nThis is used by frontend to determine if OAuth popup is needed.\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    user_id: User identifier\n\nReturns:\n    { \"connected\": true/false, \"connection_id\": \"...\", \"created_at\": \"...\" }","operationId":"check_oauth_status_auth_providers__provider__status_get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/disconnect":{"delete":{"tags":["oauth_providers"],"summary":"Disconnect Provider","description":"Disconnect a provider for a user.\n\nArgs:\n    provider: Provider name\n    user_id: User identifier\n\nReturns:\n    Success message","operationId":"disconnect_provider_auth_providers__provider__disconnect_delete","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/status/all":{"get":{"tags":["oauth_providers"],"summary":"Get All Provider Status","description":"Get connection status for all providers for a user.\n\nArgs:\n    user_id: User identifier\n\nReturns:\n    List of provider connection statuses","operationId":"get_all_provider_status_auth_providers_status_all_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/servers":{"get":{"tags":["oauth_providers"],"summary":"List Provider Servers","description":"List all available MCP servers for a user, including both connected and unconnected.\n\nThis endpoint returns all MCP apps that are available through OAuth providers\n(like Google Drive, Sheets, Docs) AND Pipedream apps, showing which ones are\nconnected and enabled. This allows the frontend to display \"Connect\" buttons\nfor unconnected services.\n\nArgs:\n    user_id: User identifier\n    account_id: Optional account identifier for LaunchDarkly targeting\n\nReturns:\n    Array of server objects with provider, app_id, connected status, enabled status, etc.","operationId":"list_provider_servers_auth_providers_servers_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/servers/{service}":{"get":{"tags":["oauth_providers"],"summary":"Get Provider Server","description":"Retrieve a specific MCP service for a user.\n\nThis endpoint returns details for a single MCP service formatted the same way\nas items in the list_provider_servers list. Useful for checking the status\nof a specific service after enabling/disabling or for focused UI updates.\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    service: Service/app identifier (e.g., \"drive\", \"google_drive\", \"sheets\", etc.)\n    user_id: User identifier\n\nReturns:\n    Single server object with provider, app_id, connected status, enabled status, etc.","operationId":"get_provider_server_auth_providers__provider__servers__service__get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"service","in":"path","required":true,"schema":{"type":"string","title":"Service"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/register":{"post":{"tags":["oauth_providers"],"summary":"Register Mcp Server","description":"Register MCP server for a provider after OAuth is complete.\n\nThis is the second step after OAuth authorization:\n1. OAuth authorization completes → credentials stored\n2. This endpoint → MCP server registered with agent runtime\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    request: Registration request with user_id\n\nReturns:\n    List of registered MCP servers in format expected by client","operationId":"register_mcp_server_auth_providers__provider__register_post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RegisterMCPRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/servers/{service}/disable":{"put":{"tags":["oauth_providers"],"summary":"Disable Mcp Service","description":"Disable a specific MCP service for a user.\n\nThis removes the service's tools from the agent context without\ndeleting OAuth tokens or unregistering the connection.\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    service: App ID or service name (google_sheets, sheets, etc.)\n    user_id: User identifier\n\nReturns:\n    Full list of provider servers with updated enabled/disabled status","operationId":"disable_mcp_service_auth_providers__provider__servers__service__disable_put","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"service","in":"path","required":true,"schema":{"type":"string","title":"Service"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/{provider}/servers/{service}/enable":{"put":{"tags":["oauth_providers"],"summary":"Enable Mcp Service","description":"Re-enable a previously disabled MCP service.\n\nThis re-registers the MCP server and makes its tools available to the agent.\n\nArgs:\n    provider: Provider name (google, microsoft, etc.)\n    service: App ID or service name (google_sheets, sheets, etc.)\n    user_id: User identifier\n\nReturns:\n    Full list of provider servers with updated enabled/disabled status","operationId":"enable_mcp_service_auth_providers__provider__servers__service__enable_put","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"service","in":"path","required":true,"schema":{"type":"string","title":"Service"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/mcp/servers":{"get":{"tags":["oauth_providers"],"summary":"List Mcp Servers","description":"List all MCP servers registered for a user.\n\nThis endpoint returns all MCP servers that have been registered via OAuth,\nincluding their connection status, tool counts, and metadata.\n\nArgs:\n    user_id: User identifier\n\nReturns:\n    List of MCP server details with OAuth provider information","operationId":"list_mcp_servers_auth_providers_mcp_servers_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/mcp/servers/{server_name}":{"get":{"tags":["oauth_providers"],"summary":"Get Mcp Server","description":"Get details for a specific MCP server.\n\nArgs:\n    server_name: Name of the MCP server\n    user_id: User identifier (for authorization)\n\nReturns:\n    Detailed server information including tools","operationId":"get_mcp_server_auth_providers_mcp_servers__server_name__get","parameters":[{"name":"server_name","in":"path","required":true,"schema":{"type":"string","title":"Server Name"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["oauth_providers"],"summary":"Remove Mcp Server","description":"Remove/unregister an MCP server.\n\nThis only removes the MCP server registration from memory.\nThe OAuth connection remains active in the database.\nTo fully disconnect, use DELETE /auth/providers/{provider}/disconnect\n\nArgs:\n    server_name: Name of the MCP server to remove\n    user_id: User identifier (for authorization)\n\nReturns:\n    Formatted list of remaining active servers (same format as GET /mcp/servers)","operationId":"remove_mcp_server_auth_providers_mcp_servers__server_name__delete","parameters":[{"name":"server_name","in":"path","required":true,"schema":{"type":"string","title":"Server Name"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/mcp/servers/{server_name}/refresh":{"post":{"tags":["oauth_providers"],"summary":"Refresh Mcp Server","description":"Refresh an MCP server's tools and update its token if needed.\n\nThis is useful when:\n- Tools have been added/removed from the MCP server\n- OAuth token has been refreshed\n- Server needs to be re-initialized\n\nArgs:\n    server_name: Name of the MCP server to refresh\n    user_id: User identifier (for authorization)\n\nReturns:\n    Updated server information","operationId":"refresh_mcp_server_auth_providers_mcp_servers__server_name__refresh_post","parameters":[{"name":"server_name","in":"path","required":true,"schema":{"type":"string","title":"Server Name"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/auth/providers/mcp/stats":{"get":{"tags":["oauth_providers"],"summary":"Get Mcp Stats","description":"Get MCP usage statistics for a user.\n\nArgs:\n    user_id: User identifier\n\nReturns:\n    Statistics about MCP servers and tools","operationId":"get_mcp_stats_auth_providers_mcp_stats_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/{provider}/{app}/messages":{"post":{"tags":["mock_mcp"],"summary":"Mcp Messages Endpoint","description":"Mock MCP server endpoint that handles messages.\n\nThis is a simplified implementation that responds to tool list requests.\nIn a real MCP server, this would handle the full JSON-RPC protocol.","operationId":"mcp_messages_endpoint_mcp__provider___app__messages_post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"X-Provider","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Provider"}},{"name":"X-App","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-App"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/{provider}/{app}/tools":{"get":{"tags":["mock_mcp"],"summary":"List Tools","description":"List available tools for this MCP server.\n\nThis is a simplified endpoint for tool discovery.","operationId":"list_tools_mcp__provider___app__tools_get","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/{provider}/{app}/tools/call":{"post":{"tags":["mock_mcp"],"summary":"Call Tool","description":"Execute a tool call.\n\nReturns mock responses for testing.","operationId":"call_tool_mcp__provider___app__tools_call_post","parameters":[{"name":"provider","in":"path","required":true,"schema":{"type":"string","title":"Provider"}},{"name":"app","in":"path","required":true,"schema":{"type":"string","title":"App"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MCPCallToolRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/mcp/health":{"get":{"tags":["mock_mcp"],"summary":"Health Check","description":"Health check endpoint for mock MCP servers.","operationId":"health_check_mcp_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/user_memory":{"get":{"tags":["user_memory"],"summary":"Get User Memory","description":"Return everything we have stored about ``user_id``.","operationId":"get_user_memory_user_memory_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Get User Memory User Memory Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["user_memory"],"summary":"Remember User Memory","description":"Guaranteed explicit memory write used by \"remember X\" UI actions.","operationId":"remember_user_memory_user_memory_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RememberRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Remember User Memory User Memory Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["user_memory"],"summary":"Delete User Memory","description":"Delete one explicit phrase when a body is supplied, otherwise wipe all.\n\nThe legacy query-only shape ``DELETE /user_memory?user_id=...`` still\nremoves every stored record. A JSON body with ``phrase`` or ``key`` uses the\nnew explicit forget matcher instead.","operationId":"delete_user_memory_user_memory_delete","parameters":[{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"}}],"requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ForgetRequest"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Delete User Memory User Memory Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/saved_items":{"get":{"tags":["user_memory"],"summary":"List Saved Memory Items","description":"List saved memory records by bucket for UI management.\n\nBucket names match the delete route's ``kind`` path parameter, so the UI\ncan pass an item's bucket name and key directly to ``DELETE /user_memory/{kind}/{key}``.\nWhen ``conversationId`` is provided, the payload is emitted to the Socket.IO\nroom named by that conversation and the HTTP response is only an acknowledgement.","operationId":"list_saved_memory_items_user_memory_saved_items_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"conversationId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"uuid"},{"type":"null"}],"title":"Conversationid"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response List Saved Memory Items User Memory Saved Items Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/forget":{"post":{"tags":["user_memory"],"summary":"Forget User Memory","description":"Guaranteed explicit memory delete used by \"forget X\" UI actions.","operationId":"forget_user_memory_user_memory_forget_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForgetRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Forget User Memory User Memory Forget Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/profile":{"patch":{"tags":["user_memory"],"summary":"Patch Profile","description":"Merge ``patch`` into the existing profile record.\n\nCreates the profile if none exists. Fields set to ``None`` on the patch\nleave the existing value untouched; callers must send an explicit empty\nlist to clear a list field. Shares the per-user write lock with the\nexplicit API and ambient extractor so the single profile row is never\nclobbered by a concurrent writer.","operationId":"patch_profile_user_memory_profile_patch","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfilePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Patch Profile User Memory Profile Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/{kind}/{key}/strength":{"patch":{"tags":["user_memory"],"summary":"Patch Memory Strength","description":"Update a collection memory record's strength by bucket and key.\n\nStrength is only meaningful on collection buckets. Profile has no strength,\nso callers should use ``PATCH /user_memory/profile`` for profile updates.","operationId":"patch_memory_strength_user_memory__kind___key__strength_patch","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["profile","topic_interests","task_patterns","semantic_facts"],"type":"string","title":"Kind"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StrengthPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Patch Memory Strength User Memory  Kind   Key  Strength Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/{kind}/{key}/disabled":{"patch":{"tags":["user_memory"],"summary":"Patch Memory Disabled","description":"Disable or re-enable a saved memory entry by bucket and key.","operationId":"patch_memory_disabled_user_memory__kind___key__disabled_patch","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["profile","topic_interests","task_patterns","semantic_facts"],"type":"string","title":"Kind"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryDisablePatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Patch Memory Disabled User Memory  Kind   Key  Disabled Patch"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/{kind}/{key}":{"delete":{"tags":["user_memory"],"summary":"Delete Memory Entry","description":"Delete a single stored record by namespace ``kind`` and record ``key``.","operationId":"delete_memory_entry_user_memory__kind___key__delete","parameters":[{"name":"kind","in":"path","required":true,"schema":{"enum":["profile","topic_interests","task_patterns","semantic_facts"],"type":"string","title":"Kind"}},{"name":"key","in":"path","required":true,"schema":{"type":"string","title":"Key"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Delete Memory Entry User Memory  Kind   Key  Delete"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user_memory/admin/by_bucket":{"get":{"tags":["user_memory"],"summary":"Admin Memories By Bucket","description":"List memories across all users in one bucket, sorted by strength desc.\n\nGated by an external API token whose row carries\n``metadata.is_memories_admin = true``. Tokens without the metadata bit get\nan empty list (with ``admin_enabled=false``) so unauthorized callers cannot\nenumerate which tokens are admins.","operationId":"admin_memories_by_bucket_user_memory_admin_by_bucket_get","parameters":[{"name":"bucket","in":"query","required":true,"schema":{"enum":["topic_interests","task_patterns","semantic_facts","profile"],"type":"string","description":"Memory bucket to list across all users.","title":"Bucket"},"description":"Memory bucket to list across all users."},{"name":"min_strength","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"description":"Lower bound on record strength (inclusive).","title":"Min Strength"},"description":"Lower bound on record strength (inclusive)."},{"name":"max_strength","in":"query","required":false,"schema":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"description":"Upper bound on record strength (inclusive).","title":"Max Strength"},"description":"Upper bound on record strength (inclusive)."},{"name":"created_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only return records created at or after this ISO timestamp.","title":"Created After"},"description":"Only return records created at or after this ISO timestamp."},{"name":"updated_after","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"Only return records updated at or after this ISO timestamp.","title":"Updated After"},"description":"Only return records updated at or after this ISO timestamp."},{"name":"user_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Restrict to a single user.","title":"User Id"},"description":"Restrict to a single user."},{"name":"include_disabled","in":"query","required":false,"schema":{"type":"boolean","description":"Include records marked disabled.","default":false,"title":"Include Disabled"},"description":"Include records marked disabled."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":200,"title":"Limit"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Offset"}},{"name":"Authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","title":"Response Admin Memories By Bucket User Memory Admin By Bucket Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_message_history":{"get":{"summary":"Get Message History","operationId":"get_message_history_get_message_history_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_message_history_v2":{"get":{"summary":"Get Normalized Message History","operationId":"get_normalized_message_history_get_message_history_v2_get","parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","title":"Token"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{},"title":"Response Get Normalized Message History Get Message History V2 Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_all_conversation_history":{"get":{"summary":"Get All Conversation History","operationId":"get_all_conversation_history_get_all_conversation_history_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/get_conversation_history_summary":{"get":{"summary":"Get Conversation History Summary","operationId":"get_conversation_history_summary_get_conversation_history_summary_get","parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"offset","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Offset"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/upsert_widget_data":{"put":{"summary":"Update Widget Data","operationId":"update_widget_data_upsert_widget_data_put","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WidgetDataUpdate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/delete_conversation":{"delete":{"summary":"Delete Conversation","operationId":"delete_conversation_delete_conversation_delete","parameters":[{"name":"thread_id","in":"query","required":true,"schema":{"type":"string","title":"Thread Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/rename_conversation":{"put":{"summary":"Rename Conversation","operationId":"rename_conversation_rename_conversation_put","parameters":[{"name":"thread_id","in":"query","required":true,"schema":{"type":"string","title":"Thread Id"}},{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}},{"name":"account_id","in":"query","required":true,"schema":{"type":"string","title":"Account Id"}},{"name":"new_title","in":"query","required":true,"schema":{"type":"string","title":"New Title"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"AuthorizeRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"redirect_uri":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Redirect Uri"},"state_metadata":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"State Metadata"},"service":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service"}},"type":"object","required":["user_id"],"title":"AuthorizeRequest","description":"Request to initiate OAuth authorization."},"Body_generate_messaging_brand_assets_messaging_generate_post":{"properties":{"account_id":{"type":"string","title":"Account Id"},"source":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source"},"brand_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Brand Name"},"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files","default":[]}},"type":"object","required":["account_id"],"title":"Body_generate_messaging_brand_assets_messaging_generate_post"},"Body_upload_fonts_brand_assets_fonts_upload_post":{"properties":{"account_id":{"type":"string","title":"Account Id"},"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["account_id","files"],"title":"Body_upload_fonts_brand_assets_fonts_upload_post"},"Body_upload_logos_brand_assets_logos_upload_post":{"properties":{"account_id":{"type":"string","title":"Account Id"},"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["account_id","files"],"title":"Body_upload_logos_brand_assets_logos_upload_post"},"Body_upload_session_documents_session_documents_upload_post":{"properties":{"session_token":{"type":"string","title":"Session Token"},"user_id":{"type":"string","title":"User Id"},"account_id":{"type":"string","title":"Account Id"},"files":{"items":{"type":"string","format":"binary"},"type":"array","title":"Files"}},"type":"object","required":["session_token","user_id","account_id","files"],"title":"Body_upload_session_documents_session_documents_upload_post"},"Body_upload_style_guide_brand_assets_style_guide_upload_post":{"properties":{"account_id":{"type":"string","title":"Account Id"},"file":{"type":"string","format":"binary","title":"File"}},"type":"object","required":["account_id","file"],"title":"Body_upload_style_guide_brand_assets_style_guide_upload_post"},"ColorCreate":{"properties":{"account_id":{"type":"string","title":"Account Id"},"hex":{"type":"string","title":"Hex"},"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["account_id","hex"],"title":"ColorCreate"},"ColorPatch":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"}},"additionalProperties":false,"type":"object","required":["name"],"title":"ColorPatch"},"ConnectRequest":{"properties":{"sessionToken":{"type":"string","title":"Sessiontoken"},"provider":{"type":"string","title":"Provider"},"server_config":{"$ref":"#/components/schemas/ServerConfig"},"user_id":{"type":"string","title":"User Id"},"account_id":{"type":"string","title":"Account Id"}},"type":"object","required":["sessionToken","provider","server_config","user_id","account_id"],"title":"ConnectRequest"},"ConnectTokenRequest":{"properties":{"external_user_id":{"type":"string","title":"External User Id"},"app":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"App"},"session_token":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Session Token"}},"type":"object","required":["external_user_id"],"title":"ConnectTokenRequest"},"ForgetRequest":{"properties":{"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"phrase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Phrase"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"memory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory"},"key":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Key"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"}},"type":"object","title":"ForgetRequest","description":"Natural-language memory delete payload.\n\n``phrase`` is the preferred field; ``text``/``memory`` are accepted as\naliases so clients can reuse the same command payload shape as remember."},"GuideAnalyzeRequest":{"properties":{"account_id":{"type":"string","title":"Account Id"},"source":{"anyOf":[{"type":"string","enum":["document","url"]},{"type":"null"}],"title":"Source"}},"type":"object","required":["account_id"],"title":"GuideAnalyzeRequest"},"GuidePatch":{"properties":{"account_id":{"type":"string","title":"Account Id"},"content":{"type":"string","title":"Content"}},"type":"object","required":["account_id","content"],"title":"GuidePatch"},"GuideUrl":{"properties":{"account_id":{"type":"string","title":"Account Id"},"url":{"type":"string","title":"Url"}},"type":"object","required":["account_id","url"],"title":"GuideUrl"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LogoPatch":{"properties":{"description":{"type":"string","title":"Description"}},"type":"object","required":["description"],"title":"LogoPatch"},"MCPCallToolRequest":{"properties":{"name":{"type":"string","title":"Name"},"arguments":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Arguments"}},"type":"object","required":["name"],"title":"MCPCallToolRequest","description":"MCP call_tool request format."},"MemoryDisablePatch":{"properties":{"disabled":{"type":"boolean","title":"Disabled","description":"True to disable this memory entry, false to re-enable it"}},"type":"object","required":["disabled"],"title":"MemoryDisablePatch","description":"Update payload for enabling/disabling one saved memory entry."},"MessagingApplyGenerated":{"properties":{"account_id":{"type":"string","title":"Account Id"}},"type":"object","required":["account_id"],"title":"MessagingApplyGenerated"},"MessagingPatch":{"properties":{"account_id":{"type":"string","title":"Account Id"},"content":{"type":"string","title":"Content"}},"type":"object","required":["account_id","content"],"title":"MessagingPatch"},"OAuthStartRequest":{"properties":{"sessionToken":{"type":"string","title":"Sessiontoken"},"redirectUri":{"type":"string","title":"Redirecturi"},"user_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"User Id"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},"type":"object","required":["sessionToken","redirectUri"],"title":"OAuthStartRequest"},"ProfilePatch":{"properties":{"preferred_tone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Tone"},"preferred_verbosity":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Preferred Verbosity"},"preferred_formats":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Preferred Formats"},"recurring_domains":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Recurring Domains"},"assistant_notes":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Assistant Notes"}},"type":"object","title":"ProfilePatch","description":"Partial update payload for the stored profile document."},"Prompt":{"properties":{"title":{"type":"string","title":"Title"},"visibility":{"type":"string","enum":["only-me","my-account","everybody"],"title":"Visibility"},"prompt":{"type":"string","title":"Prompt"},"marketingLifecycle":{"type":"string","title":"Marketinglifecycle"},"type":{"items":{"type":"string"},"type":"array","title":"Type"},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"customInstructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custominstructions"},"userId":{"type":"string","title":"Userid"},"accountId":{"type":"string","title":"Accountid"}},"type":"object","required":["title","visibility","prompt","marketingLifecycle","type","userId","accountId"],"title":"Prompt"},"PromptEvent":{"properties":{"eventType":{"type":"string","enum":["views","share"],"title":"Eventtype"},"userId":{"type":"string","title":"Userid"},"accountId":{"type":"string","title":"Accountid"}},"type":"object","required":["eventType","userId","accountId"],"title":"PromptEvent"},"RegisterMCPRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"provider":{"type":"string","title":"Provider"},"service":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Service"},"account_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account Id"}},"type":"object","required":["user_id","provider"],"title":"RegisterMCPRequest","description":"Request to register MCP server for a provider."},"RememberRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"memory":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Memory"},"thread_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Thread Id"}},"type":"object","required":["user_id"],"title":"RememberRequest","description":"Natural-language memory write payload.\n\n``memory`` matches the current UI client. ``text`` matches the explicit API\nhandoff. Supporting both lets frontend and backend migrate independently."},"ServerConfig":{"properties":{"name":{"type":"string","title":"Name"},"transport":{"type":"string","title":"Transport"},"url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Url"},"timeout":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Timeout","default":30}},"type":"object","required":["name","transport"],"title":"ServerConfig"},"SirenRunDueRequest":{"properties":{"limit":{"type":"integer","title":"Limit","default":10}},"type":"object","title":"SirenRunDueRequest"},"SirenScheduleCreate":{"properties":{"userId":{"type":"string","title":"Userid"},"accountId":{"type":"string","title":"Accountid"},"frequency":{"anyOf":[{"type":"string","enum":["daily","weekly","monthly"]},{"type":"null"}],"title":"Frequency"},"cronExpression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cronexpression"},"timezone":{"type":"string","title":"Timezone","default":"UTC"},"notifyPolicy":{"type":"string","enum":["never","insightful","always"],"title":"Notifypolicy","default":"insightful"},"notificationEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notificationemail"},"promptId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Promptid"},"promptText":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prompttext"},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title"},"marketingLifecycle":{"type":"string","title":"Marketinglifecycle","default":"any"},"type":{"items":{"type":"string"},"type":"array","title":"Type","default":["scheduled"]},"objective":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Objective"},"customInstructions":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Custominstructions"},"guidance":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Guidance"},"potentiallyUsefulContext":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Potentiallyusefulcontext"},"chatContext":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Chatcontext"},"sourceThreadId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcethreadid"},"sourceThreadTs":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sourcethreadts"}},"type":"object","required":["userId","accountId"],"title":"SirenScheduleCreate","description":"Create a Siren schedule, either for an existing library prompt (promptId)\nor by upgrading inline prompt text into the library first (promptText)."},"SirenSchedulePatch":{"properties":{"userId":{"type":"string","title":"Userid"},"accountId":{"type":"string","title":"Accountid"},"frequency":{"anyOf":[{"type":"string","enum":["daily","weekly","monthly"]},{"type":"null"}],"title":"Frequency"},"cronExpression":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cronexpression"},"timezone":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Timezone"},"status":{"anyOf":[{"type":"string","enum":["active","paused"]},{"type":"null"}],"title":"Status"},"notifyPolicy":{"anyOf":[{"type":"string","enum":["never","insightful","always"]},{"type":"null"}],"title":"Notifypolicy"},"notificationEmail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notificationemail"},"guidance":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Guidance"},"potentiallyUsefulContext":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Potentiallyusefulcontext"},"chatContext":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Chatcontext"}},"type":"object","required":["userId","accountId"],"title":"SirenSchedulePatch","description":"Partial update of schedule fields. Omitted fields are left untouched;\nconsumers must use model_dump(exclude_unset=True)."},"StrengthPatch":{"properties":{"strength":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Strength","description":"New memory strength between 0 and 1"}},"type":"object","required":["strength"],"title":"StrengthPatch","description":"Update payload for collection-memory strength."},"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"},"WidgetDataUpdate":{"properties":{"thread_id":{"type":"string","title":"Thread Id"},"thread_ts":{"type":"string","title":"Thread Ts"},"widget_key":{"type":"string","title":"Widget Key"},"widget_value":{"type":"object","title":"Widget Value"}},"type":"object","required":["thread_id","thread_ts","widget_key","widget_value"],"title":"WidgetDataUpdate"}}}}