{"openapi":"3.1.0","info":{"title":"Executive Coach API","description":"Conversational coaching API. Browser endpoints authenticate with `X-Session-Token` (from email sign-in);\nintegrations use `X-Api-Key` on `/api/hooks/inbound`. Human-readable guide: `/docs`.","version":"1.0.0"},"paths":{"/api/health":{"get":{"tags":["Service"],"summary":"Health check","operationId":"health_api_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/config":{"get":{"tags":["Service"],"summary":"Public configuration (coach name, topics, voices)","operationId":"public_config_api_config_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/auth/request":{"post":{"tags":["Authentication"],"summary":"Email a sign-in code","operationId":"auth_request_api_auth_request_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/verify":{"post":{"tags":["Authentication"],"summary":"Exchange a code for a session token","operationId":"auth_verify_api_auth_verify_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/logout":{"post":{"tags":["Authentication"],"summary":"Sign out (revoke this session)","operationId":"auth_logout_api_auth_logout_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/me":{"get":{"tags":["Profile & preferences"],"summary":"Get profile, preferences, memory and commitments","description":"The signed-in leader: profile, preferences, what the coach remembers, and commitments.","operationId":"me_api_me_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","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":["Profile & preferences"],"summary":"Update profile and preferences","operationId":"update_me_api_me_patch","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProfileIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Profile & preferences"],"summary":"Delete my account and data","description":"Delete your account and everything in it (sessions, conversations, memory, team notes, commitments, reminders). Safety flags are kept as a record.","operationId":"delete_me_api_me_delete","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteMeIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/team":{"post":{"tags":["Profile & preferences"],"summary":"Add a team member","description":"Add someone you manage, with their personality and working style, so the coach can tailor advice to them.","operationId":"team_add_api_team_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/team/{tid}":{"put":{"tags":["Profile & preferences"],"summary":"Update a team member","operationId":"team_update_api_team__tid__put","parameters":[{"name":"tid","in":"path","required":true,"schema":{"type":"string","title":"Tid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Profile & preferences"],"summary":"Remove a team member","operationId":"team_delete_api_team__tid__delete","parameters":[{"name":"tid","in":"path","required":true,"schema":{"type":"string","title":"Tid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/me/memory":{"put":{"tags":["Profile & preferences"],"summary":"Replace what the coach remembers","operationId":"set_memory_api_me_memory_put","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemoryIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/commitments":{"post":{"tags":["Commitments & reminders"],"summary":"Add a commitment","description":"Add a commitment yourself (the coach also captures them from conversation and from your coaching plan).","operationId":"add_commitment_api_commitments_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitNew"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/commitments/{cid}":{"patch":{"tags":["Commitments & reminders"],"summary":"Update a commitment (status, text, due date)","description":"Mark a commitment done/dropped/open, rename it, or set its due date.","operationId":"update_commitment_api_commitments__cid__patch","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Commitments & reminders"],"summary":"Delete a commitment","operationId":"delete_commitment_api_commitments__cid__delete","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reminders":{"get":{"tags":["Commitments & reminders"],"summary":"List pending reminders","description":"Your pending reminders, soonest first.","operationId":"list_reminders_api_reminders_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","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":["Commitments & reminders"],"summary":"Email me a reminder (with a calendar file)","description":"Email me a reminder (with a calendar file attached) at a given time. Use for a commitment, a plan action, or anything else.","operationId":"create_reminder_api_reminders_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReminderIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/reminders/{rid}":{"delete":{"tags":["Commitments & reminders"],"summary":"Cancel a reminder","operationId":"cancel_reminder_api_reminders__rid__delete","parameters":[{"name":"rid","in":"path","required":true,"schema":{"type":"string","title":"Rid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations":{"get":{"tags":["Conversations"],"summary":"List conversations","operationId":"conversations_api_conversations_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","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":["Conversations"],"summary":"Start a conversation","operationId":"new_conversation_api_conversations_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{cid}":{"get":{"tags":["Conversations"],"summary":"Get a conversation with its messages","operationId":"get_conversation_api_conversations__cid__get","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Conversations"],"summary":"Delete a conversation","operationId":"delete_conversation_api_conversations__cid__delete","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{cid}/messages":{"post":{"tags":["Conversations"],"summary":"Send a message and get the coach's reply","operationId":"send_message_api_conversations__cid__messages_post","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MessageIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{cid}/rewind":{"post":{"tags":["Conversations"],"summary":"Remove recent messages (stop or edit a prompt)","description":"Remove the messages after the first `keep`. Used by Stop (cancel an unanswered prompt) and Edit (rewrite a sent message).","operationId":"rewind_conversation_api_conversations__cid__rewind_post","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RewindIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{cid}/end":{"post":{"tags":["Conversations"],"summary":"End a session and get the coaching plan","description":"End a session: returns the coaching plan (goal, actions, insights, reflection question). Emails it when the\nleader's `email_plan` preference is `always`; with `ask`, the client offers POST .../email-plan.","operationId":"end_conversation_api_conversations__cid__end_post","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/conversations/{cid}/email-plan":{"post":{"tags":["Conversations"],"summary":"Email the coaching plan","description":"Email this session's coaching plan to the signed-in leader.","operationId":"email_plan_api_conversations__cid__email_plan_post","parameters":[{"name":"cid","in":"path","required":true,"schema":{"type":"string","title":"Cid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/tts":{"post":{"tags":["Voice"],"summary":"Speak a coach reply (text to speech)","operationId":"tts_api_voice_tts_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SpeakIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/stream-url":{"get":{"tags":["Voice"],"summary":"Presigned Amazon Transcribe streaming URL","operationId":"stream_url_api_voice_stream_url_get","parameters":[{"name":"language","in":"query","required":false,"schema":{"type":"string","default":"","title":"Language"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/voice/stt":{"post":{"tags":["Voice"],"summary":"Transcribe an audio upload (speech to text)","operationId":"stt_api_voice_stt_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/hooks/inbound":{"post":{"tags":["Inbound webhooks"],"summary":"Converse on a leader's behalf (inbound webhook)","description":"Hold a coaching conversation on a leader's behalf from another system (integration key required).","operationId":"inbound_api_hooks_inbound_post","parameters":[{"name":"x-api-key","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Api-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/InboundIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/legal":{"get":{"tags":["Service"],"summary":"Privacy policy and terms of use","description":"Privacy policy and terms of use. Public, so they can be read before signing in.","operationId":"legal_api_legal_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/admin/legal":{"get":{"tags":["Admin: safety"],"summary":"Admin Get Legal","description":"The stored text with its {org} and {coach} placeholders intact, for editing.","operationId":"admin_get_legal_api_admin_legal_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"put":{"tags":["Admin: safety"],"summary":"Replace the privacy policy and terms","description":"Replace the privacy policy and terms (use {org} and {coach} as placeholders). Set reviewed=true once your legal team has approved them.","operationId":"admin_set_legal_api_admin_legal_put","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegalIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/me/export":{"get":{"tags":["Profile & preferences"],"summary":"Download all of my data","description":"Everything stored about you, as JSON: profile, preferences, memory, team notes, commitments, reminders and every conversation.","operationId":"export_me_api_me_export_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/support":{"get":{"tags":["Service"],"summary":"Help and support content","description":"Help content: contacts, emergency guidance, links and FAQs. Organisations replace it with their own via the admin console.","operationId":"support_api_support_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/support":{"put":{"tags":["Admin: safety"],"summary":"Replace the help and support content","operationId":"admin_set_support_api_admin_support_put","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupportIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/flags":{"get":{"tags":["Admin: safety"],"summary":"List safety flags","description":"Safety flags raised in conversations (self-harm, harassment, discrimination, violence, abuse, serious legal matters), newest first.","operationId":"admin_flags_api_admin_flags_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/flags/{fid}":{"patch":{"tags":["Admin: safety"],"summary":"Resolve or reopen a safety flag","operationId":"admin_flag_update_api_admin_flags__fid__patch","parameters":[{"name":"fid","in":"path","required":true,"schema":{"type":"string","title":"Fid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/FlagPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users":{"get":{"tags":["Admin: people"],"summary":"List people","operationId":"admin_users_api_admin_users_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","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":["Admin: people"],"summary":"Add a person","description":"Add a person who may sign in, from any email domain. The domain rule (ALLOWED_DOMAINS) only limits self sign-up; an invited person can always sign in. By default they get a welcome email.","operationId":"admin_add_user_api_admin_users_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{email}/welcome":{"post":{"tags":["Admin: people"],"summary":"Send or resend the welcome email","description":"Send (or resend) the welcome email.","operationId":"admin_resend_welcome_api_admin_users__email__welcome_post","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/users/{email}":{"patch":{"tags":["Admin: people"],"summary":"Change role or disable","operationId":"admin_patch_user_api_admin_users__email__patch","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin: people"],"summary":"Delete a person and their data","description":"Delete a person and their data. They can be added again afterwards (as a new account with a clean history).","operationId":"admin_delete_user_api_admin_users__email__delete","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/webhooks":{"get":{"tags":["Admin: webhooks"],"summary":"List webhook endpoints and integrations","operationId":"admin_hooks_api_admin_webhooks_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","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":["Admin: webhooks"],"summary":"Register a webhook endpoint","operationId":"admin_hook_create_api_admin_webhooks_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HookIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/webhooks/{hid}":{"patch":{"tags":["Admin: webhooks"],"summary":"Update or pause a webhook endpoint","operationId":"admin_hook_update_api_admin_webhooks__hid__patch","parameters":[{"name":"hid","in":"path","required":true,"schema":{"type":"string","title":"Hid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HookPatch"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["Admin: webhooks"],"summary":"Delete a webhook endpoint","operationId":"admin_hook_delete_api_admin_webhooks__hid__delete","parameters":[{"name":"hid","in":"path","required":true,"schema":{"type":"string","title":"Hid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/webhooks/{hid}/test":{"post":{"tags":["Admin: webhooks"],"summary":"Send a test event","operationId":"admin_hook_test_api_admin_webhooks__hid__test_post","parameters":[{"name":"hid","in":"path","required":true,"schema":{"type":"string","title":"Hid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/webhooks/{hid}/deliveries":{"get":{"tags":["Admin: webhooks"],"summary":"Recent delivery attempts","operationId":"admin_hook_log_api_admin_webhooks__hid__deliveries_get","parameters":[{"name":"hid","in":"path","required":true,"schema":{"type":"string","title":"Hid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/integrations":{"post":{"tags":["Admin: webhooks"],"summary":"Create an integration key","operationId":"admin_integration_create_api_admin_integrations_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntegrationIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/integrations/{iid}":{"delete":{"tags":["Admin: webhooks"],"summary":"Revoke an integration key","operationId":"admin_integration_delete_api_admin_integrations__iid__delete","parameters":[{"name":"iid","in":"path","required":true,"schema":{"type":"string","title":"Iid"}},{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/knowledge":{"get":{"tags":["Admin: knowledge"],"summary":"Knowledge library status and catalogue","operationId":"admin_knowledge_api_admin_knowledge_get","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/admin/knowledge/sync":{"post":{"tags":["Admin: knowledge"],"summary":"Re-index the knowledge library","operationId":"admin_knowledge_sync_api_admin_knowledge_sync_post","parameters":[{"name":"x-session-token","in":"header","required":false,"schema":{"type":"string","default":"","title":"X-Session-Token"}},{"name":"authorization","in":"header","required":false,"schema":{"type":"string","default":"","title":"Authorization"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"CommitIn":{"properties":{"status":{"anyOf":[{"type":"string","enum":["open","done","dropped"]},{"type":"null"}],"title":"Status"},"text":{"anyOf":[{"type":"string","maxLength":300,"minLength":1},{"type":"null"}],"title":"Text"},"due":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Due","description":"ISO 8601 date or date-time; empty string clears it"},"tz_offset":{"type":"integer","maximum":840.0,"minimum":-840.0,"title":"Tz Offset","default":0}},"type":"object","title":"CommitIn"},"CommitNew":{"properties":{"text":{"type":"string","maxLength":300,"minLength":1,"title":"Text"},"due":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Due"},"tz_offset":{"type":"integer","maximum":840.0,"minimum":-840.0,"title":"Tz Offset","default":0}},"type":"object","required":["text"],"title":"CommitNew"},"DeleteMeIn":{"properties":{"confirm_email":{"type":"string","format":"email","title":"Confirm Email","description":"Type your own email address to confirm"}},"type":"object","required":["confirm_email"],"title":"DeleteMeIn"},"EmailIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"}},"type":"object","required":["email"],"title":"EmailIn"},"FlagPatch":{"properties":{"status":{"type":"string","enum":["open","resolved"],"title":"Status"},"note":{"type":"string","maxLength":500,"title":"Note","default":""}},"type":"object","required":["status"],"title":"FlagPatch"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HookIn":{"properties":{"url":{"type":"string","maxLength":500,"title":"Url"},"events":{"items":{"type":"string"},"type":"array","maxItems":20,"title":"Events"},"description":{"type":"string","maxLength":120,"title":"Description","default":""}},"type":"object","required":["url"],"title":"HookIn"},"HookPatch":{"properties":{"url":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Url"},"events":{"anyOf":[{"items":{"type":"string"},"type":"array","maxItems":20},{"type":"null"}],"title":"Events"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"},"description":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Description"}},"type":"object","title":"HookPatch"},"InboundIn":{"properties":{"email":{"type":"string","format":"email","title":"Email","description":"The leader this conversation belongs to (must exist, or be allowed to sign up)"},"text":{"type":"string","maxLength":4000,"minLength":1,"title":"Text","description":"What the leader said"},"conversation_id":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Conversation Id","description":"Continue an existing conversation; omit to start one"},"topic":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Topic","description":"Optional topic id for a new conversation (see /api/config)"},"voice":{"type":"boolean","title":"Voice","description":"Shorter, speakable reply without markdown","default":false},"async":{"type":"boolean","title":"Async","description":"Return 202 at once; the reply arrives as a conversation.turn webhook","default":false}},"type":"object","required":["email","text"],"title":"InboundIn"},"IntegrationIn":{"properties":{"name":{"type":"string","maxLength":60,"minLength":1,"title":"Name"}},"type":"object","required":["name"],"title":"IntegrationIn"},"LegalIn":{"properties":{"reviewed":{"type":"boolean","title":"Reviewed","default":false},"updated":{"type":"string","maxLength":40,"title":"Updated","default":""},"privacy":{"additionalProperties":true,"type":"object","title":"Privacy"},"terms":{"additionalProperties":true,"type":"object","title":"Terms"}},"type":"object","required":["privacy","terms"],"title":"LegalIn"},"MemoryIn":{"properties":{"memory":{"items":{"type":"string"},"type":"array","maxItems":40,"title":"Memory"}},"type":"object","required":["memory"],"title":"MemoryIn"},"MessageIn":{"properties":{"text":{"type":"string","maxLength":4000,"minLength":1,"title":"Text"},"voice":{"type":"boolean","title":"Voice","default":false},"tz":{"type":"string","maxLength":60,"title":"Tz","description":"Your time zone name, so 'tomorrow at 9' means your tomorrow","default":""},"tz_offset":{"type":"integer","maximum":840.0,"minimum":-840.0,"title":"Tz Offset","description":"Minutes east of UTC","default":0}},"type":"object","required":["text"],"title":"MessageIn"},"PrefsIn":{"properties":{"voice_replies":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Voice Replies","description":"Speak the coach's replies aloud in text chat"},"voice":{"anyOf":[{"type":"string","maxLength":20},{"type":"null"}],"title":"Voice","description":"Coach voice id (see /api/config voices)"},"email_plan":{"anyOf":[{"type":"string","enum":["ask","always","never"]},{"type":"null"}],"title":"Email Plan","description":"Email the coaching plan when a session ends"},"theme":{"anyOf":[{"type":"string","enum":["system","light","dark"]},{"type":"null"}],"title":"Theme","description":"Interface theme; 'system' follows the device"},"look":{"anyOf":[{"type":"string","enum":["original","minimal","executive"]},{"type":"null"}],"title":"Look","description":"Interface style"}},"type":"object","title":"PrefsIn"},"ProfileIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Name"},"role_title":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Role Title"},"organisation":{"anyOf":[{"type":"string","maxLength":120},{"type":"null"}],"title":"Organisation"},"industry":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Industry"},"team_size":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Team Size"},"company_context":{"anyOf":[{"type":"string","maxLength":800},{"type":"null"}],"title":"Company Context","description":"A few lines about the company: what it does, size, stage, culture, current priorities"},"focus":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Focus"},"goals":{"anyOf":[{"type":"string","maxLength":300},{"type":"null"}],"title":"Goals","description":"What they want coaching on (from the first-run survey)"},"style":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Style","description":"direct, balanced or supportive"},"onboarded":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Onboarded","description":"Set once the first-run survey is finished or skipped"},"prefs":{"anyOf":[{"$ref":"#/components/schemas/PrefsIn"},{"type":"null"}]}},"type":"object","title":"ProfileIn"},"ReminderIn":{"properties":{"text":{"type":"string","maxLength":300,"minLength":1,"title":"Text","description":"What to remind you about"},"when":{"type":"string","maxLength":40,"minLength":10,"title":"When","description":"ISO 8601 date-time. Without a zone it is read in your own offset (tz_offset)"},"tz":{"type":"string","maxLength":60,"title":"Tz","description":"Your time zone name, e.g. Europe/London (shown in the email)","default":""},"tz_offset":{"type":"integer","maximum":840.0,"minimum":-840.0,"title":"Tz Offset","description":"Minutes east of UTC","default":0},"commitment_id":{"type":"string","maxLength":40,"title":"Commitment Id","default":""},"conversation_id":{"type":"string","maxLength":40,"title":"Conversation Id","default":""}},"type":"object","required":["text","when"],"title":"ReminderIn"},"RewindIn":{"properties":{"keep":{"type":"integer","maximum":5000.0,"minimum":0.0,"title":"Keep","description":"Number of messages to keep from the start of the conversation"}},"type":"object","required":["keep"],"title":"RewindIn"},"SpeakIn":{"properties":{"text":{"type":"string","maxLength":8000,"minLength":1,"title":"Text"},"sig":{"type":"string","maxLength":64,"minLength":16,"title":"Sig"},"voice":{"type":"string","maxLength":20,"title":"Voice","default":"sia"}},"type":"object","required":["text","sig"],"title":"SpeakIn"},"StartIn":{"properties":{"topic":{"anyOf":[{"type":"string","maxLength":40},{"type":"null"}],"title":"Topic"}},"type":"object","title":"StartIn"},"SupportIn":{"properties":{"title":{"type":"string","maxLength":120,"title":"Title","default":"Help & support"},"intro":{"type":"string","maxLength":1200,"title":"Intro","default":""},"contacts":{"items":{"$ref":"#/components/schemas/SupportItem"},"type":"array","maxItems":12,"title":"Contacts"},"emergency":{"type":"string","maxLength":800,"title":"Emergency","default":""},"links":{"items":{"$ref":"#/components/schemas/SupportItem"},"type":"array","maxItems":20,"title":"Links"},"faqs":{"items":{"additionalProperties":true,"type":"object"},"type":"array","maxItems":30,"title":"Faqs","description":"Items of {q, a}"}},"type":"object","title":"SupportIn"},"SupportItem":{"properties":{"label":{"type":"string","maxLength":120,"title":"Label","default":""},"detail":{"type":"string","maxLength":300,"title":"Detail","default":""},"value":{"type":"string","maxLength":200,"title":"Value","description":"An email address or phone number","default":""},"url":{"type":"string","maxLength":500,"title":"Url","default":""}},"type":"object","title":"SupportItem"},"TeamIn":{"properties":{"name":{"type":"string","maxLength":80,"minLength":1,"title":"Name"},"role":{"type":"string","maxLength":100,"title":"Role","description":"Their role, e.g. Head of Platform","default":""},"traits":{"type":"string","maxLength":160,"title":"Traits","description":"Personality and working style, e.g. analytical, quiet in meetings, needs context","default":""},"notes":{"type":"string","maxLength":400,"title":"Notes","description":"Anything else that helps the coach, e.g. strengths, a recent issue, what motivates them","default":""}},"type":"object","required":["name"],"title":"TeamIn"},"UserIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"role":{"type":"string","enum":["user","admin"],"title":"Role","default":"user"},"name":{"type":"string","maxLength":80,"title":"Name","default":""},"send_welcome":{"type":"boolean","title":"Send Welcome","description":"Email them a welcome message with how to sign in","default":true}},"type":"object","required":["email"],"title":"UserIn"},"UserPatch":{"properties":{"role":{"anyOf":[{"type":"string","enum":["user","admin"]},{"type":"null"}],"title":"Role"},"active":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Active"}},"type":"object","title":"UserPatch"},"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"},"VerifyIn":{"properties":{"email":{"type":"string","format":"email","title":"Email"},"code":{"type":"string","maxLength":6,"minLength":6,"pattern":"^\\d{6}$","title":"Code"}},"type":"object","required":["email","code"],"title":"VerifyIn"}}}}