generated: '2026-09-05' method: derived source: openapi/commsharbor-openapi.json (74 component schemas) note: 'Entity-relationship graph derived from *_id reference fields in the component schemas. The organization is the tenant root: nearly every resource belongs to an organization, and the tenant CRM (contacts, companies, pipelines, stages, deals, activities, tasks) is kept apart from the platform CRM (leads, tasks, activities), which tracks prospective tenants rather than tenant data.' entities: - name: ApiIndex fields: 10 - name: Health fields: 5 - name: User fields: 2 - name: Ok fields: 1 - name: Profile fields: 2 - name: Organization fields: 4 - name: Identity fields: 9 - name: Membership fields: 4 - name: Invitation fields: 6 - name: ApiKey fields: 8 - name: PageCamelAuditEvent fields: 2 - name: AuditEvent fields: 6 - name: ListaDomain fields: 1 - name: Domain fields: 8 - name: Provisioning fields: 2 - name: Delivery fields: 7 - name: Capacity fields: 3 - name: Dispatch fields: 2 - name: ListaDelivery fields: 1 - name: ListaDeliveryEvent fields: 1 - name: DeliveryEvent fields: 4 - name: PageContact fields: 2 - name: Contact fields: 8 - name: PageCompany fields: 2 - name: Company fields: 7 - name: PagePipeline fields: 2 - name: Pipeline fields: 4 - name: PageDeal fields: 2 - name: Deal fields: 12 - name: PageActivity fields: 2 - name: Activity fields: 8 - name: PageTask fields: 2 - name: Task fields: 10 - name: PageStage fields: 2 - name: Stage fields: 6 - name: PageLead fields: 2 - name: Lead fields: 10 - name: PagePlatformTask fields: 2 - name: PlatformTask fields: 9 - name: PagePlatformActivity fields: 2 - name: PlatformActivity fields: 6 - name: Marketing fields: 5 - name: PreferenceToken fields: 4 - name: PreferenceState fields: 3 - name: Send fields: 4 - name: PageContactImport fields: 2 - name: ContactImport fields: 8 - name: ImportError fields: 3 - name: PageImportError fields: 2 - name: PageSuppression fields: 2 - name: Suppression fields: 5 - name: PageAudience fields: 2 - name: Audience fields: 6 - name: PageCamelTemplate fields: 2 - name: Template fields: 9 - name: TemplateVersion fields: 4 - name: ListaTemplateVersion fields: 1 - name: TemplatePreview fields: 4 - name: TemplateExport fields: 7 - name: PageCamelCampaign fields: 2 - name: Campaign fields: 10 - name: CampaignReport fields: 3 - name: MessagingSettings fields: 3 - name: ListaWebhook fields: 1 - name: Webhook fields: 6 - name: BillingPublic fields: 3 - name: BillingCatalog fields: 7 - name: PlanoX402 fields: 13 - name: BillingTenant fields: 4 - name: Operations fields: 3 - name: ListaDataExport fields: 1 - name: DataExport fields: 4 - name: Deletion fields: 4 - name: Metricas fields: 9 relationships: - from: Membership via: organization_id belongs_to: Organization - from: Membership via: user_id belongs_to: User - from: AuditEvent via: actor_user_id belongs_to: actor_user - from: Provisioning via: job_id belongs_to: job - from: Delivery via: domain_id belongs_to: Domain - from: Delivery via: template_id belongs_to: Template - from: Delivery via: ses_message_id belongs_to: ses_message - from: Dispatch via: job_id belongs_to: job - from: Contact via: company_id belongs_to: Company - from: Deal via: pipeline_id belongs_to: Pipeline - from: Deal via: stage_id belongs_to: Stage - from: Deal via: contact_id belongs_to: Contact - from: Deal via: company_id belongs_to: Company - from: Activity via: deal_id belongs_to: Deal - from: Activity via: contact_id belongs_to: Contact - from: Activity via: company_id belongs_to: Company - from: Task via: assignee_user_id belongs_to: assignee_user - from: Task via: deal_id belongs_to: Deal - from: Task via: contact_id belongs_to: Contact - from: Stage via: pipeline_id belongs_to: Pipeline - from: Lead via: organization_id belongs_to: Organization - from: PlatformTask via: lead_id belongs_to: Lead - from: PlatformTask via: assignee_user_id belongs_to: assignee_user - from: PlatformActivity via: lead_id belongs_to: Lead - from: ContactImport via: file_id belongs_to: file - from: Suppression via: contact_id belongs_to: Contact - from: TemplateExport via: template_id belongs_to: Template - from: Campaign via: domain_id belongs_to: Domain - from: Campaign via: audience_id belongs_to: Audience - from: Campaign via: template_id belongs_to: Template - from: PlanoX402 via: chain_id belongs_to: chain