{"openapi":"3.1.0","info":{"title":" API","description":"The  API is used to interact with the  conversation agent.","version":"main-ae18c711fca5b10e4d874d0decccd2b0293545d9"},"servers":[{"url":"https://demo.compass.tabiya.tech/api","description":"The backend server"}],"paths":{"/version":{"get":{"summary":" Get Version","description":"Returns the version of the application","operationId":"_get_version_version_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}}}}}},"/conversations/{session_id}/messages":{"post":{"tags":["conversations"],"summary":" Send Message","description":"The main conversation route used to interact with the agent.","operationId":"_send_message_conversations__session_id__messages_post","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"clear_memory","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Clear Memory"}},{"name":"filter_pii","in":"query","required":false,"schema":{"type":"boolean","default":false,"title":"Filter Pii"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationInput"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Bad Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Request Entity Too Large"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["conversations"],"summary":" Get Conversation History","description":"Endpoint for retrieving the conversation history.","operationId":"_get_conversation_history_conversations__session_id__messages_get","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ConversationResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/messages/{message_id}/reactions":{"put":{"tags":["conversations","reactions"],"summary":" Add Reaction","description":"saves user's reaction to a message","operationId":"_add_reaction_conversations__session_id__messages__message_id__reactions_put","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"the unique identifier of the session","examples":[123],"title":"Session Id"},"description":"the unique identifier of the session"},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","description":"the unique identifier of the message","examples":["message123"],"title":"Message Id"},"description":"the unique identifier of the message"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ReactionRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_ReactionResponse"}}}},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Bad Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["conversations","reactions"],"summary":" Delete Reaction","description":"deletes user's reaction to a message","operationId":"_delete_reaction_conversations__session_id__messages__message_id__reactions_delete","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"the unique identifier of the session","title":"Session Id"},"description":"the unique identifier of the session"},{"name":"message_id","in":"path","required":true,"schema":{"type":"string","description":"the unique identifier of the message","title":"Message Id"},"description":"the unique identifier of the message"}],"responses":{"204":{"description":"Successful Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/feedback":{"patch":{"tags":["conversations","users-feedback"],"summary":"Upsert Feedback Response","description":"create or update user feedback responses for a specific session","operationId":"upsert_feedback_response_conversations__session_id__feedback_patch","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"the unique identifier of the session","examples":[123],"title":"Session Id"},"description":"the unique identifier of the session"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NewFeedbackSpec"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FeedbackResponse"}}}},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/_PayloadTooLargeErrorResponse"}}},"description":"Request Entity Too Large"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Bad Request"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/experiences":{"get":{"tags":["conversations","experiences"],"summary":" Get Experiences","description":"Endpoint for retrieving the experiences of a user.","operationId":"_get_experiences_conversations__session_id__experiences_get","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Weather to return deleted experiences","examples":[true],"default":false,"title":"Deleted"},"description":"Weather to return deleted experiences"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ExperienceResponse"},"title":"Response  Get Experiences Conversations  Session Id  Experiences Get"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/experiences/{experience_uuid}":{"patch":{"tags":["conversations","experiences"],"summary":" Update Experience","description":"Endpoint for editing an experience.","operationId":"_update_experience_conversations__session_id__experiences__experience_uuid__patch","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"experience_uuid","in":"path","required":true,"schema":{"type":"string","description":"The uuid of the experience to edit.","title":"Experience Uuid"},"description":"The uuid of the experience to edit."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateExperienceRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"tags":["conversations","experiences"],"summary":" Delete Experience","description":"Endpoint for deleting an experience.","operationId":"_delete_experience_conversations__session_id__experiences__experience_uuid__delete","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"experience_uuid","in":"path","required":true,"schema":{"type":"string","maxLength":36,"description":"The uuid of the experience to delete.","title":"Experience Uuid"},"description":"The uuid of the experience to delete."}],"responses":{"204":{"description":"Successful Response"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/experiences/{experience_uuid}/unedited":{"get":{"tags":["conversations","experiences"],"summary":" Get Unedited Experience","description":"Endpoint for retrieving the unedited experience by UUID.","operationId":"_get_unedited_experience_conversations__session_id__experiences__experience_uuid__unedited_get","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"experience_uuid","in":"path","required":true,"schema":{"type":"string","description":"The uuid of the experience to retrieve.","title":"Experience Uuid"},"description":"The uuid of the experience to retrieve."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/conversations/{session_id}/experiences/{experience_uuid}/restore":{"post":{"tags":["conversations","experiences"],"summary":" Restore Experience","description":"Endpoint for restoring deleted experiences.","operationId":"_restore_experience_conversations__session_id__experiences__experience_uuid__restore_post","security":[{"firebase":[]}],"parameters":[{"name":"session_id","in":"path","required":true,"schema":{"type":"integer","description":"The session id for the conversation history.","examples":[123],"title":"Session Id"},"description":"The session id for the conversation history."},{"name":"experience_uuid","in":"path","required":true,"schema":{"type":"string","description":"The uuid of the experience to restore.","title":"Experience Uuid"},"description":"The uuid of the experience to restore."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ExperienceResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/preferences":{"get":{"tags":["user-preferences"],"summary":"Get User Preferences","description":"Get user preferences, (language and time when they accepted terms and conditions)","operationId":"get_user_preferences_users_preferences_get","security":[{"firebase":[]}],"parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPreferencesResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["user-preferences"],"summary":"Add User Preferences","description":"Add user preferences, (language and time when they accepted terms and conditions)","operationId":"add_user_preferences_users_preferences_post","security":[{"firebase":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateUserPreferencesRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPreferencesResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Conflict"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"patch":{"tags":["user-preferences"],"summary":" Update User Preferences Handler","description":"Update user preferences","operationId":"_update_user_preferences_handler_users_preferences_patch","security":[{"firebase":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPreferencesUpdateRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPreferencesResponse"}}}},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/preferences/new-session":{"get":{"tags":["user-preferences"],"summary":" Get New Session Handler","description":"Endpoint for starting a new conversation session.","operationId":"_get_new_session_handler_users_preferences_new_session_get","security":[{"firebase":[]}],"parameters":[{"name":"user_id","in":"query","required":true,"schema":{"type":"string","title":"User Id"}}],"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UsersPreferencesResponse"}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/users/{user_id}/sensitive-personal-data":{"post":{"tags":["user-sensitive-personal-data"],"summary":" Handle Sensitive Personal Data","description":"saves or skips user's sensitive personal data. If sensitive_personal_data is None or empty, it is treated as a skip request","operationId":"_handle_sensitive_personal_data_users__user_id__sensitive_personal_data_post","security":[{"firebase":[]}],"parameters":[{"name":"user_id","in":"path","required":true,"schema":{"type":"string","description":"the unique identifier of the user","examples":["1"],"title":"User Id"},"description":"the unique identifier of the user"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateSensitivePersonalDataRequest"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Forbidden"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Conflict"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Bad Request"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Not Found"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/user-invitations/check-status":{"get":{"tags":["user-invitations"],"summary":"Get User Invitation Status","description":"Get the status of the invitation code","operationId":"get_user_invitation_status_user_invitations_check_status_get","parameters":[{"name":"invitation_code","in":"query","required":true,"schema":{"type":"string","title":"Invitation Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetInvitationCodeStatusResponse"}}}},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}},"description":"Internal Server Error"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search/occupations":{"get":{"tags":["Search"],"summary":" Search Occupations","description":"Semantically search for occupations based on a query. \n             The search is based on the embeddings of the occupations, and uses\n             the cosine similarity to find the most similar occupations.","operationId":"_search_occupations_search_occupations_get","security":[{"gcp_api_key":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","maxLength":3000,"description":"The text to search for matching occupations","title":"Query"},"description":"The text to search for matching occupations"},{"name":"top_k","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The number of occupations to return","default":5,"title":"Top K"},"description":"The number of occupations to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccupationsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search/occupations-skills":{"get":{"tags":["Search"],"summary":" Search Occupations","description":"Semantically search for occupations based on a query. \n             The search is based on the embeddings of the occupations, and uses\n             the cosine similarity to find the most similar occupations.","operationId":"_search_occupations_search_occupations_skills_get","security":[{"gcp_api_key":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","maxLength":3000,"description":"The text to search for matching occupations","title":"Query"},"description":"The text to search for matching occupations"},{"name":"top_k","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The number of occupations to return","default":5,"title":"Top K"},"description":"The number of occupations to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/OccupationsSkillsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/search/skills":{"get":{"tags":["Search"],"summary":" Search Skills","description":"Semantically search for skills based on a query. The search is based on the embeddings of the skills, \n             and uses the cosine similarity to find the most similar skills.","operationId":"_search_skills_search_skills_get","security":[{"gcp_api_key":[]}],"parameters":[{"name":"query","in":"query","required":true,"schema":{"type":"string","maxLength":3000,"description":"The text to search for matching skills","title":"Query"},"description":"The text to search for matching skills"},{"name":"top_k","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"The number of skills to return","default":5,"title":"Top K"},"description":"The number of skills to return"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SkillsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/metrics":{"post":{"tags":["metrics"],"summary":"Create Metric Event","description":"create metrics for various events","operationId":"create_metric_event_metrics_post","requestBody":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/_MetricRequest"},"type":"array","title":"Metrics Requests"}}},"required":true},"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"413":{"description":"Request Entity Too Large","content":{"application/json":{"schema":{"$ref":"#/components/schemas/_PayloadTooLargeErrorResponse"}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPErrorResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/features/health":{"get":{"tags":["Features"],"summary":" Features Health Check","description":"Retrieve the health status of the features enabled on the application.\nEach feature is identified by its UUID.\n\nReturns:\n    dict[str, FeatureStatus]: A dictionary where the keys are feature IDs (UUIDs)\n\nFeature Status can be:\n- \"loaded\":\n    The feature is loaded but not initialized. This means it has been imported and is ready to be initialized.\n\n- \"up\": The feature is initialized and running.\n    This means the feature has been successfully initialized and is operational.\n\n- \"failed_to_init\": The feature didn't initialize.\n    This means there was an error during the initialization process of the feature.","operationId":"_features_health_check_features_health_get","responses":{"200":{"description":"Health status of the features","content":{"application/json":{"schema":{"additionalProperties":{"type":"string","enum":["loaded","up","failed_to_init"]},"type":"object","title":"Response  Features Health Check Features Health Get"},"example":{"9394674a-d442-469c-8d05-c586b2e5b3e3":"loaded","b5954ae5-b303-4d62-8562-e0e141ad947c":"up","560dfd10-87d2-4df5-9029-55983796a258":"failed_to_init"}}}}}}}},"components":{"schemas":{"AssociatedSkillEntity":{"properties":{"id":{"type":"string","title":"Id"},"modelId":{"type":"string","title":"Modelid","default":""},"UUID":{"type":"string","title":"Uuid"},"preferredLabel":{"type":"string","title":"Preferredlabel"},"altLabels":{"items":{"type":"string"},"type":"array","title":"Altlabels"},"description":{"type":"string","title":"Description"},"scopeNote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scopenote","default":""},"originUUID":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originuuid","default":""},"UUIDHistory":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Uuidhistory"},"score":{"type":"number","title":"Score"},"skillType":{"type":"string","enum":["skill/competence","knowledge","language","attitude",""],"title":"Skilltype"},"relationType":{"type":"string","enum":["essential","optional",""],"title":"Relationtype"},"signallingValueLabel":{"type":"string","enum":["","low","medium","high"],"title":"Signallingvaluelabel","default":""}},"type":"object","required":["id","UUID","preferredLabel","altLabels","description","score","skillType","relationType"],"title":"AssociatedSkillEntity","description":"Represents a skill entity associated with an occupation.\nit can be either essential or optional. but also can be empty. when we have signaling values.\nfor more info: check platform RelationType enum."},"ConversationInput":{"properties":{"user_input":{"type":"string","title":"User Input"}},"additionalProperties":false,"type":"object","required":["user_input"],"title":"ConversationInput"},"ConversationMessage":{"properties":{"message_id":{"type":"string","title":"Message Id"},"message":{"type":"string","title":"Message"},"sent_at":{"type":"string","format":"date-time","title":"Sent At"},"sender":{"type":"string"},"reaction":{"anyOf":[{"$ref":"#/components/schemas/MessageReaction"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["message_id","message","sent_at","sender"],"title":"ConversationMessage","description":"Represents a message in a conversation."},"ConversationPhaseResponse":{"properties":{"percentage":{"type":"number","title":"Percentage"},"phase":{"$ref":"#/components/schemas/CurrentConversationPhaseResponse"},"current":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Current"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total"}},"additionalProperties":false,"type":"object","required":["percentage","phase"],"title":"ConversationPhaseResponse"},"ConversationResponse":{"properties":{"messages":{"items":{"$ref":"#/components/schemas/ConversationMessage"},"type":"array","title":"Messages"},"conversation_completed":{"type":"boolean","title":"Conversation Completed","default":false},"conversation_conducted_at":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversation Conducted At"},"experiences_explored":{"type":"integer","title":"Experiences Explored","default":0},"current_phase":{"$ref":"#/components/schemas/ConversationPhaseResponse"}},"additionalProperties":false,"type":"object","required":["messages","current_phase"],"title":"ConversationResponse"},"CreateSensitivePersonalDataRequest":{"properties":{"sensitive_personal_data":{"anyOf":[{"$ref":"#/components/schemas/EncryptedSensitivePersonalData"},{"type":"null"}],"description":"The encrypted sensitive personal data. None if skipped."}},"additionalProperties":false,"type":"object","title":"CreateSensitivePersonalDataRequest","description":"Represents the request body for creating sensitive personal data."},"CreateUserPreferencesRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"language":{"type":"string","title":"Language"},"invitation_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invitation Code"},"client_id":{"type":"string","title":"Client Id"}},"additionalProperties":false,"type":"object","required":["user_id","language","client_id"],"title":"CreateUserPreferencesRequest"},"CurrentConversationPhaseResponse":{"type":"string","enum":["INTRO","COLLECT_EXPERIENCES","DIVE_IN","ENDED","UNKNOWN"],"title":"CurrentConversationPhaseResponse"},"DislikeReason":{"type":"string","enum":["INAPPROPRIATE_TONE","OFFENSIVE_LANGUAGE","BIASED","INCORRECT_INFORMATION","IRRELEVANT","CONFUSING"],"title":"DislikeReason","description":"Reasons why a user might dislike a message."},"EncryptedSensitivePersonalData":{"properties":{"rsa_key_id":{"type":"string","maxLength":256,"title":"Rsa Key Id","description":"The key ID of the RSA key used to encrypt the AES key","examples":["key_123"]},"aes_encryption_key":{"type":"string","maxLength":1000,"title":"Aes Encryption Key","description":"The AES key used to encrypt/decrypt the sensitive user dataIt is encrypted with RSA and Base64-encoded","examples":["ZGFzZGE="]},"aes_encrypted_data":{"type":"string","maxLength":35000,"title":"Aes Encrypted Data","description":"The AES encrypted user-sensitive data combined with the IV and the authentication tag. The data is Base64 encoded","examples":["ZGFzZGFkZGFkw=="]}},"type":"object","required":["rsa_key_id","aes_encryption_key","aes_encrypted_data"],"title":"EncryptedSensitivePersonalData","description":"Represents the encrypted sensitive personal data."},"EventType":{"type":"integer","enum":[100001,100002,100003,100004,100005,100006,100007,100008,100009,200001,200002,200003,200004,200005,200006],"title":"EventType"},"ExperienceResponse":{"properties":{"UUID":{"type":"string","title":"Uuid"},"experience_title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Experience Title"},"company":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"timeline":{"anyOf":[{"$ref":"#/components/schemas/Timeline"},{"type":"null"}]},"work_type":{"anyOf":[{"$ref":"#/components/schemas/WorkType"},{"type":"null"}]},"summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Summary"},"exploration_phase":{"type":"string","title":"Exploration Phase","description":"The current sub-phase of the experience exploration. Allowed values: ['NOT_STARTED', 'EXPLORING_SKILLS', 'LINKING_RANKING', 'PROCESSED']","default":"NOT_STARTED","examples":["NOT_STARTED","EXPLORING_SKILLS","LINKING_RANKING","PROCESSED"]},"top_skills":{"items":{"$ref":"#/components/schemas/SkillResponse"},"type":"array","title":"Top Skills"},"remaining_skills":{"items":{"$ref":"#/components/schemas/SkillResponse"},"type":"array","title":"Remaining Skills"}},"additionalProperties":false,"type":"object","required":["UUID","top_skills","remaining_skills"],"title":"ExperienceResponse","description":"Response model for an experience.\nInherits all fields from BaseExperienceEntity and adds exploration_phase and top_skills."},"FeedbackItemResponse":{"properties":{"question_id":{"type":"string","title":"Question Id"},"simplified_answer":{"$ref":"#/components/schemas/SimplifiedAnswer"},"question_text":{"type":"string","title":"Question Text"},"description":{"type":"string","title":"Description"}},"additionalProperties":false,"type":"object","required":["question_id","simplified_answer","question_text","description"],"title":"FeedbackItemResponse","description":"The response model for a single feedback item."},"FeedbackResponse":{"properties":{"id":{"type":"string","title":"Id"},"version":{"$ref":"#/components/schemas/Version"},"feedback_items":{"items":{"$ref":"#/components/schemas/FeedbackItemResponse"},"type":"array","title":"Feedback Items"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"additionalProperties":false,"type":"object","required":["id","version","feedback_items","created_at"],"title":"FeedbackResponse","description":"The response model for a feedback object."},"GetInvitationCodeStatusResponse":{"properties":{"invitation_code":{"type":"string","title":"Invitation Code"},"status":{"$ref":"#/components/schemas/InvitationCodeStatus"},"invitation_type":{"anyOf":[{"$ref":"#/components/schemas/InvitationType"},{"type":"null"}]},"sensitive_personal_data_requirement":{"$ref":"#/components/schemas/SensitivePersonalDataRequirement"}},"additionalProperties":false,"type":"object","required":["invitation_code","status","sensitive_personal_data_requirement"],"title":"GetInvitationCodeStatusResponse"},"HTTPErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail"}},"type":"object","required":["detail"],"title":"HTTPErrorResponse","description":"HTTPErrorResponse class is a Pydantic model class that represents the response body of an HTTP error response."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InvitationCodeStatus":{"type":"string","enum":["VALID","INVALID"],"title":"InvitationCodeStatus"},"InvitationType":{"type":"string","enum":["LOGIN","REGISTER"],"title":"InvitationType"},"MessageReaction":{"properties":{"id":{"type":"string","title":"Id"},"kind":{"allOf":[{"$ref":"#/components/schemas/ReactionKind"}],"description":"Must be one of: LIKED, DISLIKED"}},"additionalProperties":false,"type":"object","required":["id","kind"],"title":"MessageReaction","description":"Response model for reactions in ConversationMessage. Only exposes id and kind."},"NewFeedbackItemSpec":{"properties":{"question_id":{"type":"string","title":"Question Id"},"simplified_answer":{"$ref":"#/components/schemas/SimplifiedAnswer"}},"additionalProperties":false,"type":"object","required":["question_id","simplified_answer"],"title":"NewFeedbackItemSpec","description":"Specification for creating a new feedback item.\nUsed when receiving feedback data from the frontend.\n\nThis model contains only the fields that are provided by the client,\nmaking it clear what data is required when submitting feedback."},"NewFeedbackSpec":{"properties":{"feedback_items_specs":{"items":{"$ref":"#/components/schemas/NewFeedbackItemSpec"},"type":"array","title":"Feedback Items Specs"},"version":{"$ref":"#/components/schemas/NewFeedbackVersionSpec"}},"additionalProperties":false,"type":"object","required":["feedback_items_specs","version"],"title":"NewFeedbackSpec","description":"Specification for creating new feedback.\nUsed when receiving complete feedback submissions from the frontend.\n\nThis model contains all the necessary information to create a new feedback entry,\nincluding the session ID, user ID, and all feedback items."},"NewFeedbackVersionSpec":{"properties":{"frontend":{"type":"string","title":"Frontend"}},"additionalProperties":false,"type":"object","required":["frontend"],"title":"NewFeedbackVersionSpec","description":"A simplified version model used when creating new feedback.\nOnly contains frontend version as backend version is added by the service.\n\nThis model is used in API requests to specify which version of the frontend\nis sending the feedback."},"OccupationEntity":{"properties":{"id":{"type":"string","title":"Id"},"modelId":{"type":"string","title":"Modelid","default":""},"UUID":{"type":"string","title":"Uuid"},"preferredLabel":{"type":"string","title":"Preferredlabel"},"altLabels":{"items":{"type":"string"},"type":"array","title":"Altlabels"},"description":{"type":"string","title":"Description"},"scopeNote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scopenote","default":""},"originUUID":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originuuid","default":""},"UUIDHistory":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Uuidhistory"},"score":{"type":"number","title":"Score"},"code":{"type":"string","title":"Code"}},"type":"object","required":["id","UUID","preferredLabel","altLabels","description","score","code"],"title":"OccupationEntity","description":"Represents an occupation entity."},"OccupationSkillEntity":{"properties":{"occupation":{"$ref":"#/components/schemas/OccupationEntity"},"associated_skills":{"items":{"$ref":"#/components/schemas/AssociatedSkillEntity"},"type":"array","title":"Associated Skills"}},"type":"object","required":["occupation","associated_skills"],"title":"OccupationSkillEntity","description":"Represents an occupation and its associated skills."},"OccupationsResponse":{"properties":{"occupations":{"items":{"$ref":"#/components/schemas/OccupationEntity"},"type":"array","title":"Occupations"}},"type":"object","required":["occupations"],"title":"OccupationsResponse","description":"The response model for the occupations search endpoint."},"OccupationsSkillsResponse":{"properties":{"occupations_skills":{"items":{"$ref":"#/components/schemas/OccupationSkillEntity"},"type":"array","title":"Occupations Skills"}},"type":"object","required":["occupations_skills"],"title":"OccupationsSkillsResponse","description":"The response model for the occupations search endpoint."},"ReactionKind":{"type":"string","enum":["LIKED","DISLIKED"],"title":"ReactionKind","description":"Types of reactions a user can have to a message."},"SensitivePersonalDataRequirement":{"type":"string","enum":["REQUIRED","NOT_REQUIRED","NOT_AVAILABLE"],"title":"SensitivePersonalDataRequirement","description":"Represents the requirement of the sensitive data"},"SimplifiedAnswer":{"properties":{"rating_numeric":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Rating Numeric"},"rating_boolean":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Rating Boolean"},"comment":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Comment"},"selected_options_keys":{"items":{"type":"string"},"type":"array","title":"Selected Options Keys","default":[]}},"additionalProperties":false,"type":"object","title":"SimplifiedAnswer","description":"A simplified version of Answer used for API communication.\nCompared to the full Answer model, this model's selected_options fields\nonly contain the keys of the selected options, rather than the full key-value pairs."},"SkillEntity":{"properties":{"id":{"type":"string","title":"Id"},"modelId":{"type":"string","title":"Modelid","default":""},"UUID":{"type":"string","title":"Uuid"},"preferredLabel":{"type":"string","title":"Preferredlabel"},"altLabels":{"items":{"type":"string"},"type":"array","title":"Altlabels"},"description":{"type":"string","title":"Description"},"scopeNote":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Scopenote","default":""},"originUUID":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Originuuid","default":""},"UUIDHistory":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Uuidhistory"},"score":{"type":"number","title":"Score"},"skillType":{"type":"string","enum":["skill/competence","knowledge","language","attitude",""],"title":"Skilltype"}},"type":"object","required":["id","UUID","preferredLabel","altLabels","description","score","skillType"],"title":"SkillEntity","description":"Represents a skill entity."},"SkillResponse":{"properties":{"UUID":{"type":"string","title":"Uuid"},"preferredLabel":{"type":"string","title":"Preferredlabel"},"altLabels":{"items":{"type":"string"},"type":"array","title":"Altlabels"},"description":{"type":"string","title":"Description"},"orderIndex":{"type":"integer","title":"Orderindex"}},"additionalProperties":false,"type":"object","required":["UUID","preferredLabel","altLabels","description","orderIndex"],"title":"SkillResponse","description":"A skill entity for the user.\n\nIt excludes the fields that are not relevant to the user."},"SkillUpdate":{"properties":{"UUID":{"type":"string","maxLength":36,"title":"Uuid","description":"Unique identifier for the skill."},"preferredLabel":{"type":"string","maxLength":100,"title":"Preferredlabel","description":"The preferred label for the skill."}},"additionalProperties":false,"type":"object","required":["UUID","preferredLabel"],"title":"SkillUpdate","description":"A skill to be updated in an experience."},"SkillsResponse":{"properties":{"skills":{"items":{"$ref":"#/components/schemas/SkillEntity"},"type":"array","title":"Skills"}},"type":"object","required":["skills"],"title":"SkillsResponse","description":"The response model for the skills search endpoint."},"Timeline":{"properties":{"start":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start"},"end":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End"}},"type":"object","title":"Timeline","description":"A class to represent the timeline of an experience."},"TimelineUpdate":{"properties":{"start":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Start","description":"The start date of the experience. If omitted, not updated. If null, cleared.","examples":["A long time ago","2020","2020-01","2020-01-01"]},"end":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"End","description":"The end date of the experience. If omitted, not updated. If null, cleared.","examples":["Present","2021","2021-12","2021-12-31","Present","A long time ago"]}},"type":"object","title":"TimelineUpdate"},"UpdateExperienceRequest":{"properties":{"experience_title":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Experience Title","description":"The title of the experience. If omitted, not updated. If null, cleared.","examples":["Crew Member"]},"timeline":{"anyOf":[{"$ref":"#/components/schemas/TimelineUpdate"},{"type":"null"}],"description":"The timeline of the experience (start/end). If omitted, not updated. If null, cleared."},"company":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Company","description":"The company name. If omitted, not updated. If null, cleared.","examples":["McDonald's"]},"location":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Location","description":"The location of the experience. If omitted, not updated. If null, cleared.","examples":["Cape Town, South Africa"]},"work_type":{"anyOf":[{"type":"string","maxLength":33},{"type":"null"}],"enum":["FORMAL_SECTOR_WAGED_EMPLOYMENT","FORMAL_SECTOR_UNPAID_TRAINEE_WORK","SELF_EMPLOYMENT","UNSEEN_UNPAID",null],"title":"Work Type","description":"The type of work. If omitted, not updated. If null, cleared. If an invalid value is provided, null will be saved.","examples":["FORMAL_SECTOR_WAGED_EMPLOYMENT"]},"summary":{"anyOf":[{"type":"string","maxLength":1000},{"type":"null"}],"title":"Summary","description":"A summary of the experience. If omitted, not updated. If null, cleared.","examples":["Worked as a crew member at McDonald's."]},"top_skills":{"anyOf":[{"items":{"$ref":"#/components/schemas/SkillUpdate"},"type":"array"},{"type":"null"}],"title":"Top Skills","description":"List of skills to update. If omitted, not updated. If null or empty list, all skills will be removed.","examples":[[{"UUID":"skill-uuid-1","preferredLabel":"Customer Service"}]]}},"additionalProperties":false,"type":"object","title":"UpdateExperienceRequest","description":"Request model for updating an experience.\n\n- If a field is omitted, it will not be updated.\n- If a field is present with a null value, it will be cleared (set to None or empty).\n- If a field is present with a value, it will be updated to that value.\n\nSpecial handling for top_skills:\n- If omitted: top_skills will not be updated.\n- If present as null: all skills will be removed (set to empty list).\n- If present as an empty list: all skills will be removed (set to empty list).\n- If present as a list of SkillUpdate: will update to that list."},"UserPreferencesUpdateRequest":{"properties":{"user_id":{"type":"string","title":"User Id"},"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"accepted_tc":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted Tc"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"experiments":{"type":"object","title":"Experiments"}},"additionalProperties":false,"type":"object","required":["user_id"],"title":"UserPreferencesUpdateRequest"},"UsersPreferencesResponse":{"properties":{"language":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Language"},"invitation_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Invitation Code"},"accepted_tc":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Accepted Tc"},"client_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Client Id"},"sessions":{"items":{"type":"integer"},"type":"array","title":"Sessions"},"sensitive_personal_data_requirement":{"$ref":"#/components/schemas/SensitivePersonalDataRequirement"},"experiments":{"type":"object","title":"Experiments"},"user_feedback_answered_questions":{"additionalProperties":{"items":{"type":"string"},"type":"array"},"type":"object","title":"User Feedback Answered Questions","default":{}},"has_sensitive_personal_data":{"type":"boolean","title":"Has Sensitive Personal Data"}},"additionalProperties":false,"type":"object","required":["sensitive_personal_data_requirement","has_sensitive_personal_data"],"title":"UsersPreferencesResponse","description":"Represents the response payload for the user preferences REST API"},"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"},"Version":{"properties":{"frontend":{"type":"string","title":"Frontend"},"backend":{"type":"string","title":"Backend"}},"additionalProperties":false,"type":"object","required":["frontend","backend"],"title":"Version","description":"Stores version information for both frontend and backend.\nUsed internally to track which versions of the application were used when feedback was provided.\n\nThis helps with debugging and ensuring compatibility between different versions\nof the frontend and backend."},"WorkType":{"type":"string","enum":["Formal sector/Wage employment","Formal sector/Unpaid trainee work","Self-employment","Unpaid other"],"title":"WorkType","description":"Represents the work-type of a user experience.\n\nSee https://docs.tabiya.org/overview/projects/inclusive-livelihoods-taxonomy/methodology for more information.\n\n1. Formal sector/Wage employment (link to vanilla esco)\n2. Formal sector/Unpaid trainee work (link to vanilla esco)\n3. Self-employment (link to vanilla esco + micro entrepreneurship)\n4. Unseen (link to esco + unseen)\n    a. Unpaid domestic services for household and family members (Div 3)\n    b. Unpaid caregiving services for household and family members (Div 4)\n    c. Unpaid direct volunteering for other households  (Div 51)\n    d. Unpaid community- and organization-based volunteering (Div 52)"},"_MetricRequest":{"properties":{"event_type":{"$ref":"#/components/schemas/EventType"}},"additionalProperties":true,"type":"object","required":["event_type"],"title":"_MetricRequest","description":"Request type for metrics endpoint"},"_PayloadTooLargeErrorResponse":{"properties":{"detail":{"type":"string","title":"Detail","description":"Error message indicating which field exceeded the size limit"}},"type":"object","required":["detail"],"title":"_PayloadTooLargeErrorResponse","description":"Response model for payload size validation errors."},"_ReactionRequest":{"properties":{"kind":{"$ref":"#/components/schemas/ReactionKind"},"reasons":{"items":{"$ref":"#/components/schemas/DislikeReason"},"type":"array","title":"Reasons"}},"additionalProperties":false,"type":"object","required":["kind","reasons"],"title":"_ReactionRequest","description":"Request model for creating or updating a reaction.\n\n:param kind: Type of reaction (LIKED or DISLIKED)\n:param reasons: List of reasons if the reaction is DISLIKED"},"_ReactionResponse":{"properties":{"id":{"type":"string","title":"Id"},"message_id":{"type":"string","title":"Message Id"},"session_id":{"type":"integer","title":"Session Id"},"kind":{"$ref":"#/components/schemas/ReactionKind"},"reasons":{"items":{"$ref":"#/components/schemas/DislikeReason"},"type":"array","title":"Reasons"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"additionalProperties":false,"type":"object","required":["id","message_id","session_id","kind","reasons","created_at"],"title":"_ReactionResponse","description":"Response model for reactions.\n\n:param id: Unique identifier of the reaction\n:param message_id: ID of the message that was reacted to\n:param session_id: ID of the session containing the message\n:param kind: Type of reaction (LIKED or DISLIKED)\n:param reasons: List of reasons if the reaction is DISLIKED\n:param created_at: When the reaction was created"}},"securitySchemes":{"firebase":{"type":"http","scheme":"bearer"},"gcp_api_key":{"type":"apiKey","in":"header","name":"x-api-key"}}}}