API Reference

Complete API documentation for developers integrating ChatVix programmatically.

Note: Most API endpoints require authentication. For complete API documentation and authentication details, please contact support.

GET/api/widget/config

Get complete chatbot configuration

Parameters

NameTypeRequiredDescription
tenantstringYesYour tenant ID
chatbotstringYesYour chatbot ID

Response

Response Type: object

  • botName - Name of the chatbot
  • businessName - Business name
  • welcomeMessage - Initial greeting message
  • theme - Color and styling configuration
  • knowledgeBaseStatus - Status of knowledge base
  • isActive - Whether chatbot is active

Example

GET https://zionix-widget-api-csharp.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/widget/config?tenant=YOUR_TENANT_ID&chatbot=YOUR_CHATBOT_ID
GET/api/plan/overview

Return normalized plan tier metadata and capabilities for the current tenant

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier (or derived from token)

Response

Response Type: object

  • tier - starter | team | business
  • displayName - Friendly marketing name
  • capabilities - Array of enabled features (chat, tts, live, rag)
  • requiredGcpRoles - Service account roles provisioned for the tenant

Example

GET https://zionix-widget-api-csharp.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/plan/overview
GET/api/tts/voices

List premium voice profiles (male/female) for the 12 supported languages

Parameters

NameTypeRequiredDescription

Response

Response Type: array

  • language - Friendly language name
  • languageCode - Google Cloud TTS code (e.g. en-US)
  • voices - Array with gender, voiceName, ssmlGender

Example

GET https://zionix-widget-api-csharp.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/tts/voices
POST/api/tts/generate

Generate a voice response using the tenant’s allocated service account

Parameters

NameTypeRequiredDescription
tenantIdstringYesTenant ID (body)
chatbotIdstringYesChatbot ID (body)
textstringYesText to convert to speech
languageCodestringNoOverrides default language e.g. en-US
preferredGenderstringNofemale | male

Response

Response Type: object

  • audioContentBase64 - Base64 encoded audio payload
  • mimeType - Suggested MIME type (e.g. audio/mp3)
  • estimatedDurationSeconds - Approximated playback time

Example

POST https://zionix-widget-api-csharp.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/tts/generate
POST/api/live/session

Create a Gemini Live session (beta) for ChatVix Pro tenants

Parameters

NameTypeRequiredDescription
tenantIdstringYesTenant ID (body)
chatbotIdstringYesChatbot ID (body)
languageCodestringNoPreferred locale for the session
sessionTimeoutSecondsnumberNoSession lifetime (default 600)

Response

Response Type: object

  • sessionId - Generated session token
  • websocketUrl - URL to initiate the live stream
  • expiresAt - UTC timestamp when the session expires

Example

POST https://zionix-widget-api-csharp.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/live/session
GET/api/chatbot-webhooks

Get all webhooks configured for your tenant

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier
event_typequeryNoFilter by event type
is_activequeryNoFilter by active status (true/false)

Response

Response Type: array

  • id - Webhook ID
  • event_type - Event type (conversation_started, lead_captured, etc.)
  • webhook_url - URL to send webhook to
  • http_method - HTTP method (POST, GET, etc.)
  • is_active - Whether webhook is active
  • retry_config - Retry configuration

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks
POST/api/chatbot-webhooks

Create a new webhook to receive real-time events from your chatbot

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier
event_typebodyYesEvent type: conversation_started, message_sent, intent_detected, lead_captured, ticket_created, ticket_updated, or conversation_ended
webhook_urlbodyYesURL to send webhook to (must be HTTPS in production, HTTP allowed in development)
http_methodbodyNoHTTP method: GET, POST, PUT, or PATCH (default: POST)
headersbodyNoCustom headers object (e.g., {"Authorization": "Bearer token"})
payload_templatebodyNoJSON template with variables (e.g., {{conversation_id}}, {{lead_id}}, {{event_type}})
retry_configbodyNoRetry configuration: {"max_retries": 3, "backoff": "exponential"}
is_activebodyNoWhether webhook is active (default: true)

Response

Response Type: object

  • id - Created webhook ID
  • event_type - Event type
  • webhook_url - Webhook URL
  • http_method - HTTP method used
  • headers - Custom headers
  • is_active - Active status
  • retry_config - Retry configuration

Example

POST https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks
PUT/api/chatbot-webhooks/:id

Update an existing webhook

Parameters

NameTypeRequiredDescription
idpathYesWebhook ID
webhook_urlbodyNoNew webhook URL
is_activebodyNoActive status
headersbodyNoUpdated headers

Response

Response Type: object

  • id - Webhook ID
  • updated fields - Any fields that were updated

Example

PUT https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks/{webhook_id}
POST/api/chatbot-webhooks/:id/test

Test a webhook by sending a sample event

Parameters

NameTypeRequiredDescription
idpathYesWebhook ID

Response

Response Type: object

  • success - Whether test was successful
  • status_code - HTTP status code from webhook endpoint
  • message - Test result message

Example

POST https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks/{webhook_id}/test
GET/api/chatbot-webhooks/:id/logs

Get webhook delivery logs

Parameters

NameTypeRequiredDescription
idpathYesWebhook ID
limitqueryNoNumber of logs to return (default: 50)
offsetqueryNoOffset for pagination (default: 0)

Response

Response Type: array

  • id - Log entry ID
  • event_type - Event type that triggered the webhook
  • response_status - HTTP status code from webhook endpoint
  • error_message - Error message if delivery failed
  • retry_count - Number of retry attempts
  • created_at - Timestamp of the log entry

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks/{webhook_id}/logs?limit=10&offset=0
DELETE/api/chatbot-webhooks/:id

Delete a webhook

Parameters

NameTypeRequiredDescription
idpathYesWebhook ID

Response

Response Type: object

  • success - Whether deletion was successful
  • message - Confirmation message

Example

DELETE https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/chatbot-webhooks/{webhook_id}
GET/api/hubspot/status

Get HubSpot integration status and connection details

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether integration is connected
  • configured - Whether integration is configured
  • sync_status - Current sync status (idle, syncing, success, failed)
  • last_sync_at - Timestamp of last sync

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/hubspot/status
GET/api/salesforce/status

Get Salesforce integration status and connection details

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether integration is connected
  • configured - Whether integration is configured
  • sync_status - Current sync status (idle, syncing, success, failed)
  • last_sync_at - Timestamp of last sync

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/salesforce/status
GET/api/gmail/status

Get Gmail integration status

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether Gmail is connected
  • email - Connected Gmail address

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/gmail/status
GET/api/slack/status

Get Slack integration status

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether Slack is connected
  • team_name - Connected Slack team name

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/slack/status
GET/api/teams/status

Get Microsoft Teams integration status

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether Teams is connected

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/teams/status
GET/api/outlook/status

Get Outlook Calendar integration status

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • connected - Whether Outlook is connected

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/outlook/status
GET/api/zapier/test

Test Zapier integration connection

Parameters

NameTypeRequiredDescription
X-Tenant-IDheaderYesTenant identifier

Response

Response Type: object

  • success - Whether connection test was successful
  • message - Test result message

Example

GET https://zionix-business-api.purplebay-8affbe7c.eastus.azurecontainerapps.io/api/zapier/test

đŸ“– Need More API Information?

For complete API documentation, authentication details, and advanced endpoints, please contact our support team.

Contact Support