White-Label Setup
Configure a custom domain, branding, and transactional emails so your clients never see the Voisnap brand.
White-Label Setup
White-labeling ensures your clients only ever see your brand. This covers custom domain setup, logo and color configuration, and transactional email routing.
Custom domain
Your clients will log in at a subdomain of your choosing — typically app.yourdomain.com or portal.yourdomain.com.
DNS setup
Add a CNAME record in your DNS provider:
app.yourdomain.com CNAME agency.voisnap.ai
DNS propagation can take up to 24 hours but usually resolves within 30 minutes.
Configure via API
curl -X POST https://api.voisnap.ai/api/v1/agency/white-label/domain \
-H "Authorization: Bearer vsnp_live_..." \
-H "Content-Type: application/json" \
-d '{
"domain": "app.yourdomain.com",
"verificationMethod": "cname"
}'
Response:
{
"domain": "app.yourdomain.com",
"status": "pending_verification",
"cnameTarget": "agency.voisnap.ai",
"verificationToken": "vsnp-verify-abc123xyz",
"sslStatus": "pending",
"verifiedAt": null
}
SSL certificates are provisioned automatically via Let's Encrypt once the CNAME resolves.
Check domain status
curl https://api.voisnap.ai/api/v1/agency/white-label/domain \
-H "Authorization: Bearer vsnp_live_..."
Response once verified:
{
"domain": "app.yourdomain.com",
"status": "active",
"sslStatus": "active",
"sslExpiresAt": "2026-06-16T00:00:00Z",
"verifiedAt": "2025-06-16T11:30:00Z"
}
Branding
curl -X PUT https://api.voisnap.ai/api/v1/agency/white-label/branding \
-H "Authorization: Bearer vsnp_live_..." \
-H "Content-Type: application/json" \
-d '{
"companyName": "VoiceAI Solutions",
"logoUrl": "https://cdn.yourdomain.com/logo.png",
"logomarkUrl": "https://cdn.yourdomain.com/logomark.png",
"faviconUrl": "https://cdn.yourdomain.com/favicon.ico",
"colors": {
"primary": "#0ea5e9",
"primaryForeground": "#ffffff",
"secondary": "#f0f9ff",
"accent": "#0284c7",
"background": "#ffffff",
"foreground": "#0f172a"
},
"fontFamily": "Inter",
"supportEmail": "support@yourdomain.com",
"supportUrl": "https://yourdomain.com/support",
"privacyPolicyUrl": "https://yourdomain.com/privacy",
"termsOfServiceUrl": "https://yourdomain.com/terms"
}'
Branding fields:
| Field | Description |
|---|---|
companyName | Displayed in the portal header and emails |
logoUrl | Full logo image (recommended: 180×40px SVG or PNG) |
logomarkUrl | Square icon for collapsed sidebar (recommended: 40×40px) |
faviconUrl | Browser favicon (32×32px ICO or PNG) |
colors.primary | Primary action color (buttons, links, highlights) |
supportEmail | "Contact support" links point here |
supportUrl | Optional custom support portal URL |
:::note
The colors object follows the same variable naming as Tailwind CSS. All six colors should be set for consistent theming across light and dark modes.
:::
Transactional emails
All system emails (user invitations, password resets, billing alerts) can come from your domain. Two options:
Option A: Custom SMTP
curl -X PUT https://api.voisnap.ai/api/v1/agency/white-label/email \
-H "Authorization: Bearer vsnp_live_..." \
-H "Content-Type: application/json" \
-d '{
"fromName": "VoiceAI Solutions",
"fromEmail": "noreply@yourdomain.com",
"replyTo": "support@yourdomain.com",
"smtp": {
"host": "smtp.sendgrid.net",
"port": 587,
"username": "apikey",
"password": "SG.your_sendgrid_api_key",
"encryption": "STARTTLS"
}
}'
Option B: DNS-based sending (recommended)
Add these DNS records to allow Voisnap to send emails as your domain:
# SPF record (add to existing SPF or create new TXT record)
yourdomain.com TXT "v=spf1 include:email.voisnap.ai ~all"
# DKIM
vsnp._domainkey.yourdomain.com CNAME vsnp._domainkey.email.voisnap.ai
# DMARC (if not already configured)
_dmarc.yourdomain.com TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc@yourdomain.com"
Configure via API:
curl -X PUT https://api.voisnap.ai/api/v1/agency/white-label/email \
-H "Authorization: Bearer vsnp_live_..." \
-H "Content-Type: application/json" \
-d '{
"fromName": "VoiceAI Solutions",
"fromEmail": "noreply@yourdomain.com",
"replyTo": "support@yourdomain.com",
"sendingMethod": "dns"
}'
Verify email configuration
curl -X POST https://api.voisnap.ai/api/v1/agency/white-label/email/verify \
-H "Authorization: Bearer vsnp_live_..." \
-H "Content-Type: application/json" \
-d '{ "testRecipient": "you@yourdomain.com" }'
Verify everything
After setup, use this checklist:
-
app.yourdomain.comloads the portal with your branding - Your logo appears in the header
- Browser tab shows your favicon
- Test login as a client user — no Voisnap branding visible
- Invitation email arrives from
noreply@yourdomain.com - "Contact support" links point to your support URL
:::warning Check all emails your clients might receive: invitations, password resets, billing alerts, and weekly usage digests. Open each in multiple email clients (Gmail, Outlook) to verify rendering. :::