🎨 Reseller Branding Guide

Complete customization guide for white-labeling your Vaja AI dashboard

Overview

As a Vaja reseller, you can completely customize the look and feel of your dashboard to match your brand identity. This guide explains how to rebrand your platform so it appears as your own product.

💡 Pro Tip: Changes made via API are applied immediately. No restart required!

What Can Be Customized?

FREE TIER Included Features

PREMIUM Advanced Features

Method 1: Update Branding via API (Recommended)

Step 1: Get Your JWT Token

Login to your dashboard or use the API:

curl -X POST https://yourcompany.vaja.ai/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "admin@yourcompany.com",
    "password": "your-password"
  }'

Response:

{
  "success": true,
  "user": { ... },
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
⚠️ Important: Save the token value - you'll use it in all subsequent API calls.

Step 2: Get Current Branding Settings

curl https://yourcompany.vaja.ai/api/v1/reseller/branding \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response:

{
  "success": true,
  "branding": {
    "subdomain": "yourcompany",
    "custom_domain": null,
    "custom_domain_verified": false,
    "logo_url": null,
    "favicon_url": null,
    "primary_color": "#3B82F6",
    "secondary_color": "#10B981",
    "company_name": "Your Company Name",
    "support_email": "support@yourcompany.com",
    "support_url": null
  }
}

Step 3: Update Branding

curl -X PUT https://yourcompany.vaja.ai/api/v1/reseller/branding \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "logo_url": "https://yourcompany.com/logo.png",
    "favicon_url": "https://yourcompany.com/favicon.ico",
    "primary_color": "#10B981",
    "secondary_color": "#3B82F6",
    "company_name": "Acme Voice AI",
    "support_email": "support@acmevoice.com",
    "support_url": "https://support.acmevoice.com"
  }'
✨ Success! Changes are applied immediately. Refresh your dashboard to see the new branding.

Branding Options Reference

Logo URL

Best Practices:

  • ✅ Use transparent background (PNG/SVG)
  • ✅ Optimize file size (< 100KB)
  • ✅ Host on a CDN for fast loading
  • ✅ Use high-resolution for retina displays (2x)
  • ✅ Ensure public HTTPS access

Favicon URL

Primary & Secondary Colors

Popular Brand Colors:

Brand Color Hex Code
Salesforce Blue #00A1E0
Stripe Purple #635BFF
Slack Aubergine #4A154B
Twilio Red #F22F46

Color Picker Tools:

Company Name

Support Email & URL

Custom Domain Setup (PREMIUM)

Step 1: Add Your Custom Domain via API

curl -X POST https://yourcompany.vaja.ai/api/v1/reseller/branding/custom-domain \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "custom_domain": "dashboard.acmevoice.com"
  }'

Step 2: Configure DNS Settings

Add a CNAME record in your DNS provider:

DNS Configuration:
Type:   CNAME
Name:   dashboard
Target: vaja.ai
TTL:    3600 (or Auto)

Common DNS Providers:

Step 3: Contact Support for SSL Setup

Once DNS is configured, contact Vaja support at support@vaja.ai with:

⏱️ Timeline: SSL setup usually takes 10-15 minutes after DNS propagates.

Step 4: Verify Setup

# Check DNS propagation
nslookup dashboard.acmevoice.com

# Test HTTPS connection
curl -I https://dashboard.acmevoice.com/health

# Verify SSL certificate
openssl s_client -connect dashboard.acmevoice.com:443

Testing Your Branding

1. Clear Browser Cache

2. Check Branding Elements

Visit your dashboard and verify:

3. Test Across Pages

Verify branding consistency on:

Common Issues & Troubleshooting

Issue: Logo Not Showing

Possible Causes:
  • ❌ URL not accessible (404 error)
  • ❌ CORS blocking the image
  • ❌ HTTP URL instead of HTTPS

Solutions:

# Test if logo URL is accessible
curl -I https://yourcompany.com/logo.png

# Should return: HTTP/2 200
# Content-Type: image/png

Ensure your server allows CORS:

Access-Control-Allow-Origin: *

Issue: Color Not Applying

Possible Causes:
  • ❌ Invalid hex code format
  • ❌ Browser cache showing old color
  • ❌ Missing # symbol

Solutions:

Issue: Custom Domain Not Working

Possible Causes:
  • ❌ DNS not propagated yet (wait 5-60 minutes)
  • ❌ CNAME pointing to wrong target
  • ❌ SSL certificate not installed yet

Check DNS Propagation:

# Using nslookup
nslookup dashboard.acmevoice.com

# Expected output:
# dashboard.acmevoice.com canonical name = vaja.ai

# Online tool
# Visit: https://dnschecker.org/

Complete Rebranding Examples

Example 1: AIGuru (Free Tier with Subdomain)

curl -X PUT https://aiguru.vaja.ai/api/v1/reseller/branding \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "logo_url": "https://aiguru.pro/assets/logo.png",
    "favicon_url": "https://aiguru.pro/favicon.ico",
    "primary_color": "#3B82F6",
    "secondary_color": "#10B981",
    "company_name": "AI Guru",
    "support_email": "support@aiguru.pro",
    "support_url": "https://aiguru.pro"
  }'

Result:

Example 2: Acme Voice AI (Premium with Custom Domain)

# 1. Update branding
curl -X PUT https://acmevoice.vaja.ai/api/v1/reseller/branding \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "logo_url": "https://cdn.acmevoice.com/logo.svg",
    "favicon_url": "https://cdn.acmevoice.com/favicon.ico",
    "primary_color": "#8B5CF6",
    "secondary_color": "#EC4899",
    "company_name": "Acme Voice AI",
    "support_email": "help@acmevoice.com",
    "support_url": "https://support.acmevoice.com"
  }'

# 2. Add custom domain
curl -X POST https://acmevoice.vaja.ai/api/v1/reseller/branding/custom-domain \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "custom_domain": "dashboard.acmevoice.com"
  }'

# 3. Configure DNS (in Cloudflare/GoDaddy/etc)
# Type: CNAME
# Name: dashboard
# Target: vaja.ai

# 4. Contact Vaja support for SSL setup

# 5. Access at https://dashboard.acmevoice.com

Result:

Launch Checklist

Before launching your white-labeled platform:

🚀 Ready to launch! Once all items are checked, your white-labeled platform is ready for customers.

API Reference Summary

Get Current Branding

GET /api/v1/reseller/branding
Authorization: Bearer YOUR_JWT_TOKEN

Update Branding

PUT /api/v1/reseller/branding
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/json

{
  "logo_url": "https://yourcompany.com/logo.png",
  "favicon_url": "https://yourcompany.com/favicon.ico",
  "primary_color": "#10B981",
  "secondary_color": "#3B82F6",
  "company_name": "Your Company Name",
  "support_email": "support@yourcompany.com",
  "support_url": "https://support.yourcompany.com"
}

Set Custom Domain

POST /api/v1/reseller/branding/custom-domain
Authorization: Bearer YOUR_JWT_TOKEN
Content-Type: application/json

{
  "custom_domain": "dashboard.yourcompany.com"
}

Response Format

{
  "success": true,
  "branding": {
    "subdomain": "yourcompany",
    "custom_domain": "dashboard.yourcompany.com",
    "custom_domain_verified": true,
    "logo_url": "https://yourcompany.com/logo.png",
    "favicon_url": "https://yourcompany.com/favicon.ico",
    "primary_color": "#10B981",
    "secondary_color": "#3B82F6",
    "company_name": "Your Company Name",
    "support_email": "support@yourcompany.com",
    "support_url": "https://support.yourcompany.com"
  }
}

Need Help?

Contact Support:

Test Your Setup:

# Health check
curl https://yourcompany.vaja.ai/health

# Login test
curl -X POST https://yourcompany.vaja.ai/api/auth/login \
  -d '{"email":"admin@yourcompany.com","password":"pass"}'

# Branding check
curl https://yourcompany.vaja.ai/api/v1/reseller/branding \
  -H "Authorization: Bearer YOUR_TOKEN"
💬 Questions? Our team is here to help you set up your perfect white-labeled experience!
↑ Back to Top