LexeyLexey
HomePricingDocs
Sign in
Customer Chat API
Basics
  • Getting started
Features
  • Manage tab
  • Knowledge base
  • Conversations
  • Customer chat
  • Skills & automations
  • Quality assurance
  • AI safety
  • Billing & usage
Deployment
  • Embedding your chat
API
  • Customer Chat API
  • Management Chat API
  • Webhook events
  • API key management
  • Streaming guide
  • Agent integration
Help
  • FAQ

Customer Chat API

The Customer Chat API lets your backend create conversations and exchange messages with the support agent on behalf of your users.

Authentication

All requests require a customer API key (lxc_ prefix) in the Authorization header:

Authorization: Bearer lxc_...

Customer API keys are server-side secrets. Do NOT embed them in client-side JavaScript or mobile app bundles. We recommend proxying requests through your application backend.

Base URL

https://lexey.ai/api/v1/customer

Quick start

1. Create a conversation:

1curl -X POST https://lexey.ai/api/v1/customer/conversations \
2 -H "Authorization: Bearer $LEXEY_CUSTOMER_KEY" \
3 -H "Content-Type: application/json"

Response: { "conversationId": "550e8400-..." }

2. Send a message (streamed response):

1curl -N -X POST https://lexey.ai/api/v1/customer/conversations/CONVERSATION_ID/messages \
2 -H "Authorization: Bearer $LEXEY_CUSTOMER_KEY" \
3 -H "Content-Type: application/json" \
4 -d '{"message": "What are your business hours?"}'

3. Retrieve message history:

1curl https://lexey.ai/api/v1/customer/conversations/CONVERSATION_ID/messages \
2 -H "Authorization: Bearer $LEXEY_CUSTOMER_KEY"

SSE stream format

The send message endpoint returns text/event-stream. Each event includes a monotonically incrementing id: field and a data: line:

  • id: 1\ndata: {"type":"delta","text":"chunk"} — incremental text, append to the response
  • id: N\ndata: {"type":"status","status":"escalated"} — conversation state change
  • id: N\ndata: [DONE] — stream complete

For code examples in TypeScript, Python, Go, Ruby, and C#, see the Streaming guide.

Error codes

StatusMeaning
400Invalid request (e.g. message too long)
401Missing or invalid API key
402No active subscription or credits exhausted
403Wrong key type (use lxc_ key)
404Conversation not found
429Conversation message limit reached
500

Product

  • Features
  • Pricing
  • Use Cases

Documentation

  • Getting Started
  • Customer API
  • Management API

Company

  • Sign Up
  • Sign In
  • Terms of Service
  • Privacy Policy
© 2026 Lexey. All rights reserved.