Getting Started

The sem.chat API allows you to programmatically manage conversations, send messages, and access analytics. All API requests require authentication using an API key.

Base URL

https://api.sem.chat/v1

Authentication

Include your API key in the Authorization header of all requests:

Authorization: Bearer your_api_key_here

Conversations

List Conversations

GET /conversations

Retrieve a list of all conversations for your account.

Parameter Type Description
limit integer Number of results to return (max 100)
offset integer Number of results to skip
status string Filter by status: active, closed, pending

Get Conversation

GET /conversations/{id}

Retrieve details of a specific conversation including all messages.

Create Conversation

POST /conversations

Start a new conversation programmatically.

Messages

Send Message

POST /conversations/{id}/messages

Send a message to an existing conversation.

// Example request body { "content": "Hello, how can I help you today?", "sender": "agent" }

Webhooks

Set up webhooks to receive real-time notifications about conversation events.

Available Events

Event Description
conversation.started A new conversation has been initiated
message.received A new message was received from a visitor
conversation.closed A conversation has been closed
lead.captured Contact information was collected

Rate Limits

API requests are limited to ensure fair usage:

Plan Rate Limit
Trial 100 requests/hour
Pro 1,000 requests/hour
Business 10,000 requests/hour

Plan a secure API integration

Use the API reference to define the minimum data and permissions required for a specific workflow. Keep credentials in a server-side secret store, never in browser code, public repositories, screenshots, or support messages. Separate development and production access, validate every input, handle rate limits and retries with backoff, and log request identifiers without logging sensitive customer content. Test authentication failures, expired credentials, duplicate events, network interruptions, and safe rollback before production. Assign an owner for credential rotation and incident response, then review access regularly and remove permissions or integrations that the team no longer needs.