REST API Reference
The SilentChat REST API lets you build automations, integrations, and custom workflows on top of SilentChat. All endpoints accept and return JSON.
Overview
Base URL
https://api.silentchat.de/v1
Versioning
The API is versioned via the URL path. The current stable version is v1. When breaking changes are introduced a new version will be published and the previous version will continue to receive security fixes for at least 12 months.
Content Type
All requests must include the header Content-Type: application/json (except file uploads which use multipart/form-data).
Authentication
Most endpoints require a JWT bearer token or an API key. See the Authentication docs for details.
Auth
| Method | Path | Description |
|---|
POST | /v1/auth/register | Register a new user account. |
POST | /v1/auth/login | Log in and receive access + refresh tokens. |
POST | /v1/auth/refresh | Exchange a refresh token for a new access token. |
POST | /v1/auth/logout | Revoke the current refresh token. |
POST | /v1/auth/verify-email | Verify email with the token sent during registration. |
POST | /v1/auth/forgot-password | Request a password-reset email. |
POST | /v1/auth/reset-password | Reset password using the emailed token. |
Tenants
| Method | Path | Description |
|---|
POST | /v1/tenants | Create a new tenant (organisation). |
GET | /v1/tenants/:id | Retrieve tenant details. |
PATCH | /v1/tenants/:id | Update tenant settings. |
GET | /v1/tenants/:id/members | List tenant members. |
POST | /v1/tenants/:id/members | Invite a member to the tenant. |
DELETE | /v1/tenants/:id/members/:userId | Remove a member from the tenant. |
Conversations
| Method | Path | Description |
|---|
GET | /v1/conversations | List conversations (paginated, filterable). |
GET | /v1/conversations/:id | Retrieve a single conversation. |
PATCH | /v1/conversations/:id | Update conversation (assign, change status, add tags). |
POST | /v1/conversations/:id/close | Close a conversation. |
Messages
| Method | Path | Description |
|---|
GET | /v1/conversations/:id/messages | List messages in a conversation. |
POST | /v1/conversations/:id/messages | Send a message to a conversation. |
Visitors
| Method | Path | Description |
|---|
GET | /v1/visitors | List visitors (paginated). |
GET | /v1/visitors/:id | Retrieve visitor details. |
Contacts
| Method | Path | Description |
|---|
GET | /v1/contacts | List contacts (paginated, searchable). |
POST | /v1/contacts | Create a contact. |
GET | /v1/contacts/:id | Retrieve contact details. |
PATCH | /v1/contacts/:id | Update a contact. |
DELETE | /v1/contacts/:id | Delete a contact. |
Widgets
| Method | Path | Description |
|---|
GET | /v1/widgets | List widgets for the current tenant. |
POST | /v1/widgets | Create a new widget. |
GET | /v1/widgets/:id | Retrieve widget details. |
PATCH | /v1/widgets/:id | Update widget configuration. |
DELETE | /v1/widgets/:id | Delete a widget. |
Domains
| Method | Path | Description |
|---|
GET | /v1/domains | List allowed domains for the current tenant. |
POST | /v1/domains | Add an allowed domain. |
DELETE | /v1/domains/:id | Remove an allowed domain. |
Canned Responses
| Method | Path | Description |
|---|
GET | /v1/canned-responses | List canned responses. |
POST | /v1/canned-responses | Create a canned response. |
PATCH | /v1/canned-responses/:id | Update a canned response. |
DELETE | /v1/canned-responses/:id | Delete a canned response. |
Files
| Method | Path | Description |
|---|
POST | /v1/files | Upload a file (multipart/form-data). |
GET | /v1/files/:id | Retrieve file metadata or download the file. |
Billing
| Method | Path | Description |
|---|
GET | /v1/billing/subscription | Get current subscription details. |
POST | /v1/billing/checkout | Create a Stripe checkout session. |
POST | /v1/billing/portal | Create a Stripe customer portal session. |
GET | /v1/billing/invoices | List invoices. |
GET | /v1/billing/usage | Get current usage and limits. |
Example Request & Response
Below is a complete example of listing conversations for the current tenant:
Request
GET /v1/conversations?status=open&limit=10 HTTP/1.1
Host: api.silentchat.de
Authorization: Bearer eyJhbGciOiJIUzI1NiIs...
Content-Type: application/json
X-Tenant-ID: tn_abc123
Response
{
"data": [
{
"id": "conv_01HXYZ",
"status": "open",
"visitor_id": "vis_9f2c4e1a",
"assigned_to": "usr_d4e5f6",
"last_message": "Hi, I have a question about pricing.",
"last_message_at": "2025-10-12T14:32:00Z",
"created_at": "2025-10-12T14:30:00Z"
}
],
"pagination": {
"total": 42,
"limit": 10,
"offset": 0,
"has_more": true
}
}