Skip to content

Brand Service

Brand management is handled inside apps/app — there is no separate brand microservice. The brand routes live at apps/app/src/v1/brand/ and delegate to service functions in @ce-sdr/lib.

What is a Brand?

A Brand is the core multi-tenant unit. Each user can own multiple Brands. All business data — leads, campaigns, conversations, credits, sender accounts — is scoped to a Brand.

User (1) ──→ (N) UserProfile (1) ──→ (N) Brand

                           ┌───────────────┼────────────────┐
                           ▼               ▼                ▼
                     Leads (groups)    Campaigns      BrandInformation
                           │               │                │
                       Contacts      CampaignSteps     AI persona config

Brand Information

Each Brand has a BrandInformation record that stores the AI persona configuration used when generating campaign messages:

FieldPurpose
personalityWriting tone (e.g., "professional", "casual")
voiceBrand voice description
audienceTarget audience description
idealClientProfileICP definition
biggestChallengesPain points to address
documentUrlReference document (e.g., company deck)
emailsRegistered sender email addresses
socialAccountsLinked social profiles

API Endpoints

MethodPathDescription
POST/v1/brand/Create a new brand
GET/v1/brand/List brands for the authenticated user
GET/v1/brand/:idGet brand details
PATCH/v1/brand/:idUpdate brand name/settings
PUT/v1/brand/:id/informationUpdate AI persona / brand information
DELETE/v1/brand/:idSoft-delete a brand

Full interactive reference: API Documentation