For the complete documentation index, see llms.txt. This page is also available as Markdown.

New Open API

Extended API endpoints for CRM, Orders, Campaigns, Conversations, Contacts, and Agents.

boards

get
/api/crm/boards

List all CRM boards available in your workspace.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Responses
200

Successful response

No content

get/api/crm/boards
GET /api/crm/boards HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Accept: */*

No content

board

get
/api/crm/boards/{id}

Retrieve detailed information about a specific CRM board.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Path parameters
idstringRequired

UUID of the resource.

Responses
200

Successful response

No content

get/api/crm/boards/{id}
GET /api/crm/boards/{id} HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Accept: */*

No content

column

get
/api/crm/boards/{boardId}/columns/{columnId}

Retrieve details of a specific column within a CRM board.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

columnIdstringRequired

UUID of the column within a board.

Responses
200

Successful response

No content

get/api/crm/boards/{boardId}/columns/{columnId}
GET /api/crm/boards/{boardId}/columns/{columnId} HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Accept: */*

No content

column by name

post
/api/crm/boards/{boardId}/columns/by-name

Look up a column within a CRM board by its name instead of UUID.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

Body
namestringOptional

Unique snake_case name for the template, e.g. promo_ramadan. Must match Meta's naming rules (lowercase, no spaces).

Example: Status
Responses
200

Successful response

No content

post/api/crm/boards/{boardId}/columns/by-name
POST /api/crm/boards/{boardId}/columns/by-name HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 17

{
  "name": "Status"
}

No content

items

get
/api/crm/boards/{boardId}/items

List all items (cards/leads) within a CRM board.

Authorizations
Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

Responses
200

Successful response

No content

get/api/crm/boards/{boardId}/items
GET /api/crm/boards/{boardId}/items HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

item with values

post
/api/crm/boards/{boardId}/items

Create a new item (lead/contact card) in a CRM board.

Authorizations
Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

Body
item_namestringOptional

The item name value.

Example: tes default item open api
New TextstringOptional

The New Text value.

Example: test
New Agentsstring[]Optional

The New Agents value.

Example: 90257483-4c57-4a4b-ab51-2c3972ed9dc8
Responses
200

Successful response

No content

post/api/crm/boards/{boardId}/items
POST /api/crm/boards/{boardId}/items HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 113

{
  "item_name": "tes default item open api",
  "New Text": "test",
  "New Agents": [
    "90257483-4c57-4a4b-ab51-2c3972ed9dc8"
  ]
}

No content

items

delete
/api/crm/boards/{boardId}/items

Delete one or more items from a CRM board.

Authorizations
Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

Body
item_idsstring[]Optional

The item ids value.

Example: 36a06fc8-1822-4517-bf4f-4a6665cec044
Responses
200

Successful response

No content

delete/api/crm/boards/{boardId}/items
DELETE /api/crm/boards/{boardId}/items HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 92

{
  "item_ids": [
    "36a06fc8-1822-4517-bf4f-4a6665cec044",
    "663aa920-5041-41d9-87d6-ad793ef771e2"
  ]
}

No content

item

get
/api/crm/boards/{boardId}/items/{id}

Retrieve full details of a specific CRM item, including contact info, conversation data, and pipeline status.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

idstringRequired

UUID of the resource.

Responses
200

Successful response

No content

get/api/crm/boards/{boardId}/items/{id}
GET /api/crm/boards/{boardId}/items/{id} HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Accept: */*

No content

items search

post
/api/crm/boards/{boardId}/items/search

Search for items within a CRM board using filters.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

Body
conditionstringOptional

The condition value.

Example: AND
Responses
200

Successful response

No content

post/api/crm/boards/{boardId}/items/search
POST /api/crm/boards/{boardId}/items/search HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 172

{
  "condition": "AND",
  "search": [
    {
      "column_name": "Test References",
      "operator": "equals",
      "value": [
        "ec2e88e6-ada8-42ce-a246-287bf937fb4e",
        "60fac3cc-2af6-4bcb-abb4-21094cce1892"
      ]
    }
  ]
}

No content

item with values

put
/api/crm/boards/{boardId}/items/{itemId}

Update fields of an existing CRM item.

Authorizations
Path parameters
boardIdstringRequired

UUID of the CRM board. Retrieve available boards via GET /api/crm/boards.

itemIdstringRequired

UUID of the CRM item to update.

Body
item_namestringOptional

The item name value.

Example: tes update
TitlestringOptional

The Title value.

Example: 123
Responses
200

Successful response

No content

put/api/crm/boards/{boardId}/items/{itemId}
PUT /api/crm/boards/{boardId}/items/{itemId} HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 56

{
  "item_name": "tes update",
  "Title": "123",
  "New Agents": []
}

No content

orders

get
/api/orders

Retrieve paginated list of orders.

Authorizations
Query parameters
order_statusstringOptional

The order status value.

Example: pending
payment_statusstringOptional

The payment status value.

Example: paid
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

searchstringOptional

The search value.

Example: .com
sort_fieldstringOptional

The sort field value.

Example: created_at
sort_directionstringOptional

The sort direction value.

Example: desc
include_convstringOptional

The include conv value.

Example: true
inbox_idstringOptional

UUID of the WhatsApp Business inbox this template belongs to. Obtainable via the GET /inboxes endpoint.

pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 10
product_idsstringOptional

The product ids value.

Example: []
export_scopestringOptional

The export scope value.

Example: all_with_filters
Responses
200

Successful response

No content

get/api/orders
GET /api/orders HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

orders

post
/api/orders

Create a new order record linked to a contact or conversation.

Authorizations
Body
payment_methodstringOptional

The payment method value.

Example: xendit
shipping_feeintegerOptional

The shipping fee value.

Example: 19000
discountintegerOptional

The discount value.

Example: 9000
vatintegerOptional

The vat value.

Example: 10000
conversation_idstringOptional

UUID of the conversation to retrieve messages from.

Example: 7bedd2a0-aa76-4237-943c-9a5d58c53561
contact_idstringOptional

UUID of the contact.

Example: ce7b9f99-ac01-4ba5-920b-027ae7315034
phone_numberstringOptional

Business phone number in international format, e.g. 6285695209520.

Example: 623013186730
display_namestringOptional

The display name value.

Example: test
emailstringOptional

Business email address used for login and notifications.

Example: test
notesstringOptional

Optional notes or remarks for the order.

Example: coba coba
addressstringOptional

The address value.

Example: jalan jalan ke pasar minggu
Responses
200

Successful response

No content

post/api/orders
POST /api/orders HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 509

{
  "orders_products": [
    {
      "product_id": "5dc769c3-b7b0-4c13-a8f9-c6402197959f",
      "product_name": "Meja",
      "quantity": 2,
      "price": 12901298
    },
    {
      "product_id": null,
      "product_name": "Kursi",
      "quantity": 1,
      "price": 199000
    }
  ],
  "payment_method": "xendit",
  "shipping_fee": 19000,
  "discount": 9000,
  "vat": 10000,
  "conversation_id": "7bedd2a0-aa76-4237-943c-9a5d58c53561",
  "contact_id": "ce7b9f99-ac01-4ba5-920b-027ae7315034",
  "phone_number": "623013186730",
  "display_name": "test",
  "email": "test",
  "notes": "coba coba",
  "address": "jalan jalan ke pasar minggu"
}

No content

order by id

get
/api/orders/{id}

Retrieve full details of a specific order by its UUID.

Authorizations
Path parameters
idstringRequired

UUID of the resource.

Responses
200

Successful response

No content

get/api/orders/{id}
GET /api/orders/{id} HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

order

put
/api/orders/{id}

Update the status or details of an existing order.

Authorizations
Path parameters
idstringRequired

UUID of the resource.

Body
order_statusstringOptional

The order status value.

Example: pending
payment_statusstringOptional

The payment status value.

Example: pending
custom_invoice_urlstringOptional

The custom invoice url value.

Example: test ganti
invoice_is_sentbooleanOptional

The invoice is sent value.

Example: true
addressstringOptional

The address value.

Example: ruko hampton blok a no.10
notesstringOptional

Optional notes or remarks for the order.

Example: karrrrr
Responses
200

Successful response

No content

put/api/orders/{id}
PUT /api/orders/{id} HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 166

{
  "order_status": "pending",
  "payment_status": "pending",
  "custom_invoice_url": "test ganti",
  "invoice_is_sent": true,
  "address": "ruko hampton blok a no.10",
  "notes": "karrrrr"
}

No content

get messages

get
/api/messages

Retrieve paginated messages with optional filters for date range and conversation.

Query parameters
conversation_idstringOptional

UUID of the conversation to retrieve messages from.

Example: tes
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-08-08
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-08-08
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 10
Responses
200

Successful response

No content

get/api/messages
GET /api/messages HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get summary message with chat credit

get
/api/messages/summary/ai_credits

Retrieve AI credit usage summary for messages within a specified date range.

Authorizations
Query parameters
conversation_idstringOptional

UUID of the conversation to retrieve messages from.

start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-08-08
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-08-12
Responses
200

Successful response

No content

get/api/messages/summary/ai_credits
GET /api/messages/summary/ai_credits HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get agents

get
/api/agents

Retrieve all human agents in your Cekat workspace.

Authorizations
api_keystringRequired

Your Cekat API key. Obtain this by calling POST /register or from your Cekat dashboard under Settings → API.

Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 3
pagestringOptional

Page number for pagination. Starts at 1.

Example: 2
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-19
Responses
200

Successful response

No content

get/api/agents
GET /api/agents HTTP/1.1
Host: api.cekat.ai
api_key: YOUR_API_KEY
Accept: */*

No content

get inboxes

get
/api/inboxes

Retrieve paginated list of WhatsApp Business inboxes connected to your account.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 3
pagestringOptional

Page number for pagination. Starts at 1.

Example: 2
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-30
Responses
200

Successful response

No content

get/api/inboxes
GET /api/inboxes HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get campaigns

get
/api/campaigns

Retrieve paginated list of broadcast campaigns.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 1
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-30
Responses
200

Successful response

No content

get/api/campaigns
GET /api/campaigns HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get campaign message

get
/api/campaigns/{id}/messages

Retrieve the individual messages sent as part of a specific campaign.

Authorizations
Path parameters
idstringRequired

UUID of the resource.

Query parameters
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 2
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Responses
200

Successful response

No content

get/api/campaigns/{id}/messages
GET /api/campaigns/{id}/messages HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

conversation agents assignments

get
/api/conversations/agent-assignments

Retrieve conversation-to-agent assignment records.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 3
pagestringOptional

Page number for pagination. Starts at 1.

Example: 2
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-19
Responses
200

Successful response

No content

get/api/conversations/agent-assignments
GET /api/conversations/agent-assignments HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get agent assignments

get
/api/agent_assignments

Retrieve detailed agent assignment history with date range filtering.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 1000
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-12-06
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-12-08
Responses
200

Successful response

No content

get/api/agent_assignments
GET /api/agent_assignments HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get conversations

get
/api/conversations

Retrieve paginated list of conversations across all inboxes.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 1
pagestringOptional

Page number for pagination. Starts at 1.

Example: 2
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-09-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-10-08
Responses
200

Successful response

No content

get/api/conversations
GET /api/conversations HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

update conversation

put
/api/conversations/{id}

Update conversation properties such as assignee, label, or resolution status.

Path parameters
idstringRequired

UUID of the resource.

Body
assigned_ai_agentstringOptional

The assigned ai agent value.

Example: 96a7a1c3-0754-4407-a86a-8b8727c8799c
Responses
200

Successful response

No content

put/api/conversations/{id}
PUT /api/conversations/{id} HTTP/1.1
Host: api.cekat.ai
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "assigned_ai_agent": "96a7a1c3-0754-4407-a86a-8b8727c8799c"
}

No content

get contacts

get
/api/contacts

Retrieve paginated list of contacts in your CRM.

Authorizations
Query parameters
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 2
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
Responses
200

Successful response

No content

get/api/contacts
GET /api/contacts HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

get templates

get
/api/templates

Retrieve paginated list of WhatsApp message templates with optional date filtering.

Authorizations
Query parameters
pagestringOptional

Page number for pagination. Starts at 1.

Example: 1
limitstringOptional

Number of records per page. Default varies by endpoint.

Example: 1
start_datestringOptional

Filter start date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-10-01
end_datestringOptional

Filter end date in YYYY-MM-DD format (Jakarta/WIB time, UTC+7).

Example: 2025-10-07
Responses
200

Successful response

No content

get/api/templates
GET /api/templates HTTP/1.1
Host: api.cekat.ai
Accept: */*

No content

Last updated