generated: '2026-07-19' method: derived source: openapi/hilos-openapi-original.yml ($ref graph across components.schemas) entities: - Contact - Conversation - FlowExecution - FlowExecutionContact - AccountMember - WhatsAppTemplate id_conventions: Contact: uuid ContactTag: integer AccountMember: integer schema_count: 83 relationships: - from: AccountMemberUser to: TeamSimple via: teams cardinality: has_many - from: AccountMemberUser to: SimpleChannel via: available_channels cardinality: has_many - from: AccountMemberUser to: UserRoleEnum via: role cardinality: has_one - from: ContactDetailRead to: ContactNoteRead via: notes cardinality: has_many - from: ContactDetailRead to: ContactTag via: tags cardinality: has_many - from: ContactDetailRead to: AccountMemberUserBasicRead via: default_assignees cardinality: has_many - from: ContactDetailRead to: InboxContactURL via: inbox_contacts cardinality: has_many - from: ContactDetailReadPublic to: ContactTag via: tags cardinality: has_many - from: ContactDetailReadPublic to: AccountMemberUserBasicRead via: default_assignees cardinality: has_many - from: ContactDetailReadPublic to: InboxContactURL via: inbox_contacts cardinality: has_many - from: ContactListReadPublic to: ContactTag via: tags cardinality: has_many - from: ContactNote to: SimpleUser via: created_by cardinality: has_one - from: ContactNoteRead to: SimpleUser via: created_by cardinality: has_one - from: ConversationEdit to: ConversationStatusEnum via: status cardinality: has_one - from: ConversationEdit to: AccountMemberUserBasicEdit via: assigned cardinality: has_many - from: ConversationEdit to: ConversationTag via: tags cardinality: has_many - from: ConversationReadSimple to: AccountMemberUserBasicRead via: assigned cardinality: has_many - from: ConversationReadSimple to: ConversationTag via: tags cardinality: has_many - from: FlowExecutionContactFilterEdit to: ComparisonEnum via: comparison cardinality: has_one - from: FlowExecutionContactListSimple to: FlowExecutionContactStatusEnum via: status cardinality: has_one - from: FlowExecutionContactReadDetail to: FlowExecutionContactStatusEnum via: status cardinality: has_one - from: FlowExecutionContactReadDetail to: FlowExecutionStepReadDetail via: execution_steps cardinality: has_many - from: FlowExecutionCreateRequest to: FlowExecutionCreateRequestExecuteForEnum via: execute_for cardinality: has_one - from: FlowExecutionCreateRequest to: PatchedContactEdit via: contact_list cardinality: has_many - from: FlowExecutionEdit to: FlowExecutionExecuteForEnum via: execute_for cardinality: has_one - from: FlowExecutionEdit to: InboundTriggerWithEnum via: inbound_trigger_with cardinality: has_one - from: FlowExecutionEdit to: FlowExecutionContactFilterEdit via: contact_filters cardinality: has_many - from: FlowExecutionEdit to: PatchedContactEdit via: contact_list cardinality: has_many - from: FlowExecutionEdit to: FlowExecutionEditSourceEnum via: source cardinality: has_one - from: FlowExecutionList to: FlowExecutionStatusEnum via: status cardinality: has_one - from: FlowExecutionList to: FlowExecutionExecuteForEnum via: execute_for cardinality: has_one - from: FlowExecutionList to: InboundTriggerWithEnum via: inbound_trigger_with cardinality: has_one - from: FlowExecutionList to: FlowExecutionExecutionTypeEnum via: execution_type cardinality: has_one - from: FlowExecutionReadDetail to: FlowExecutionExecuteForEnum via: execute_for cardinality: has_one - from: FlowExecutionReadDetail to: InboundTriggerWithEnum via: inbound_trigger_with cardinality: has_one - from: FlowExecutionReadDetail to: FlowExecutionContactFilterEdit via: contact_filters cardinality: has_many - from: FlowExecutionReadDetail to: FlowExecutionExecutionTypeEnum via: execution_type cardinality: has_one - from: FlowExecutionStepReadDetail to: FlowExecutionStepReadDetailStatusEnum via: status cardinality: has_one - from: FlowExecutionStepReadDetail to: FlowExecutionStepWhatsAppMessage via: messages cardinality: has_many - from: FlowExecutionStepWhatsAppMessage to: WhatsAppMessage via: message cardinality: has_one - from: FlowSimpleRead to: FlowStatusEnum via: status cardinality: has_one - from: FlowStepEdit to: StepConditionalCondition via: conditions cardinality: has_many - from: FlowStepEdit to: AnswerOptionsRenderEnum via: answer_options_render cardinality: has_one - from: FlowStepEdit to: MaxWaitTimeUnitEnum via: max_wait_time_unit cardinality: has_one - from: FlowStepEdit to: FlowStepTimeWindow via: time_windows cardinality: has_many - from: FlowStepEdit to: FlowStepContactUpdateCustomProperty via: contact_custom_properties cardinality: has_many - from: FlowStepEdit to: StepConditionalMultilpePath via: paths cardinality: has_many - from: FlowVersionSimpleRead to: FlowExecutionTypeEnum via: execution_type cardinality: has_one - from: FlowVersionSimpleRead to: FlowSimpleRead via: flow cardinality: has_one - from: PaginatedContactListReadPublicList to: ContactListReadPublic via: results cardinality: has_many - from: PaginatedConversationReadSimpleList to: ConversationReadSimple via: results cardinality: has_many - from: PaginatedFlowExecutionContactListSimpleList to: FlowExecutionContactListSimple via: results cardinality: has_many - from: PaginatedFlowExecutionListList to: FlowExecutionList via: results cardinality: has_many - from: PaginatedWhatsAppTemplateSimpleReadList to: WhatsAppTemplateSimpleRead via: results cardinality: has_many - from: PatchedContactEdit to: ContactNote via: notes cardinality: has_many - from: PatchedContactEdit to: ContactTag via: tags cardinality: has_many - from: PatchedContactEditPublic to: ContactTag via: tags cardinality: has_many - from: PatchedConversationEdit to: ConversationStatusEnum via: status cardinality: has_one - from: PatchedConversationEdit to: AccountMemberUserBasicEdit via: assigned cardinality: has_many - from: PatchedConversationEdit to: ConversationTag via: tags cardinality: has_many - from: SimpleChannel to: ChannelTypeEnum via: channel_type cardinality: has_one - from: SimpleChannel to: ChannelStatusEnum via: status cardinality: has_one - from: SimpleChannel to: ChannelProviderEnum via: channel_provider cardinality: has_one - from: SimpleUser to: UserRoleEnum via: role cardinality: has_one - from: StepConditionalCondition to: ComparisonEnum via: comparison cardinality: has_one - from: StepConditionalMultilpePath to: StepConditionalCondition via: conditions cardinality: has_many - from: WhatsAppMessage to: SimpleUser via: sent_by cardinality: has_one - from: WhatsAppMessage to: WhatsAppTemplateSimpleRead via: whatsapp_template cardinality: has_one - from: WhatsAppMessage to: LocationMessage via: location cardinality: has_one - from: WhatsAppMessage to: ContactMessage via: contacts cardinality: has_many - from: WhatsAppMessageSimple to: SimpleUser via: sent_by cardinality: has_one - from: WhatsAppMessageSimple to: MessageTypeEnum via: msg_type cardinality: has_one - from: WhatsAppTemplateRead to: LanguageEnum via: language cardinality: has_one - from: WhatsAppTemplateRead to: CategoryEnum via: category cardinality: has_one - from: WhatsAppTemplateRead to: WhatsAppTemplateStatusEnum via: status cardinality: has_one - from: WhatsAppTemplateSimpleRead to: LanguageEnum via: language cardinality: has_one - from: WhatsAppTemplateSimpleRead to: CategoryEnum via: category cardinality: has_one - from: WhatsAppTemplateSimpleRead to: WhatsAppTemplateStatusEnum via: status cardinality: has_one