Skip to content

REST API for Looma.chat — AI-powered e-commerce search & chat platform. Manage leads, chats, products, visitors, webhooks, and more.

Contact​

Servers​

https://api.looma.chat/v1Production
http://api.looma.localhost/v1Local

List leads​

GET
/leads

Returns a paginated list of leads with optional filters. Requires leads:read scope. With format=flat each item is a FlatLead.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

site_id

Filter by site ID

Type
integer
status

Filter by lead status

Type
string
Valid values
"new""in_progress""done""rejected"
search

Search in lead text, email, phone

Type
string
assigned_to

Filter by assigned operator ID

Type
integer
channel_id

Filter by channel ID

Type
integer
format

Response shape. flat returns every lead as a flat record (the same object the lead.created webhook sends) — contacts, products and site as top-level fields. Omit for the default shape. Any other value returns 422.

Type
string
Valid values
"flat"
date_from

Start date (YYYY-MM-DD)

Type
string
Format
"date"
date_to

End date (YYYY-MM-DD)

Type
string
Format
"date"
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

List of leads

application/json
JSON
{
"success": true,
"data": [
{
"id": 456,
"site_id": 12,
"site_name": "My Shop",
"site_favicon_url": "string",
"session_id": "session_abc123",
"visitor_id": "client_xyz",
"channel_id": 0,
"status": "string",
"lead_text": "Customer interested in Nike Air Max, size 42",
"collected_fields": {
"additionalProperties": "string"
},
"client_name": "John Doe",
"visitor_avatar": "string",
"source": "string",
"channel_name": "string",
"assigned_operator_name": "string",
"assigned_operator_avatar": "string",
"comments_count": 3,
"is_unread": 0,
"created_at": "string",
"updated_at": "string"
}
],
"meta": {
"total": 128,
"total_pages": 5,
"current_page": 1,
"per_page": 30
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Export leads as CSV​

GET
/leads/export

Returns a CSV file with leads data. Max 10,000 rows. Dynamic collected_fields are included as additional columns. Requires leads:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

site_id

Filter by site ID

Type
integer
status
Type
string
Valid values
"new""in_progress""done""rejected"
search
Type
string
date_from

Start date (YYYY-MM-DD)

Type
string
Format
"date"
date_to

End date (YYYY-MM-DD)

Type
string
Format
"date"

Responses​

CSV file

text/csv

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get lead details​

GET
/leads/{id}

Returns full lead details including collected fields, visitor info, and assigned operator. Requires leads:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*

Lead ID

Type
integer
Required

Responses​

Lead details

application/json
JSON
{
"success": true,
"data": {
"id": 456,
"site_id": 12,
"site_name": "My Shop",
"site_favicon_url": "string",
"session_id": "session_abc123",
"visitor_id": "client_xyz",
"channel_id": 0,
"status": "string",
"lead_text": "Customer interested in Nike Air Max, size 42",
"collected_fields": {
"additionalProperties": "string"
},
"client_name": "John Doe",
"visitor_avatar": "string",
"source": "string",
"channel_name": "string",
"assigned_operator_name": "string",
"assigned_operator_avatar": "string",
"comments_count": 3,
"is_unread": 0,
"created_at": "string",
"updated_at": "string"
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Update lead​

PATCH
/leads/{id}

Update lead status or assigned operator. Changes are recorded in lead history. Requires leads:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Request Body​

application/json
JSON
{
"status": "string",
"assigned_operator_id": 0
}

Responses​

Lead updated

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Get lead comments​

GET
/leads/{id}/comments

Returns comments for a lead, ordered by creation date. Requires leads:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

List of comments

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Add lead comment​

POST
/leads/{id}/comments

Add a comment to a lead. Requires leads:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Request Body​

application/json
JSON
{
"text": "string"
}

Responses​

Comment added

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Get lead history​

GET
/leads/{id}/history

Returns change history for a lead (status changes, assignments). Requires leads:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

Lead history

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


List chat sessions​

GET
/chats

Returns a paginated list of chat sessions with filters. Requires chats:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

site_id

Filter by site ID

Type
integer
channel_id

Filter by channel

Type
integer
status
Type
string
Valid values
"ai""waiting_operator""operator""closed"
search

Search in messages

Type
string
unread_only
Type
boolean
date_from

Start date (YYYY-MM-DD)

Type
string
Format
"date"
date_to

End date (YYYY-MM-DD)

Type
string
Format
"date"
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

List of chats

application/json
JSON
{
"success": true,
"data": [
{
"session_id": "session_abc123",
"site_id": 0,
"site_name": "string",
"site_favicon_url": "string",
"channel_id": 0,
"channel_name": "string",
"visitor_id": "string",
"client_name": "string",
"chat_status": "string",
"source": "string",
"message_count": 0,
"first_message_at": "string",
"last_message_at": "string",
"last_message_sender_type": "string",
"last_message_preview": "string",
"unread_messages_count": 0,
"is_unread": 0,
"country_code": "string",
"country_name": "string",
"city": "string",
"region": "string",
"utm_source": "string",
"utm_medium": "string",
"utm_campaign": "string",
"avatar_icon": "string",
"avatar_url": "string",
"assigned_operator_name": "string",
"assigned_operator_avatar": "string",
"is_direct_chat": 0,
"products_per_search": 0,
"viewing_operators": [
{
"operator_name": "string",
"operator_avatar": "string"
}
]
}
],
"meta": {
"total": 128,
"total_pages": 5,
"current_page": 1,
"per_page": 30
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get chat session​

GET
/chats/{session_id}

Returns chat session details including visitor info and status. Requires chats:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*

Session ID (e.g. session_xxx or tg_1_12345)

Type
string
Required

Responses​

Chat session

application/json
JSON
{
"success": true,
"data": {
"session_id": "string",
"site_id": 0,
"channel_id": 0,
"visitor_id": "string",
"client_name": "string",
"status": "string",
"source": "string",
"message_count": 0,
"first_message_at": "string",
"last_message_at": "string",
"country_code": "string",
"country_name": "string",
"city": "string",
"region": "string",
"utm_source": "string",
"utm_medium": "string",
"utm_campaign": "string",
"referrer": "string",
"landing_page": "string",
"visitor_email": "string",
"visitor_phone": "string",
"visitor_display_name": "string",
"operator_name": "string",
"email_enabled": true
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get chat messages​

GET
/chats/{session_id}/messages

Returns paginated messages for a chat session. Requires chats:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*
Type
string
Required

Query Parameters

sender_type

Filter by sender

Type
string
Valid values
"client""ai""operator"
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

Messages list

application/json
JSON
{
"success": true,
"data": [
{
"id": 0,
"event_type": "string",
"sender_type": "string",
"message_text": "string",
"attachments": [
{
"uuid": "a1b2c3d4e5f67890a1b2c3d4e5f67890",
"url": "string",
"name": "photo.jpg",
"size": 0,
"mime_type": "image/jpeg",
"is_image": true
}
],
"operator_name": "string",
"created_at": "string"
}
],
"meta": {
"total": 128,
"total_pages": 5,
"current_page": 1,
"per_page": 30
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Send message​

POST
/chats/{session_id}/messages

Send a message as an operator to a chat session. Requires chats:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*
Type
string
Required

Request Body​

application/json
JSON
{
"text": "string"
}

Responses​

Message sent

application/json
JSON
{
"success": true,
"data": {
"message_id": 0
}
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Transfer chat to operator​

POST
/chats/{session_id}/transfer

Transfer a chat session from AI to operator mode. Requires chats:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*
Type
string
Required

Responses​

Chat transferred

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Close chat session​

POST
/chats/{session_id}/close

Close an active chat session. Requires chats:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*
Type
string
Required

Responses​

Chat closed

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Files​

File upload and retrieval


Upload file to chat​

POST
/chats/{session_id}/files

Upload a file to a chat session. The file is stored on CDN and a message with the attachment is created. Requires chats:write scope. Max 100 MB.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

session_id*
Type
string
Required

Request Body​

multipart/form-data
object

File to upload

Format"binary"

Optional text message to accompany the file

Responses​

File uploaded

application/json
JSON
{
"success": true,
"data": {
"file": {
"uuid": "a1b2c3d4e5f67890a1b2c3d4e5f67890",
"url": "string",
"name": "photo.jpg",
"size": 0,
"mime_type": "image/jpeg",
"is_image": true
},
"message_id": 0
}
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Get file metadata​

GET
/files/{uuid}

Returns file metadata and CDN URL by UUID. Requires chats:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

uuid*

File UUID (32 hex characters)

Type
string
Required
Pattern
"^[a-f0-9]{32}$"

Responses​

File metadata

application/json
JSON
{
"success": true,
"data": {
"uuid": "a1b2c3d4e5f67890a1b2c3d4e5f67890",
"url": "string",
"name": "photo.jpg",
"size": 0,
"mime_type": "image/jpeg",
"is_image": true
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Products​

Product catalog (read-only)


List products​

GET
/products

Returns a paginated list of products for a site. site_id is required. Requires products:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

site_id*

Site ID (required)

Type
integer
Required
availability
Type
string
Valid values
"in stock""out of stock"
search

Search in title, description

Type
string
sort_by

Sort field

Type
string
sort_order
Type
string
Valid values
"asc""desc"
Default
"desc"
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

Products list

application/json
JSON
{
"success": true,
"data": [
{
"id": 0,
"product_id": "string",
"item_group_id": "string",
"title": "string",
"link": "string",
"price": 0,
"sale_price": 0,
"final_price": 0,
"currency": "UAH",
"availability": "string",
"image_link": "string",
"additional_image_links": "string",
"is_main": 0,
"orders_count": 0,
"views_count": 0,
"has_ai_description": 0,
"ai_description": "string",
"variants_count": 0,
"params": "string",
"created_at": "string"
}
],
"meta": {
"total": 128,
"total_pages": 5,
"current_page": 1,
"per_page": 30
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get product details​

GET
/products/{product_id}

Returns a single product by internal ID. site_id query param is required. Requires products:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

product_id*

Internal product ID

Type
integer
Required

Query Parameters

site_id*
Type
integer
Required

Responses​

Product details

application/json
JSON
{
"success": true,
"data": {
"id": 0,
"product_id": "string",
"item_group_id": "string",
"title": "string",
"link": "string",
"price": 0,
"sale_price": 0,
"final_price": 0,
"currency": "UAH",
"availability": "string",
"image_link": "string",
"additional_image_links": "string",
"is_main": 0,
"orders_count": 0,
"views_count": 0,
"has_ai_description": 0,
"ai_description": "string",
"variants_count": 0,
"params": "string",
"created_at": "string"
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Visitors​


List visitors​

GET
/visitors

Returns a paginated list of visitors (contacts) with filters. Requires visitors:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

search

Search by name, email, phone

Type
string
source
Type
string
Valid values
"widget""telegram""viber""facebook""instagram"
city
Type
string
date_from

Start date (YYYY-MM-DD)

Type
string
Format
"date"
date_to

End date (YYYY-MM-DD)

Type
string
Format
"date"
sort_by
Type
string
Valid values
"display_name""email""phone""source""total_sessions""total_messages""first_seen_at""last_seen_at""country_name""city""region"
Default
"last_seen_at"
sort_order
Type
string
Valid values
"asc""desc"
Default
"desc"
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

Visitors list

application/json
JSON
{
"success": true,
"data": [
{
"visitor_id": "client_abc123",
"display_name": "string",
"avatar_url": "string",
"email": "string",
"phone": "string",
"notes": "string",
"source": "string",
"country_name": "string",
"city": "string",
"region": "string",
"total_sessions": 0,
"total_messages": 0,
"first_seen_at": "string",
"last_seen_at": "string",
"utm_source": "string",
"utm_medium": "string",
"utm_campaign": "string",
"landing_page": "string",
"referrer": "string"
}
],
"meta": {
"total": 128,
"total_pages": 5,
"current_page": 1,
"per_page": 30
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get visitor details​

GET
/visitors/{visitor_id}

Returns visitor contact info and activity stats. Requires visitors:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

visitor_id*

Visitor ID

Type
string
Required

Responses​

Visitor details

application/json
JSON
{
"success": true,
"data": {
"visitor_id": "client_abc123",
"display_name": "string",
"avatar_url": "string",
"email": "string",
"phone": "string",
"notes": "string",
"source": "string",
"country_name": "string",
"city": "string",
"region": "string",
"total_sessions": 0,
"total_messages": 0,
"first_seen_at": "string",
"last_seen_at": "string",
"utm_source": "string",
"utm_medium": "string",
"utm_campaign": "string",
"landing_page": "string",
"referrer": "string"
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Update visitor contact info​

PATCH
/visitors/{visitor_id}

Update display name, email, phone, or notes for a visitor. Requires visitors:write scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

visitor_id*
Type
string
Required

Request Body​

application/json
JSON
{
"display_name": "string",
"email": "string",
"phone": "string",
"notes": "string"
}

Responses​

Visitor updated

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Sites​

Site configuration and management


List sites​

GET
/sites

Returns all sites owned by the authenticated client. Requires sites:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

include_stats

Include product counts

Type
string
Valid values
"0""1"
Default
"0"

Responses​

Sites list

application/json
JSON
{
"success": true,
"data": [
{
"id": 0,
"name": "My Shop",
"favicon_url": "string",
"language_code": "uk",
"bot_name": "string",
"bot_avatar_url": "string",
"site_token": "string",
"total_products": 0,
"in_stock_products": 0,
"created_at": "string"
}
]
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get site details​

GET
/sites/{id}

Returns a single site by ID. Requires sites:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

Site details

application/json
JSON
{
"success": true,
"data": {
"id": 0,
"name": "My Shop",
"favicon_url": "string",
"language_code": "uk",
"bot_name": "string",
"bot_avatar_url": "string",
"site_token": "string",
"total_products": 0,
"in_stock_products": 0,
"created_at": "string"
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Channels​

Messaging channels (Telegram, Viber, Facebook, Instagram, Email)


List channels​

GET
/channels

Returns all channels (Telegram, Viber, Facebook, Instagram) for the authenticated client. Requires sites:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Responses​

Channels list

application/json
JSON
{
"success": true,
"data": [
{
"id": 0,
"site_id": 0,
"site_name": "string",
"type": "string",
"name": "Shop Support Bot",
"status": "string",
"settings": {
},
"created_at": "string"
}
]
}

Playground​

Server
Authorization

Samples​


Get channel details​

GET
/channels/{id}

Returns a single channel by ID. Requires sites:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

Channel details

application/json
JSON
{
"success": true,
"data": {
"id": 0,
"site_id": 0,
"site_name": "string",
"type": "string",
"name": "Shop Support Bot",
"status": "string",
"settings": {
},
"created_at": "string"
}
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Balance​

Credit balance and usage


Get credit balance​

GET
/balance

Returns current credit balance and USD equivalent. Requires balance:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Responses​

Balance info

application/json
JSON
{
"success": true,
"data": {
"credits": 2500,
"usd_equivalent": 10
}
}

Playground​

Server
Authorization

Samples​


Get usage history​

GET
/balance/usage

Returns credit usage aggregated by date, site, and task type. Requires balance:read scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Query Parameters

period
Type
string
Valid values
"today""week""month""year""all"
Default
"month"
site_id

Filter by site ID

Type
integer
page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

Usage data

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


List webhooks​

GET
/webhooks

Returns all webhooks for the authenticated client. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Responses​

Webhooks list

application/json
JSON
{
"success": true,
"data": [
{
"id": 0,
"url": "string",
"events": [
"string"
],
"site_ids": [
0
],
"description": "string",
"is_active": true,
"failure_count": 0,
"disabled_at": "string",
"last_triggered_at": "string",
"created_at": "string",
"updated_at": "string"
}
]
}

Playground​

Server
Authorization

Samples​


Create webhook​

POST
/webhooks

Create a new outbound webhook. A signing secret is generated automatically and returned once. Max 20 webhooks per client. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Request Body​

application/json
JSON
{
"url": "string",
"events": [
"string"
],
"site_ids": [
0
]
}

Responses​

Webhook created. The secret is returned only once — save it, it cannot be read again.

application/json
JSON
{
"success": true,
"data": {
"id": 0,
"url": "string",
"events": [
"string"
],
"site_ids": [
0
],
"description": "string",
"is_active": true,
"failure_count": 0,
"disabled_at": "string",
"last_triggered_at": "string",
"created_at": "string",
"updated_at": "string",
"secret": "string"
}
}

Playground​

Server
Authorization
Body

Samples​


Delete webhook​

DELETE
/webhooks/{id}

Permanently delete a webhook. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

Webhook deleted

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Update webhook​

PATCH
/webhooks/{id}

Update webhook URL, events, or active status. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Request Body​

application/json
JSON
{
"url": "string",
"events": [
"string"
],
"site_ids": [
0
],
"is_active": true
}

Responses​

Webhook updated

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value
Body

Samples​


Test webhook​

POST
/webhooks/{id}/test

Send a test payload to the webhook URL. Returns the response status and body from the target server. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Responses​

Test result

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Get delivery log​

GET
/webhooks/{id}/deliveries

Returns recent delivery attempts for a webhook with response status and errors. Requires webhooks:manage scope.

Authorizations​

BearerAuth

API key in format lm_xxxxxxxxxxxxxxxx. Get your key at app.looma.chat/integrations.

Type
HTTP (bearer)

Parameters​

Path Parameters

id*
Type
integer
Required

Query Parameters

page

Page number

Type
integer
Minimum
1
Default
1
per_page

Items per page (max 100)

Type
integer
Minimum
1
Maximum
100
Default
30

Responses​

Deliveries list

application/json
JSON
{
"success": true
}

Playground​

Server
Authorization
Variables
Key
Value

Samples​


Powered by VitePress OpenAPI