SkyLight Chat
Changelog

Changelog

A record of changes to the SkyLight Chat API.

April 2026

  • GET /api/v1/contacts/segments/{id}/members — Paginated contacts in a segment (same fields as list members). Optional query: per_page (max 100).

v1.5.0 — March 2026

Major expansion of the REST API — 10 new resources and 85+ new endpoints. Webhook coverage expanded to 30 events across 9 resource types.

New endpoints

Tags

  • GET /api/v1/tags — List all tags
  • POST /api/v1/tags — Create a tag
  • GET /api/v1/tags/{id} — Get a tag
  • PUT /api/v1/tags/{id} — Rename a tag
  • DELETE /api/v1/tags/{id} — Delete a tag (removes it from all contacts)
  • POST /api/v1/contacts/{id}/tags — Add a tag to a contact
  • DELETE /api/v1/contacts/{id}/tags/{tag_id} — Remove a tag from a contact

Lists & Segments

  • GET /api/v1/contacts/lists — List all contact lists
  • POST /api/v1/contacts/lists — Create a list
  • GET /api/v1/contacts/lists/{id} — Get a list
  • PUT /api/v1/contacts/lists/{id} — Update a list
  • DELETE /api/v1/contacts/lists/{id} — Delete a list
  • GET /api/v1/contacts/lists/{id}/members — Get list members
  • POST /api/v1/contacts/{id}/lists — Add a contact to a list
  • DELETE /api/v1/contacts/{id}/lists/{list_id} — Remove a contact from a list
  • GET /api/v1/contacts/segments — List all segments
  • POST /api/v1/contacts/segments — Create a segment
  • GET /api/v1/contacts/segments/{id}/members — Get segment members
  • PUT /api/v1/contacts/segments/{id} — Update a segment
  • DELETE /api/v1/contacts/segments/{id} — Delete a segment
  • POST /api/v1/contacts/{id}/segments — Add a contact to a segment
  • DELETE /api/v1/contacts/{id}/segments/{segment_id} — Remove a contact from a segment

AI Agents

  • GET /api/v1/ai-agents — List AI agent personas
  • POST /api/v1/ai-agents — Create an AI agent
  • GET /api/v1/ai-agents/{id} — Get an AI agent
  • PUT /api/v1/ai-agents/{id} — Update an AI agent
  • DELETE /api/v1/ai-agents/{id} — Delete an AI agent
  • POST /api/v1/ai-agents/{id}/set-default — Set as default agent
  • POST /api/v1/ai-agents/{id}/assign — Bulk-assign agent to contacts

Campaigns

  • GET /api/v1/campaigns — List campaigns
  • POST /api/v1/campaigns — Create a campaign
  • GET /api/v1/campaigns/{id} — Get a campaign
  • PUT /api/v1/campaigns/{id} — Update a draft campaign
  • DELETE /api/v1/campaigns/{id} — Delete a draft or cancelled campaign
  • POST /api/v1/campaigns/{id}/start — Start a campaign
  • POST /api/v1/campaigns/{id}/pause — Pause a campaign
  • POST /api/v1/campaigns/{id}/resume — Resume a campaign
  • POST /api/v1/campaigns/{id}/cancel — Cancel a campaign
  • GET /api/v1/campaigns/{id}/contacts — List campaign contacts and delivery status

Support Tickets

  • GET /api/v1/tickets — List tickets
  • POST /api/v1/tickets — Create a ticket
  • GET /api/v1/tickets/{id} — Get a ticket with reply history
  • POST /api/v1/tickets/{id}/reply — Reply to a ticket
  • POST /api/v1/tickets/{id}/close — Close a ticket
  • GET /api/v1/tickets/departments — List available departments

Web Chat

  • GET /api/v1/web-chat/analytics — Get chat widget analytics
  • GET /api/v1/web-chat/sessions — List sessions
  • GET /api/v1/web-chat/sessions/{session_id} — Get session with messages
  • POST /api/v1/web-chat/sessions/{session_id}/take-over — Transfer session to human
  • POST /api/v1/web-chat/sessions/{session_id}/release — Return session to AI
  • POST /api/v1/web-chat/sessions/{session_id}/messages — Send an agent message
  • POST /api/v1/web-chat/sessions/{session_id}/end — End a session

Knowledge Base

  • GET /api/v1/knowledge-base — List knowledge base entries
  • POST /api/v1/knowledge-base — Create a text entry
  • POST /api/v1/knowledge-base/document — Upload documents (PDF, DOCX, XLSX, TXT, CSV) — AI extracts content
  • POST /api/v1/knowledge-base/voice — Upload audio file — Whisper transcription
  • POST /api/v1/knowledge-base/product-catalog — Create product catalog (JSON array or CSV upload)
  • POST /api/v1/knowledge-base/website — Submit website URL for crawling (async)
  • GET /api/v1/knowledge-base/{id}/status — Poll processing/crawl status
  • POST /api/v1/knowledge-base/{id}/products — Add products to an existing catalog
  • DELETE /api/v1/knowledge-base/{id}/products/{product_id} — Remove a product from a catalog
  • GET /api/v1/knowledge-base/{id} — Get an entry with all associated content
  • PUT /api/v1/knowledge-base/{id} — Update an entry (content changes clear cached embeddings)
  • DELETE /api/v1/knowledge-base/{id} — Delete an entry and all associated files

Voice

  • GET /api/v1/voice — Get voice settings and status
  • GET /api/v1/voice/status — Test API key connectivity
  • GET /api/v1/voice/dialects — List supported language dialects
  • PATCH /api/v1/voice/settings — Update voice settings (dialect, language, key, on/off)
  • POST /api/v1/voice/clone — Clone a voice from an audio sample
  • POST /api/v1/voice/preload — Warm up the voice for zero-latency synthesis
  • POST /api/v1/voice/tts — Convert text to speech (returns a public audio URL)
  • DELETE /api/v1/voice — Delete the cloned voice

Channels

  • POST /api/v1/channels/whatsapp/connect — Generate QR code for WhatsApp
  • GET /api/v1/channels/whatsapp/status — Poll connection status
  • POST /api/v1/channels/whatsapp/refresh — Sync status from Unipile
  • POST /api/v1/channels/whatsapp/disconnect — Disconnect WhatsApp
  • POST /api/v1/channels/telegram/connect — Generate QR code for Telegram
  • GET /api/v1/channels/telegram/status — Poll connection status
  • POST /api/v1/channels/telegram/refresh — Sync status from Unipile
  • POST /api/v1/channels/telegram/disconnect — Disconnect Telegram
  • POST /api/v1/channels/instagram/connect — Connect with username and password
  • POST /api/v1/channels/instagram/2fa — Submit 2FA verification code
  • POST /api/v1/channels/instagram/2fa/resend — Resend 2FA code
  • GET /api/v1/channels/instagram/status — Get connection status
  • POST /api/v1/channels/instagram/refresh — Sync status from Unipile
  • POST /api/v1/channels/instagram/disconnect — Disconnect Instagram

Webhooks — 19 new events (was 11, now 30)

  • channel.connected — a channel connects or reconnects
  • channel.disconnected — a channel goes offline
  • channel.error — a channel fails to connect
  • campaign.started — a campaign starts sending
  • campaign.completed — a campaign finishes sending
  • campaign.paused — a campaign is paused
  • campaign.cancelled — a campaign is cancelled
  • campaign.failed — a campaign encounters a critical failure
  • knowledge_base.created — a knowledge base entry is created
  • knowledge_base.updated — a knowledge base entry is updated
  • knowledge_base.deleted — a knowledge base entry is deleted
  • knowledge_base.processing.completed — document/voice/website processing finishes
  • knowledge_base.processing.failed — document/voice/website processing fails
  • ticket.updated — a ticket's details change
  • ticket.closed — a ticket is closed or resolved
  • ai_agent.created — an AI agent persona is created
  • ai_agent.updated — an AI agent persona is updated
  • ai_agent.deleted — an AI agent persona is deleted

Improvements

  • Knowledge Base API now supports all five content types — documents, voice transcriptions, product catalogs, and website scraping are now fully manageable via API (not just text)
  • Channel Management API — connect, refresh, and disconnect WhatsApp, Telegram, and Instagram via API (QR for WhatsApp/Telegram, credentials for Instagram with 2FA support)
  • Webhook coverage expanded from 11 to 30 events — channel status, campaign lifecycle, knowledge base, tickets, and AI agent events all now fire webhooks
  • Contact endpoints now support filtering and listing tags, lists, and segments
  • Global API key fallback supported for voice synthesis — clients can provide their own key or rely on the system key
  • Campaigns support mixed audience targeting: explicit contact IDs, lists, segments, or any combination
  • Ticket creation auto-assigns to the first available department when none is specified

v1.0.0 — March 2026

Initial release of the SkyLight Chat REST API v1 and Webhooks system.

New endpoints

Contacts

  • GET /api/v1/contacts — List contacts with search and filter
  • POST /api/v1/contacts — Create a contact
  • GET /api/v1/contacts/{id} — Get a contact
  • PUT /api/v1/contacts/{id} — Update a contact
  • DELETE /api/v1/contacts/{id} — Delete a contact
  • POST /api/v1/contacts/{id}/blacklist — Toggle blacklist
  • GET /api/v1/contacts/{id}/notes — List notes
  • POST /api/v1/contacts/{id}/notes — Add a note

Messages

  • GET /api/v1/conversations — List conversations
  • GET /api/v1/contacts/{id}/messages — List messages for a contact
  • POST /api/v1/messages/send — Send a message via a connected channel

Bookings

  • GET /api/v1/bookings — List bookings
  • POST /api/v1/bookings — Create a booking
  • GET /api/v1/bookings/{id} — Get a booking
  • PUT /api/v1/bookings/{id} — Update a booking
  • POST /api/v1/bookings/{id}/cancel — Cancel a booking
  • GET /api/v1/bookings/types — List booking types
  • GET /api/v1/bookings/resources — List resources
  • GET /api/v1/bookings/availability — Check available slots

Webhooks

  • GET /api/v1/webhooks — List webhooks
  • POST /api/v1/webhooks — Create a webhook
  • GET /api/v1/webhooks/{id} — Get a webhook
  • PUT /api/v1/webhooks/{id} — Update a webhook
  • DELETE /api/v1/webhooks/{id} — Delete a webhook
  • POST /api/v1/webhooks/{id}/test — Send test event
  • GET /api/v1/webhooks/{id}/deliveries — List delivery logs
  • POST /api/v1/webhooks/{id}/regenerate-secret — Rotate secret
  • GET /api/v1/webhooks/events — List available events

Account

  • GET /api/v1/account — Get account profile
  • PATCH /api/v1/account — Update account profile
  • GET /api/v1/account/subscription — Get subscription & plan details
  • GET /api/v1/account/channels — Get connected channel status

Team

  • GET /api/v1/team — List team members
  • POST /api/v1/team — Create a team member
  • GET /api/v1/team/{id} — Get a team member
  • PUT /api/v1/team/{id} — Update a team member
  • DELETE /api/v1/team/{id} — Delete a team member

Webhook events

11 event types available on launch: contact.created · contact.updated · contact.deleted · message.received · message.sent · booking.created · booking.updated · booking.cancelled · booking.completed · ticket.created · ticket.replied

Security

  • Bearer token authentication (Authorization: Bearer <key>)
  • X-Api-Key header alternative
  • Domain whitelisting per API key
  • HMAC-SHA256 webhook payload signing
  • Rate limiting: 120 requests per minute per key